agent-ide 0.7.5 → 0.8.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.
Files changed (137) hide show
  1. package/dist/core/deadcode/dead-code-remover.d.ts +27 -9
  2. package/dist/core/deadcode/dead-code-remover.d.ts.map +1 -1
  3. package/dist/core/deadcode/dead-code-remover.js +100 -26
  4. package/dist/core/deadcode/dead-code-remover.js.map +1 -1
  5. package/dist/core/move/import-resolver.d.ts +0 -3
  6. package/dist/core/move/import-resolver.d.ts.map +1 -1
  7. package/dist/core/move/import-resolver.js +0 -10
  8. package/dist/core/move/import-resolver.js.map +1 -1
  9. package/dist/core/move-member/index.d.ts +1 -1
  10. package/dist/core/move-member/index.d.ts.map +1 -1
  11. package/dist/core/move-member/index.js.map +1 -1
  12. package/dist/core/move-member/move-member-service.d.ts +2 -0
  13. package/dist/core/move-member/move-member-service.d.ts.map +1 -1
  14. package/dist/core/move-member/move-member-service.js +24 -31
  15. package/dist/core/move-member/move-member-service.js.map +1 -1
  16. package/dist/core/move-member/types.d.ts +48 -23
  17. package/dist/core/move-member/types.d.ts.map +1 -1
  18. package/dist/core/move-member/types.js.map +1 -1
  19. package/dist/core/rename/reference-updater.d.ts.map +1 -1
  20. package/dist/core/rename/reference-updater.js +3 -1
  21. package/dist/core/rename/reference-updater.js.map +1 -1
  22. package/dist/core/shared/symbol-finder.d.ts +39 -11
  23. package/dist/core/shared/symbol-finder.d.ts.map +1 -1
  24. package/dist/core/shared/symbol-finder.js +109 -75
  25. package/dist/core/shared/symbol-finder.js.map +1 -1
  26. package/dist/core/snapshot/snapshot-generator.d.ts +11 -0
  27. package/dist/core/snapshot/snapshot-generator.d.ts.map +1 -1
  28. package/dist/core/snapshot/snapshot-generator.js +117 -5
  29. package/dist/core/snapshot/snapshot-generator.js.map +1 -1
  30. package/dist/infrastructure/formatters/diff-generator.js +93 -26
  31. package/dist/infrastructure/formatters/diff-generator.js.map +1 -1
  32. package/dist/infrastructure/formatters/diff-utils.d.ts +24 -0
  33. package/dist/infrastructure/formatters/diff-utils.d.ts.map +1 -0
  34. package/dist/infrastructure/formatters/diff-utils.js +104 -0
  35. package/dist/infrastructure/formatters/diff-utils.js.map +1 -0
  36. package/dist/infrastructure/formatters/preview-converter.d.ts +2 -0
  37. package/dist/infrastructure/formatters/preview-converter.d.ts.map +1 -1
  38. package/dist/infrastructure/formatters/preview-converter.js +43 -5
  39. package/dist/infrastructure/formatters/preview-converter.js.map +1 -1
  40. package/dist/infrastructure/parser/base.d.ts +2 -6
  41. package/dist/infrastructure/parser/base.d.ts.map +1 -1
  42. package/dist/infrastructure/parser/base.js +1 -16
  43. package/dist/infrastructure/parser/base.js.map +1 -1
  44. package/dist/infrastructure/parser/index.d.ts +2 -0
  45. package/dist/infrastructure/parser/index.d.ts.map +1 -1
  46. package/dist/infrastructure/parser/index.js +1 -0
  47. package/dist/infrastructure/parser/index.js.map +1 -1
  48. package/dist/infrastructure/parser/interface.d.ts +197 -0
  49. package/dist/infrastructure/parser/interface.d.ts.map +1 -1
  50. package/dist/infrastructure/parser/interface.js +13 -0
  51. package/dist/infrastructure/parser/interface.js.map +1 -1
  52. package/dist/interfaces/cli/commands/cycles.command.js +8 -1
  53. package/dist/interfaces/cli/commands/cycles.command.js.map +1 -1
  54. package/dist/interfaces/cli/commands/deadcode.command.js +7 -1
  55. package/dist/interfaces/cli/commands/deadcode.command.js.map +1 -1
  56. package/dist/interfaces/cli/commands/impact.command.js +19 -5
  57. package/dist/interfaces/cli/commands/impact.command.js.map +1 -1
  58. package/dist/interfaces/cli/commands/move-member.command.d.ts.map +1 -1
  59. package/dist/interfaces/cli/commands/move-member.command.js +55 -29
  60. package/dist/interfaces/cli/commands/move-member.command.js.map +1 -1
  61. package/dist/plugins/javascript/code-analyzer.d.ts +68 -0
  62. package/dist/plugins/javascript/code-analyzer.d.ts.map +1 -0
  63. package/dist/plugins/javascript/code-analyzer.js +302 -0
  64. package/dist/plugins/javascript/code-analyzer.js.map +1 -0
  65. package/dist/plugins/javascript/declaration-analyzer.d.ts +58 -0
  66. package/dist/plugins/javascript/declaration-analyzer.d.ts.map +1 -0
  67. package/dist/plugins/javascript/declaration-analyzer.js +367 -0
  68. package/dist/plugins/javascript/declaration-analyzer.js.map +1 -0
  69. package/dist/plugins/javascript/parser.d.ts +21 -36
  70. package/dist/plugins/javascript/parser.d.ts.map +1 -1
  71. package/dist/plugins/javascript/parser.js +55 -321
  72. package/dist/plugins/javascript/parser.js.map +1 -1
  73. package/dist/plugins/javascript/pattern-analyzer.d.ts +33 -0
  74. package/dist/plugins/javascript/pattern-analyzer.d.ts.map +1 -0
  75. package/dist/plugins/javascript/pattern-analyzer.js +142 -0
  76. package/dist/plugins/javascript/pattern-analyzer.js.map +1 -0
  77. package/dist/plugins/javascript/reference-finder.d.ts +38 -0
  78. package/dist/plugins/javascript/reference-finder.d.ts.map +1 -0
  79. package/dist/plugins/javascript/reference-finder.js +210 -0
  80. package/dist/plugins/javascript/reference-finder.js.map +1 -0
  81. package/dist/plugins/javascript/types.d.ts +2 -4
  82. package/dist/plugins/javascript/types.d.ts.map +1 -1
  83. package/dist/plugins/javascript/types.js +4 -12
  84. package/dist/plugins/javascript/types.js.map +1 -1
  85. package/dist/plugins/shared/constants.d.ts +32 -0
  86. package/dist/plugins/shared/constants.d.ts.map +1 -0
  87. package/dist/plugins/shared/constants.js +78 -0
  88. package/dist/plugins/shared/constants.js.map +1 -0
  89. package/dist/plugins/shared/index.d.ts +7 -0
  90. package/dist/plugins/shared/index.d.ts.map +1 -0
  91. package/dist/plugins/shared/index.js +9 -0
  92. package/dist/plugins/shared/index.js.map +1 -0
  93. package/dist/plugins/shared/parser-helpers.d.ts +109 -0
  94. package/dist/plugins/shared/parser-helpers.d.ts.map +1 -0
  95. package/dist/plugins/shared/parser-helpers.js +223 -0
  96. package/dist/plugins/shared/parser-helpers.js.map +1 -0
  97. package/dist/plugins/typescript/declaration-analyzer.d.ts +123 -0
  98. package/dist/plugins/typescript/declaration-analyzer.d.ts.map +1 -0
  99. package/dist/plugins/typescript/declaration-analyzer.js +474 -0
  100. package/dist/plugins/typescript/declaration-analyzer.js.map +1 -0
  101. package/dist/plugins/typescript/dependency-analyzer.d.ts +0 -6
  102. package/dist/plugins/typescript/dependency-analyzer.d.ts.map +1 -1
  103. package/dist/plugins/typescript/dependency-analyzer.js +0 -34
  104. package/dist/plugins/typescript/dependency-analyzer.js.map +1 -1
  105. package/dist/plugins/typescript/index.d.ts +5 -0
  106. package/dist/plugins/typescript/index.d.ts.map +1 -1
  107. package/dist/plugins/typescript/index.js +5 -0
  108. package/dist/plugins/typescript/index.js.map +1 -1
  109. package/dist/plugins/typescript/language-service.d.ts +93 -0
  110. package/dist/plugins/typescript/language-service.d.ts.map +1 -0
  111. package/dist/plugins/typescript/language-service.js +159 -0
  112. package/dist/plugins/typescript/language-service.js.map +1 -0
  113. package/dist/plugins/typescript/parser.d.ts +27 -34
  114. package/dist/plugins/typescript/parser.d.ts.map +1 -1
  115. package/dist/plugins/typescript/parser.js +74 -429
  116. package/dist/plugins/typescript/parser.js.map +1 -1
  117. package/dist/plugins/typescript/pattern-analyzer.d.ts +59 -0
  118. package/dist/plugins/typescript/pattern-analyzer.d.ts.map +1 -0
  119. package/dist/plugins/typescript/pattern-analyzer.js +179 -0
  120. package/dist/plugins/typescript/pattern-analyzer.js.map +1 -0
  121. package/dist/plugins/typescript/reference-finder.d.ts +51 -0
  122. package/dist/plugins/typescript/reference-finder.d.ts.map +1 -0
  123. package/dist/plugins/typescript/reference-finder.js +214 -0
  124. package/dist/plugins/typescript/reference-finder.js.map +1 -0
  125. package/dist/plugins/typescript/scope-analyzer.d.ts +61 -0
  126. package/dist/plugins/typescript/scope-analyzer.d.ts.map +1 -0
  127. package/dist/plugins/typescript/scope-analyzer.js +300 -0
  128. package/dist/plugins/typescript/scope-analyzer.js.map +1 -0
  129. package/dist/plugins/typescript/symbol-extractor.d.ts +5 -0
  130. package/dist/plugins/typescript/symbol-extractor.d.ts.map +1 -1
  131. package/dist/plugins/typescript/symbol-extractor.js +25 -0
  132. package/dist/plugins/typescript/symbol-extractor.js.map +1 -1
  133. package/dist/plugins/typescript/types.d.ts +2 -4
  134. package/dist/plugins/typescript/types.d.ts.map +1 -1
  135. package/dist/plugins/typescript/types.js +4 -12
  136. package/dist/plugins/typescript/types.js.map +1 -1
  137. package/package.json +1 -1
@@ -43,9 +43,25 @@ export declare class DeadCodeRemover {
43
43
  private generatePartialImport;
44
44
  /**
45
45
  * 解析 import 語句(以語句為單位)
46
- * 支援 named import, default import, namespace import, 多行 import
46
+ * 優先使用 Parser AST 解析(精確),fallback 到字串解析(向後相容)
47
+ * @param content 檔案內容
48
+ * @param filePath 檔案路徑(用於取得對應的 Parser)
47
49
  */
48
50
  private parseImportStatements;
51
+ /**
52
+ * 使用 Parser AST 解析 import 語句
53
+ * @returns ImportStatementInfo[] 如果成功,null 如果 Parser 不支援或解析失敗
54
+ */
55
+ private parseImportStatementsWithParser;
56
+ /**
57
+ * 將 Parser 的 ImportDeclaration 轉換為內部的 ImportStatementInfo
58
+ */
59
+ private convertImportDeclaration;
60
+ /**
61
+ * Fallback:使用字串解析 import 語句
62
+ * 保留原有邏輯以確保向後相容
63
+ */
64
+ private parseImportStatementsFallback;
49
65
  /**
50
66
  * 解析單行或合併後的 import 語句
51
67
  */
@@ -60,14 +76,20 @@ export declare class DeadCodeRemover {
60
76
  */
61
77
  private isImportStillUsed;
62
78
  /**
63
- * 移除註解和字串,用於準確檢測符號使用
79
+ * 擴展範圍至完整宣告(包含前導註解和空行)
80
+ * 優先使用 Parser 的 getFullDeclarationRange 方法(AST 精確解析)
81
+ * 若 Parser 不支援或回傳 null,fallback 到字串匹配邏輯
64
82
  */
65
- private removeCommentsAndStrings;
83
+ private expandRangeToFullDeclaration;
66
84
  /**
67
- * 擴展範圍至完整宣告(包含前導註解和空行)
85
+ * 使用字串匹配邏輯擴展範圍(fallback 方法)
68
86
  * 使用清理後的內容進行括號匹配,避免字串/註解中的括號干擾
69
87
  */
70
- private expandRangeToFullDeclaration;
88
+ private expandRangeByStringMatching;
89
+ /**
90
+ * 從檔案路徑取得副檔名
91
+ */
92
+ private getFileExtension;
71
93
  /**
72
94
  * 移除單行中的註解和字串(用於括號匹配)
73
95
  */
@@ -117,10 +139,6 @@ export declare class DeadCodeRemover {
117
139
  * 支援 glob 模式(如 *.test.ts、**\/__tests__/**)和簡單字串匹配
118
140
  */
119
141
  private matchesExcludePattern;
120
- /**
121
- * 逸出正則表達式特殊字符
122
- */
123
- private escapeRegex;
124
142
  /**
125
143
  * 清除快取
126
144
  */
@@ -1 +1 @@
1
- {"version":3,"file":"dead-code-remover.d.ts","sourceRoot":"","sources":["../../../src/core/deadcode/dead-code-remover.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EAKtB,MAAM,YAAY,CAAC;AA6CpB;;GAEG;AACH,qBAAa,eAAe;IAMxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IANjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAGzB,UAAU,EAAE,WAAW,EACvB,cAAc,EAAE,cAAc,EAC/C,OAAO,CAAC,EAAE,sBAAsB;IAMlC;;OAEG;IACG,OAAO,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA+CtF;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkC9E;;OAEG;IACH,OAAO,CAAC,WAAW;IA4BnB;;OAEG;YACW,yBAAyB;IAkCvC;;;OAGG;YACW,qBAAqB;IAyEnC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAkD7B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAuD7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAgEhC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;;OAGG;YACW,iBAAiB;IA2B/B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IA+GpC;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAsBxC;;OAEG;IACH,OAAO,CAAC,WAAW;IA0BnB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA4C7B;;OAEG;YACW,mBAAmB;IAyEjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiCxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;YACW,QAAQ;IAiBtB;;OAEG;YACW,SAAS;IAKvB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,WAAW,EACvB,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,eAAe,CAEjB"}
1
+ {"version":3,"file":"dead-code-remover.d.ts","sourceRoot":"","sources":["../../../src/core/deadcode/dead-code-remover.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EAKtB,MAAM,YAAY,CAAC;AA6CpB;;GAEG;AACH,qBAAa,eAAe;IAMxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IANjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAGzB,UAAU,EAAE,WAAW,EACvB,cAAc,EAAE,cAAc,EAC/C,OAAO,CAAC,EAAE,sBAAsB;IAMlC;;OAEG;IACG,OAAO,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA+CtF;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkC9E;;OAEG;IACH,OAAO,CAAC,WAAW;IA4BnB;;OAEG;YACW,yBAAyB;IAoCvC;;;OAGG;YACW,qBAAqB;IA0EnC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAkD7B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAevC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA8BhC;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAuDrC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAgEhC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;;OAGG;YACW,iBAAiB;IA2B/B;;;;OAIG;YACW,4BAA4B;IAsC1C;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IA+GnC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAsBxC;;OAEG;IACH,OAAO,CAAC,WAAW;IA0BnB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA4C7B;;OAEG;YACW,mBAAmB;IAyEjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiCxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;YACW,QAAQ;IAiBtB;;OAEG;YACW,SAAS;IAKvB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,WAAW,EACvB,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,eAAe,CAEjB"}
@@ -131,7 +131,7 @@ export class DeadCodeRemover {
131
131
  continue;
132
132
  }
133
133
  // 擴展範圍以包含完整宣告(含 JSDoc 註解)
134
- const expandedRange = this.expandRangeToFullDeclaration(content, item.location.range, item.type);
134
+ const expandedRange = await this.expandRangeToFullDeclaration(content, item.location.range, item.type, item.name, item.location.filePath);
135
135
  const originalCode = this.extractCode(content, expandedRange);
136
136
  operations.push({
137
137
  filePath: item.location.filePath,
@@ -159,7 +159,8 @@ export class DeadCodeRemover {
159
159
  continue;
160
160
  }
161
161
  // 解析 import 語句(以語句為單位)
162
- const importStatements = this.parseImportStatements(content);
162
+ // 優先使用 Parser 的 AST 解析,fallback 到字串解析
163
+ const importStatements = this.parseImportStatements(content, filePath);
163
164
  const fileRemovals = removals.filter(r => r.filePath === filePath);
164
165
  for (const stmt of importStatements) {
165
166
  // 找出此 import 中需要清理的符號
@@ -260,9 +261,68 @@ export class DeadCodeRemover {
260
261
  }
261
262
  /**
262
263
  * 解析 import 語句(以語句為單位)
263
- * 支援 named import, default import, namespace import, 多行 import
264
+ * 優先使用 Parser AST 解析(精確),fallback 到字串解析(向後相容)
265
+ * @param content 檔案內容
266
+ * @param filePath 檔案路徑(用於取得對應的 Parser)
264
267
  */
265
- parseImportStatements(content) {
268
+ parseImportStatements(content, filePath) {
269
+ // 1. 優先嘗試使用 Parser 的 getImportDeclarations 方法
270
+ const parserResult = this.parseImportStatementsWithParser(content, filePath);
271
+ if (parserResult) {
272
+ return parserResult;
273
+ }
274
+ // 2. Fallback:使用原有的字串解析邏輯
275
+ return this.parseImportStatementsFallback(content);
276
+ }
277
+ /**
278
+ * 使用 Parser AST 解析 import 語句
279
+ * @returns ImportStatementInfo[] 如果成功,null 如果 Parser 不支援或解析失敗
280
+ */
281
+ parseImportStatementsWithParser(content, filePath) {
282
+ const parser = this.parserRegistry.getParser(this.getFileExtension(filePath));
283
+ if (!parser?.getImportDeclarations) {
284
+ return null;
285
+ }
286
+ const declarations = parser.getImportDeclarations(content);
287
+ if (!declarations) {
288
+ return null;
289
+ }
290
+ // 將 Parser 的 ImportDeclaration 轉換為內部的 ImportStatementInfo
291
+ return declarations.map(decl => this.convertImportDeclaration(decl));
292
+ }
293
+ /**
294
+ * 將 Parser 的 ImportDeclaration 轉換為內部的 ImportStatementInfo
295
+ */
296
+ convertImportDeclaration(decl) {
297
+ const symbols = [];
298
+ // 處理 default import
299
+ if (decl.defaultImport) {
300
+ symbols.push({ name: decl.defaultImport, isDefault: true });
301
+ }
302
+ // 處理 namespace import
303
+ if (decl.namespaceImport) {
304
+ symbols.push({ name: decl.namespaceImport, isNamespace: true });
305
+ }
306
+ // 處理 named imports
307
+ for (const named of decl.namedImports) {
308
+ symbols.push({
309
+ name: named.name,
310
+ alias: named.alias
311
+ });
312
+ }
313
+ return {
314
+ statement: decl.rawStatement,
315
+ range: decl.range,
316
+ symbols,
317
+ hasDefault: !!decl.defaultImport,
318
+ isNamespace: !!decl.namespaceImport
319
+ };
320
+ }
321
+ /**
322
+ * Fallback:使用字串解析 import 語句
323
+ * 保留原有邏輯以確保向後相容
324
+ */
325
+ parseImportStatementsFallback(content) {
266
326
  const statements = [];
267
327
  const lines = content.split('\n');
268
328
  // 用於處理多行 import
@@ -407,27 +467,40 @@ export class DeadCodeRemover {
407
467
  return remainingRefs.length > 0;
408
468
  }
409
469
  /**
410
- * 移除註解和字串,用於準確檢測符號使用
470
+ * 擴展範圍至完整宣告(包含前導註解和空行)
471
+ * 優先使用 Parser 的 getFullDeclarationRange 方法(AST 精確解析)
472
+ * 若 Parser 不支援或回傳 null,fallback 到字串匹配邏輯
411
473
  */
412
- removeCommentsAndStrings(content) {
413
- let result = content;
414
- // 移除多行註解 /* ... */
415
- result = result.replace(/\/\*[\s\S]*?\*\//g, '');
416
- // 移除單行註解 // ...
417
- result = result.replace(/\/\/[^\n]*/g, '');
418
- // 移除模板字串 `...`(簡化處理,不處理嵌套)
419
- result = result.replace(/`(?:[^`\\]|\\.)*`/g, '""');
420
- // 移除雙引號字串 "..."
421
- result = result.replace(/"(?:[^"\\]|\\.)*"/g, '""');
422
- // 移除單引號字串 '...'
423
- result = result.replace(/'(?:[^'\\]|\\.)*'/g, '\'\'');
424
- return result;
474
+ async expandRangeToFullDeclaration(content, range, symbolType, symbolName, filePath) {
475
+ // 1. 優先嘗試使用 Parser 的 getFullDeclarationRange 方法
476
+ const parser = this.parserRegistry.getParser(this.getFileExtension(filePath));
477
+ if (parser?.getFullDeclarationRange) {
478
+ const parserRange = parser.getFullDeclarationRange(content, symbolName, symbolType, range.start.line);
479
+ if (parserRange) {
480
+ // Parser 成功解析,處理後續空行
481
+ const lines = content.split('\n');
482
+ let endLine = parserRange.end.line - 1; // 轉為 0-based
483
+ if (endLine < lines.length - 1 && lines[endLine + 1]?.trim() === '') {
484
+ endLine++;
485
+ }
486
+ return {
487
+ start: parserRange.start,
488
+ end: {
489
+ line: endLine + 1,
490
+ column: (lines[endLine]?.length ?? 0) + 1,
491
+ offset: parserRange.end.offset
492
+ }
493
+ };
494
+ }
495
+ }
496
+ // 2. Fallback:使用原有的字串匹配邏輯
497
+ return this.expandRangeByStringMatching(content, range, symbolType);
425
498
  }
426
499
  /**
427
- * 擴展範圍至完整宣告(包含前導註解和空行)
500
+ * 使用字串匹配邏輯擴展範圍(fallback 方法)
428
501
  * 使用清理後的內容進行括號匹配,避免字串/註解中的括號干擾
429
502
  */
430
- expandRangeToFullDeclaration(content, range, symbolType) {
503
+ expandRangeByStringMatching(content, range, symbolType) {
431
504
  const lines = content.split('\n');
432
505
  let startLine = range.start.line - 1; // 轉為 0-based
433
506
  // 向上擴展:包含 JSDoc 註解和裝飾器
@@ -520,6 +593,13 @@ export class DeadCodeRemover {
520
593
  end: { line: endLine + 1, column: lines[endLine].length + 1, offset: undefined }
521
594
  };
522
595
  }
596
+ /**
597
+ * 從檔案路徑取得副檔名
598
+ */
599
+ getFileExtension(filePath) {
600
+ const lastDot = filePath.lastIndexOf('.');
601
+ return lastDot === -1 ? '' : filePath.substring(lastDot);
602
+ }
523
603
  /**
524
604
  * 移除單行中的註解和字串(用於括號匹配)
525
605
  */
@@ -793,12 +873,6 @@ export class DeadCodeRemover {
793
873
  // 否則使用簡單字串包含匹配(向後相容)
794
874
  return filePath.includes(pattern);
795
875
  }
796
- /**
797
- * 逸出正則表達式特殊字符
798
- */
799
- escapeRegex(text) {
800
- return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
801
- }
802
876
  /**
803
877
  * 清除快取
804
878
  */
@@ -1 +1 @@
1
- {"version":3,"file":"dead-code-remover.js","sourceRoot":"","sources":["../../../src/core/deadcode/dead-code-remover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dead-code-remover.js","sourceRoot":"","sources":["../../../src/core/deadcode/dead-code-remover.ts"],"names":[],"mappings":"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"}
@@ -19,9 +19,6 @@ export declare class ImportResolver {
19
19
  */
20
20
  private collectMultilineExportStatement;
21
21
  /**
22
- * 找出 from 關鍵字所在的行索引
23
- */
24
- private findFromLineIndex;
25
22
  /**
26
23
  * 更新 import 路徑
27
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"import-resolver.d.ts","sourceRoot":"","sources":["../../../src/core/move/import-resolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,eAAe,EAAY,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG3F,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;gBAElC,MAAM,EAAE,oBAAoB;IAIxC;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE;IAIjE;;OAEG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE;IAuEzE;;OAEG;IACH,OAAO,CAAC,+BAA+B;IA2BvC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,gBAAgB,CACd,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,YAAY;IAyDf;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAmB3C;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAoB/D;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAmDhD;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAiB/C;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,aAAa;CAMtB"}
1
+ {"version":3,"file":"import-resolver.d.ts","sourceRoot":"","sources":["../../../src/core/move/import-resolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,eAAe,EAAY,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG3F,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;gBAElC,MAAM,EAAE,oBAAoB;IAIxC;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE;IAIjE;;OAEG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE;IAsEzE;;OAEG;IACH,OAAO,CAAC,+BAA+B;IA2BvC;;;OAGG;IACH,gBAAgB,CACd,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,YAAY;IAyDf;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAmB3C;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAoB/D;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAmDhD;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAiB/C;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,aAAa;CAMtB"}
@@ -108,16 +108,6 @@ export class ImportResolver {
108
108
  return null;
109
109
  }
110
110
  /**
111
- * 找出 from 關鍵字所在的行索引
112
- */
113
- findFromLineIndex(lines, startIndex, endIndex) {
114
- for (let i = startIndex; i <= endIndex; i++) {
115
- if (lines[i].includes('from') && lines[i].match(/from\s+['"`]/)) {
116
- return i;
117
- }
118
- }
119
- return endIndex;
120
- }
121
111
  /**
122
112
  * 更新 import 路徑
123
113
  */
@@ -1 +1 @@
1
- {"version":3,"file":"import-resolver.js","sourceRoot":"","sources":["../../../src/core/move/import-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-resolver.js","sourceRoot":"","sources":["../../../src/core/move/import-resolver.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  export { MoveMemberService, createMoveMemberService } from './move-member-service.js';
6
6
  export { MemberExtractor, createMemberExtractor } from './member-extractor.js';
7
- export type { MemberDefinition, MoveTarget, MoveMemberOptions, ReferenceUpdate, MoveMemberResult, MoveMemberValidationError } from './types.js';
7
+ export type { MemberDefinition, MoveTarget, MoveMemberOptions, ReferenceUpdate, MoveMemberResult, MoveMemberSuccessResult, MoveMemberErrorResult, MoveMemberValidationError, FileChange, TargetFileChange, MoveMemberStats } from './types.js';
8
8
  export { MemberType, MoveTargetType, MoveMemberErrorCode } from './types.js';
9
9
  export { isMemberDefinition, isMoveMemberResult } from './types.js';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/move-member/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG/E,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,UAAU,EACV,cAAc,EACd,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/move-member/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG/E,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,UAAU,EACV,gBAAgB,EAChB,eAAe,EAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,UAAU,EACV,cAAc,EACd,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/move-member/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO;AACP,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAY/E,KAAK;AACL,OAAO,EACL,UAAU,EACV,cAAc,EACd,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,cAAc;AACd,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/move-member/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO;AACP,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAiB/E,KAAK;AACL,OAAO,EACL,UAAU,EACV,cAAc,EACd,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,cAAc;AACd,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,YAAY,CAAC"}
@@ -28,6 +28,7 @@ export declare class MoveMemberService {
28
28
  private prepareSourceFileChange;
29
29
  /**
30
30
  * 準備目標檔案變更
31
+ * 自動判斷目標檔案是否存在:存在則插入,不存在則創建新檔案
31
32
  */
32
33
  private prepareTargetFileChange;
33
34
  /**
@@ -75,6 +76,7 @@ export declare class MoveMemberService {
75
76
  private generateImports;
76
77
  /**
77
78
  * 找到類別內的插入位置
79
+ * 使用正則表達式嚴格匹配類別定義,避免匹配註解中的類別名稱
78
80
  */
79
81
  private findClassInsertPosition;
80
82
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"move-member-service.d.ts","sourceRoot":"","sources":["../../../src/core/move-member/move-member-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAEpF,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAKtB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,qBAAa,iBAAiB;IAK1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAGzB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW;IAM1C;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6DvE;;OAEG;YACW,cAAc;IA+C5B;;OAEG;YACW,uBAAuB;IAwCrC;;OAEG;YACW,uBAAuB;IAiErC;;;;OAIG;YACW,uBAAuB;IA6FrC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAWnC;;OAEG;IACH,OAAO,CAAC,UAAU;IAgBlB;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;YACW,YAAY;IA2B1B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;YACW,uBAAuB;IA6BrC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;YACW,eAAe;IAM7B;;OAEG;YACW,YAAY;IAkB1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;YACW,QAAQ;IAStB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAgB1B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW,GACtB,iBAAiB,CAEnB"}
1
+ {"version":3,"file":"move-member-service.d.ts","sourceRoot":"","sources":["../../../src/core/move-member/move-member-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAEpF,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAKtB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,qBAAa,iBAAiB;IAK1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAGzB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW;IAM1C;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6DvE;;OAEG;YACW,cAAc;IA8C5B;;OAEG;YACW,uBAAuB;IAwCrC;;;OAGG;YACW,uBAAuB;IAgErC;;;;OAIG;YACW,uBAAuB;IA6FrC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAWnC;;OAEG;IACH,OAAO,CAAC,UAAU;IAgBlB;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;YACW,YAAY;IA2B1B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAYvB;;;OAGG;YACW,uBAAuB;IAmCrC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;YACW,eAAe;IAM7B;;OAEG;YACW,YAAY;IAkB1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;YACW,QAAQ;IAStB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAO1B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW,GACtB,iBAAiB,CAEnB"}
@@ -72,26 +72,15 @@ export class MoveMemberService {
72
72
  */
73
73
  async validateTarget(options, member) {
74
74
  const { target } = options;
75
- // 檢查目標檔案
76
- if (target.type === MoveTargetType.ExistingFile || target.type === MoveTargetType.ExistingClass) {
77
- const exists = await this.fileSystem.exists(target.filePath);
75
+ const exists = await this.fileSystem.exists(target.filePath);
76
+ // 檢查目標類別(必須檔案存在)
77
+ if (target.type === MoveTargetType.ExistingClass && target.className) {
78
78
  if (!exists) {
79
79
  return {
80
80
  code: MoveMemberErrorCode.TargetFileNotFound,
81
81
  message: `目標檔案不存在: ${target.filePath}`
82
82
  };
83
83
  }
84
- // 檢查是否已有同名成員
85
- const existingMember = await this.memberExtractor.extractMember(target.filePath, member.name, member.type, target.className);
86
- if (existingMember) {
87
- return {
88
- code: MoveMemberErrorCode.DuplicateMemberInTarget,
89
- message: `目標位置已存在同名成員: ${member.name}`
90
- };
91
- }
92
- }
93
- // 檢查目標類別
94
- if (target.type === MoveTargetType.ExistingClass && target.className) {
95
84
  const members = await this.memberExtractor.listMembers(target.filePath);
96
85
  const targetClass = members.find(m => m.name === target.className);
97
86
  if (!targetClass) {
@@ -101,6 +90,16 @@ export class MoveMemberService {
101
90
  };
102
91
  }
103
92
  }
93
+ // 檢查是否已有同名成員(僅當檔案存在時)
94
+ if (exists) {
95
+ const existingMember = await this.memberExtractor.extractMember(target.filePath, member.name, member.type, target.className);
96
+ if (existingMember) {
97
+ return {
98
+ code: MoveMemberErrorCode.DuplicateMemberInTarget,
99
+ message: `目標位置已存在同名成員: ${member.name}`
100
+ };
101
+ }
102
+ }
104
103
  return null;
105
104
  }
106
105
  /**
@@ -139,10 +138,10 @@ export class MoveMemberService {
139
138
  }
140
139
  /**
141
140
  * 準備目標檔案變更
141
+ * 自動判斷目標檔案是否存在:存在則插入,不存在則創建新檔案
142
142
  */
143
143
  async prepareTargetFileChange(options, member) {
144
144
  const { target } = options;
145
- const isNewFile = target.type === MoveTargetType.NewFile;
146
145
  // 準備要插入的程式碼
147
146
  let memberCode = member.sourceCode;
148
147
  if (member.documentation) {
@@ -152,6 +151,9 @@ export class MoveMemberService {
152
151
  if (!memberCode.includes('export') && member.modifiers.includes('export')) {
153
152
  memberCode = 'export ' + memberCode;
154
153
  }
154
+ // 自動判斷檔案是否存在
155
+ const content = await this.readFile(target.filePath);
156
+ const isNewFile = content === null;
155
157
  if (isNewFile) {
156
158
  // 新檔案:生成完整的檔案內容
157
159
  const imports = this.generateImports(member, options);
@@ -164,10 +166,6 @@ export class MoveMemberService {
164
166
  };
165
167
  }
166
168
  // 現有檔案
167
- const content = await this.readFile(target.filePath);
168
- if (content === null) {
169
- throw new Error(`無法讀取目標檔案: ${target.filePath}`);
170
- }
171
169
  const lines = content.split('\n');
172
170
  let insertLine = target.insertPosition ?? -1;
173
171
  if (target.type === MoveTargetType.ExistingClass && target.className) {
@@ -417,14 +415,18 @@ export class MoveMemberService {
417
415
  }
418
416
  /**
419
417
  * 找到類別內的插入位置
418
+ * 使用正則表達式嚴格匹配類別定義,避免匹配註解中的類別名稱
420
419
  */
421
420
  async findClassInsertPosition(content, className) {
422
421
  const lines = content.split('\n');
423
422
  let inClass = false;
424
423
  let depth = 0;
424
+ // 嚴格匹配類別定義:可選的 export/abstract,後接 class 關鍵字和類別名稱
425
+ const classPattern = new RegExp(`^\\s*(export\\s+)?(abstract\\s+)?class\\s+${className}\\b`);
425
426
  for (let i = 0; i < lines.length; i++) {
426
427
  const line = lines[i];
427
- if (line.includes(`class ${className}`)) {
428
+ // 使用正則表達式匹配,避免匹配註解
429
+ if (!inClass && classPattern.test(line)) {
428
430
  inClass = true;
429
431
  }
430
432
  if (inClass) {
@@ -509,17 +511,8 @@ export class MoveMemberService {
509
511
  createErrorResult(code, message) {
510
512
  return {
511
513
  success: false,
512
- error: message,
513
- member: null,
514
- target: null,
515
- sourceFileChange: null,
516
- targetFileChange: null,
517
- referenceUpdates: [],
518
- executed: false,
519
- stats: {
520
- referencesUpdated: 0,
521
- filesAffected: 0
522
- }
514
+ code,
515
+ error: message
523
516
  };
524
517
  }
525
518
  }