agent-ide 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/README.md +11 -11
  2. package/dist/core/call-hierarchy/call-hierarchy-analyzer.d.ts +1 -8
  3. package/dist/core/call-hierarchy/call-hierarchy-analyzer.d.ts.map +1 -1
  4. package/dist/core/call-hierarchy/call-hierarchy-analyzer.js +9 -25
  5. package/dist/core/call-hierarchy/call-hierarchy-analyzer.js.map +1 -1
  6. package/dist/core/change-signature/call-site-updater.d.ts +5 -7
  7. package/dist/core/change-signature/call-site-updater.d.ts.map +1 -1
  8. package/dist/core/change-signature/call-site-updater.js +7 -16
  9. package/dist/core/change-signature/call-site-updater.js.map +1 -1
  10. package/dist/core/change-signature/change-signature-service.d.ts +1 -8
  11. package/dist/core/change-signature/change-signature-service.d.ts.map +1 -1
  12. package/dist/core/change-signature/change-signature-service.js +11 -29
  13. package/dist/core/change-signature/change-signature-service.js.map +1 -1
  14. package/dist/core/change-signature/signature-parser.d.ts +1 -8
  15. package/dist/core/change-signature/signature-parser.d.ts.map +1 -1
  16. package/dist/core/change-signature/signature-parser.js +7 -23
  17. package/dist/core/change-signature/signature-parser.js.map +1 -1
  18. package/dist/core/cycles/cycle-detector.d.ts +1 -1
  19. package/dist/core/cycles/cycle-detector.d.ts.map +1 -1
  20. package/dist/core/deadcode/dead-code-detector.d.ts +2 -13
  21. package/dist/core/deadcode/dead-code-detector.d.ts.map +1 -1
  22. package/dist/core/deadcode/dead-code-detector.js +6 -29
  23. package/dist/core/deadcode/dead-code-detector.js.map +1 -1
  24. package/dist/core/deadcode/import-cleaner.js +1 -1
  25. package/dist/core/deadcode/import-cleaner.js.map +1 -1
  26. package/dist/core/deadcode/import-parser.d.ts +0 -4
  27. package/dist/core/deadcode/import-parser.d.ts.map +1 -1
  28. package/dist/core/deadcode/import-parser.js +4 -10
  29. package/dist/core/deadcode/import-parser.js.map +1 -1
  30. package/dist/core/deadcode/range-expander.d.ts +0 -4
  31. package/dist/core/deadcode/range-expander.d.ts.map +1 -1
  32. package/dist/core/deadcode/range-expander.js +14 -10
  33. package/dist/core/deadcode/range-expander.js.map +1 -1
  34. package/dist/core/find-references/index.d.ts +3 -3
  35. package/dist/core/find-references/index.d.ts.map +1 -1
  36. package/dist/core/find-references/index.js +2 -2
  37. package/dist/core/find-references/index.js.map +1 -1
  38. package/dist/core/foundations/dependency-graph/dependency-graph.d.ts.map +1 -0
  39. package/dist/core/foundations/dependency-graph/dependency-graph.js.map +1 -0
  40. package/dist/core/foundations/dependency-graph/index.d.ts.map +1 -0
  41. package/dist/core/foundations/dependency-graph/index.js.map +1 -0
  42. package/dist/core/foundations/dependency-graph/types.d.ts.map +1 -0
  43. package/dist/core/foundations/dependency-graph/types.js.map +1 -0
  44. package/dist/core/foundations/file-utils.d.ts +50 -0
  45. package/dist/core/foundations/file-utils.d.ts.map +1 -0
  46. package/dist/core/foundations/file-utils.js +75 -0
  47. package/dist/core/foundations/file-utils.js.map +1 -0
  48. package/dist/core/foundations/index.d.ts +13 -0
  49. package/dist/core/foundations/index.d.ts.map +1 -0
  50. package/dist/core/foundations/index.js +17 -0
  51. package/dist/core/foundations/index.js.map +1 -0
  52. package/dist/core/foundations/indexing/file-index.d.ts.map +1 -0
  53. package/dist/core/foundations/indexing/file-index.js.map +1 -0
  54. package/dist/core/foundations/indexing/index-engine.d.ts.map +1 -0
  55. package/dist/core/foundations/indexing/index-engine.js.map +1 -0
  56. package/dist/core/foundations/indexing/index.d.ts.map +1 -0
  57. package/dist/core/foundations/indexing/index.js.map +1 -0
  58. package/dist/core/foundations/indexing/symbol-index.d.ts.map +1 -0
  59. package/dist/core/foundations/indexing/symbol-index.js.map +1 -0
  60. package/dist/core/{shared → foundations}/indexing/types.d.ts +1 -1
  61. package/dist/core/foundations/indexing/types.d.ts.map +1 -0
  62. package/dist/core/{shared → foundations}/indexing/types.js +11 -1
  63. package/dist/core/foundations/indexing/types.js.map +1 -0
  64. package/dist/core/foundations/symbol-finder/call-site-parser.d.ts.map +1 -0
  65. package/dist/core/foundations/symbol-finder/call-site-parser.js.map +1 -0
  66. package/dist/core/foundations/symbol-finder/index.d.ts.map +1 -0
  67. package/dist/core/foundations/symbol-finder/index.js.map +1 -0
  68. package/dist/core/{shared → foundations}/symbol-finder/symbol-finder.d.ts +24 -10
  69. package/dist/core/foundations/symbol-finder/symbol-finder.d.ts.map +1 -0
  70. package/dist/core/{shared → foundations}/symbol-finder/symbol-finder.js +118 -148
  71. package/dist/core/foundations/symbol-finder/symbol-finder.js.map +1 -0
  72. package/dist/core/foundations/symbol-finder/text-matcher.d.ts.map +1 -0
  73. package/dist/core/foundations/symbol-finder/text-matcher.js.map +1 -0
  74. package/dist/core/foundations/symbol-finder/types.d.ts.map +1 -0
  75. package/dist/core/foundations/symbol-finder/types.js.map +1 -0
  76. package/dist/core/impact/impact-analyzer.d.ts +1 -1
  77. package/dist/core/impact/impact-analyzer.d.ts.map +1 -1
  78. package/dist/core/impact/impact-analyzer.js +1 -1
  79. package/dist/core/impact/impact-analyzer.js.map +1 -1
  80. package/dist/core/move-member/extractors/index.d.ts +7 -0
  81. package/dist/core/move-member/extractors/index.d.ts.map +1 -0
  82. package/dist/core/move-member/extractors/index.js +9 -0
  83. package/dist/core/move-member/extractors/index.js.map +1 -0
  84. package/dist/core/move-member/extractors/javascript-extractor.d.ts +29 -0
  85. package/dist/core/move-member/extractors/javascript-extractor.d.ts.map +1 -0
  86. package/dist/core/move-member/extractors/javascript-extractor.js +33 -0
  87. package/dist/core/move-member/extractors/javascript-extractor.js.map +1 -0
  88. package/dist/core/move-member/extractors/typescript-extractor.d.ts +40 -0
  89. package/dist/core/move-member/extractors/typescript-extractor.d.ts.map +1 -0
  90. package/dist/core/move-member/extractors/typescript-extractor.js +286 -0
  91. package/dist/core/move-member/extractors/typescript-extractor.js.map +1 -0
  92. package/dist/core/move-member/member-extractor.d.ts +12 -62
  93. package/dist/core/move-member/member-extractor.d.ts.map +1 -1
  94. package/dist/core/move-member/member-extractor.js +23 -391
  95. package/dist/core/move-member/member-extractor.js.map +1 -1
  96. package/dist/core/move-member/reference-updater.d.ts.map +1 -1
  97. package/dist/core/move-member/reference-updater.js +3 -1
  98. package/dist/core/move-member/reference-updater.js.map +1 -1
  99. package/dist/core/move-member/utils/range-finder.d.ts +40 -0
  100. package/dist/core/move-member/utils/range-finder.d.ts.map +1 -0
  101. package/dist/core/move-member/utils/range-finder.js +101 -0
  102. package/dist/core/move-member/utils/range-finder.js.map +1 -0
  103. package/dist/core/rename/reference-updater.d.ts +5 -0
  104. package/dist/core/rename/reference-updater.d.ts.map +1 -1
  105. package/dist/core/rename/reference-updater.js +17 -4
  106. package/dist/core/rename/reference-updater.js.map +1 -1
  107. package/dist/core/rename/types.d.ts.map +1 -1
  108. package/dist/core/snapshot/snapshot-generator.d.ts +0 -29
  109. package/dist/core/snapshot/snapshot-generator.d.ts.map +1 -1
  110. package/dist/core/snapshot/snapshot-generator.js +6 -183
  111. package/dist/core/snapshot/snapshot-generator.js.map +1 -1
  112. package/dist/core/snapshot/utils/bracket-balancer.d.ts +27 -0
  113. package/dist/core/snapshot/utils/bracket-balancer.d.ts.map +1 -0
  114. package/dist/core/snapshot/utils/bracket-balancer.js +70 -0
  115. package/dist/core/snapshot/utils/bracket-balancer.js.map +1 -0
  116. package/dist/core/snapshot/utils/factory-pattern-detector.d.ts +22 -0
  117. package/dist/core/snapshot/utils/factory-pattern-detector.d.ts.map +1 -0
  118. package/dist/core/snapshot/utils/factory-pattern-detector.js +70 -0
  119. package/dist/core/snapshot/utils/factory-pattern-detector.js.map +1 -0
  120. package/dist/core/snapshot/utils/index.d.ts +7 -0
  121. package/dist/core/snapshot/utils/index.d.ts.map +1 -0
  122. package/dist/core/snapshot/utils/index.js +7 -0
  123. package/dist/core/snapshot/utils/index.js.map +1 -0
  124. package/dist/core/snapshot/utils/symbol-formatter.d.ts +37 -0
  125. package/dist/core/snapshot/utils/symbol-formatter.d.ts.map +1 -0
  126. package/dist/core/snapshot/utils/symbol-formatter.js +89 -0
  127. package/dist/core/snapshot/utils/symbol-formatter.js.map +1 -0
  128. package/dist/infrastructure/formatters/query-formatter.d.ts +8 -62
  129. package/dist/infrastructure/formatters/query-formatter.d.ts.map +1 -1
  130. package/dist/infrastructure/formatters/query-formatter.js +29 -438
  131. package/dist/infrastructure/formatters/query-formatter.js.map +1 -1
  132. package/dist/infrastructure/formatters/strategies/analyze-formatter.d.ts +24 -0
  133. package/dist/infrastructure/formatters/strategies/analyze-formatter.d.ts.map +1 -0
  134. package/dist/infrastructure/formatters/strategies/analyze-formatter.js +107 -0
  135. package/dist/infrastructure/formatters/strategies/analyze-formatter.js.map +1 -0
  136. package/dist/infrastructure/formatters/strategies/base-formatter.d.ts +67 -0
  137. package/dist/infrastructure/formatters/strategies/base-formatter.d.ts.map +1 -0
  138. package/dist/infrastructure/formatters/strategies/base-formatter.js +75 -0
  139. package/dist/infrastructure/formatters/strategies/base-formatter.js.map +1 -0
  140. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.d.ts +19 -0
  141. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.d.ts.map +1 -0
  142. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.js +77 -0
  143. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.js.map +1 -0
  144. package/dist/infrastructure/formatters/strategies/deps-formatter.d.ts +15 -0
  145. package/dist/infrastructure/formatters/strategies/deps-formatter.d.ts.map +1 -0
  146. package/dist/infrastructure/formatters/strategies/deps-formatter.js +47 -0
  147. package/dist/infrastructure/formatters/strategies/deps-formatter.js.map +1 -0
  148. package/dist/infrastructure/formatters/strategies/find-references-formatter.d.ts +23 -0
  149. package/dist/infrastructure/formatters/strategies/find-references-formatter.d.ts.map +1 -0
  150. package/dist/infrastructure/formatters/strategies/find-references-formatter.js +71 -0
  151. package/dist/infrastructure/formatters/strategies/find-references-formatter.js.map +1 -0
  152. package/dist/infrastructure/formatters/strategies/index.d.ts +11 -0
  153. package/dist/infrastructure/formatters/strategies/index.d.ts.map +1 -0
  154. package/dist/infrastructure/formatters/strategies/index.js +11 -0
  155. package/dist/infrastructure/formatters/strategies/index.js.map +1 -0
  156. package/dist/infrastructure/formatters/strategies/search-formatter.d.ts +15 -0
  157. package/dist/infrastructure/formatters/strategies/search-formatter.d.ts.map +1 -0
  158. package/dist/infrastructure/formatters/strategies/search-formatter.js +32 -0
  159. package/dist/infrastructure/formatters/strategies/search-formatter.js.map +1 -0
  160. package/dist/infrastructure/formatters/strategies/snapshot-formatter.d.ts +20 -0
  161. package/dist/infrastructure/formatters/strategies/snapshot-formatter.d.ts.map +1 -0
  162. package/dist/infrastructure/formatters/strategies/snapshot-formatter.js +101 -0
  163. package/dist/infrastructure/formatters/strategies/snapshot-formatter.js.map +1 -0
  164. package/dist/infrastructure/parser/registry.js.map +1 -1
  165. package/dist/interfaces/cli/commands/call-hierarchy.command.js +1 -1
  166. package/dist/interfaces/cli/commands/call-hierarchy.command.js.map +1 -1
  167. package/dist/interfaces/cli/commands/change-signature.command.js +3 -2
  168. package/dist/interfaces/cli/commands/change-signature.command.js.map +1 -1
  169. package/dist/interfaces/cli/commands/deadcode.command.js +1 -1
  170. package/dist/interfaces/cli/commands/deadcode.command.js.map +1 -1
  171. package/dist/interfaces/cli/commands/find-references.command.js +2 -2
  172. package/dist/interfaces/cli/commands/find-references.command.js.map +1 -1
  173. package/dist/interfaces/cli/commands/rename.command.js +2 -2
  174. package/dist/interfaces/cli/commands/rename.command.js.map +1 -1
  175. package/dist/interfaces/cli/preview-output-handler.d.ts.map +1 -1
  176. package/dist/interfaces/cli/preview-output-handler.js.map +1 -1
  177. package/dist/interfaces/cli/unified-output-handler.d.ts.map +1 -1
  178. package/dist/interfaces/cli/unified-output-handler.js.map +1 -1
  179. package/dist/plugins/javascript/parser.d.ts +0 -2
  180. package/dist/plugins/javascript/parser.d.ts.map +1 -1
  181. package/dist/plugins/javascript/parser.js +3 -19
  182. package/dist/plugins/javascript/parser.js.map +1 -1
  183. package/dist/plugins/javascript/types.d.ts.map +1 -1
  184. package/dist/plugins/javascript/types.js.map +1 -1
  185. package/dist/plugins/shared/index.d.ts +1 -0
  186. package/dist/plugins/shared/index.d.ts.map +1 -1
  187. package/dist/plugins/shared/index.js +2 -0
  188. package/dist/plugins/shared/index.js.map +1 -1
  189. package/dist/plugins/shared/utils/async.d.ts.map +1 -1
  190. package/dist/plugins/shared/utils/async.js.map +1 -1
  191. package/dist/plugins/shared/utils/object.js +5 -5
  192. package/dist/plugins/shared/utils/object.js.map +1 -1
  193. package/dist/plugins/shared/validators.d.ts +15 -0
  194. package/dist/plugins/shared/validators.d.ts.map +1 -0
  195. package/dist/plugins/shared/validators.js +29 -0
  196. package/dist/plugins/shared/validators.js.map +1 -0
  197. package/dist/plugins/typescript/dependency-analyzer.d.ts.map +1 -1
  198. package/dist/plugins/typescript/dependency-analyzer.js.map +1 -1
  199. package/dist/plugins/typescript/parser.d.ts +0 -2
  200. package/dist/plugins/typescript/parser.d.ts.map +1 -1
  201. package/dist/plugins/typescript/parser.js +3 -19
  202. package/dist/plugins/typescript/parser.js.map +1 -1
  203. package/dist/plugins/typescript/symbol-extractor.d.ts.map +1 -1
  204. package/dist/plugins/typescript/symbol-extractor.js.map +1 -1
  205. package/dist/plugins/typescript/types.d.ts.map +1 -1
  206. package/dist/plugins/typescript/types.js.map +1 -1
  207. package/package.json +1 -1
  208. package/dist/core/shared/dependency-graph/dependency-graph.d.ts.map +0 -1
  209. package/dist/core/shared/dependency-graph/dependency-graph.js.map +0 -1
  210. package/dist/core/shared/dependency-graph/index.d.ts.map +0 -1
  211. package/dist/core/shared/dependency-graph/index.js.map +0 -1
  212. package/dist/core/shared/dependency-graph/types.d.ts.map +0 -1
  213. package/dist/core/shared/dependency-graph/types.js.map +0 -1
  214. package/dist/core/shared/index.d.ts +0 -8
  215. package/dist/core/shared/index.d.ts.map +0 -1
  216. package/dist/core/shared/index.js +0 -11
  217. package/dist/core/shared/index.js.map +0 -1
  218. package/dist/core/shared/indexing/file-index.d.ts.map +0 -1
  219. package/dist/core/shared/indexing/file-index.js.map +0 -1
  220. package/dist/core/shared/indexing/index-engine.d.ts.map +0 -1
  221. package/dist/core/shared/indexing/index-engine.js.map +0 -1
  222. package/dist/core/shared/indexing/index.d.ts.map +0 -1
  223. package/dist/core/shared/indexing/index.js.map +0 -1
  224. package/dist/core/shared/indexing/symbol-index.d.ts.map +0 -1
  225. package/dist/core/shared/indexing/symbol-index.js.map +0 -1
  226. package/dist/core/shared/indexing/types.d.ts.map +0 -1
  227. package/dist/core/shared/indexing/types.js.map +0 -1
  228. package/dist/core/shared/symbol-finder/call-site-parser.d.ts.map +0 -1
  229. package/dist/core/shared/symbol-finder/call-site-parser.js.map +0 -1
  230. package/dist/core/shared/symbol-finder/index.d.ts.map +0 -1
  231. package/dist/core/shared/symbol-finder/index.js.map +0 -1
  232. package/dist/core/shared/symbol-finder/symbol-finder.d.ts.map +0 -1
  233. package/dist/core/shared/symbol-finder/symbol-finder.js.map +0 -1
  234. package/dist/core/shared/symbol-finder/text-matcher.d.ts.map +0 -1
  235. package/dist/core/shared/symbol-finder/text-matcher.js.map +0 -1
  236. package/dist/core/shared/symbol-finder/types.d.ts.map +0 -1
  237. package/dist/core/shared/symbol-finder/types.js.map +0 -1
  238. /package/dist/core/{shared → foundations}/dependency-graph/dependency-graph.d.ts +0 -0
  239. /package/dist/core/{shared → foundations}/dependency-graph/dependency-graph.js +0 -0
  240. /package/dist/core/{shared → foundations}/dependency-graph/index.d.ts +0 -0
  241. /package/dist/core/{shared → foundations}/dependency-graph/index.js +0 -0
  242. /package/dist/core/{shared → foundations}/dependency-graph/types.d.ts +0 -0
  243. /package/dist/core/{shared → foundations}/dependency-graph/types.js +0 -0
  244. /package/dist/core/{shared → foundations}/indexing/file-index.d.ts +0 -0
  245. /package/dist/core/{shared → foundations}/indexing/file-index.js +0 -0
  246. /package/dist/core/{shared → foundations}/indexing/index-engine.d.ts +0 -0
  247. /package/dist/core/{shared → foundations}/indexing/index-engine.js +0 -0
  248. /package/dist/core/{shared → foundations}/indexing/index.d.ts +0 -0
  249. /package/dist/core/{shared → foundations}/indexing/index.js +0 -0
  250. /package/dist/core/{shared → foundations}/indexing/symbol-index.d.ts +0 -0
  251. /package/dist/core/{shared → foundations}/indexing/symbol-index.js +0 -0
  252. /package/dist/core/{shared → foundations}/symbol-finder/call-site-parser.d.ts +0 -0
  253. /package/dist/core/{shared → foundations}/symbol-finder/call-site-parser.js +0 -0
  254. /package/dist/core/{shared → foundations}/symbol-finder/index.d.ts +0 -0
  255. /package/dist/core/{shared → foundations}/symbol-finder/index.js +0 -0
  256. /package/dist/core/{shared → foundations}/symbol-finder/text-matcher.d.ts +0 -0
  257. /package/dist/core/{shared → foundations}/symbol-finder/text-matcher.js +0 -0
  258. /package/dist/core/{shared → foundations}/symbol-finder/types.d.ts +0 -0
  259. /package/dist/core/{shared → foundations}/symbol-finder/types.js +0 -0
@@ -7,6 +7,7 @@ import { ScopedReferenceKind } from '../../../infrastructure/parser/interface.js
7
7
  import { SymbolReferenceType, ClassMemberType, symbolToKey, serializeSymbolKey } from './types.js';
8
8
  import { TextMatcher } from './text-matcher.js';
9
9
  import { CallSiteParser } from './call-site-parser.js';
10
+ import { createFileUtils } from '../file-utils.js';
10
11
  /**
11
12
  * 符號查找器
12
13
  */
@@ -15,21 +16,23 @@ export class SymbolFinder {
15
16
  fileSystem;
16
17
  textMatcher;
17
18
  callSiteParser;
19
+ fileUtils;
18
20
  constructor(parserRegistry, fileSystem) {
19
21
  this.parserRegistry = parserRegistry;
20
22
  this.fileSystem = fileSystem;
21
23
  this.textMatcher = new TextMatcher();
22
24
  this.callSiteParser = new CallSiteParser();
25
+ this.fileUtils = createFileUtils(fileSystem, parserRegistry);
23
26
  }
24
27
  /**
25
28
  * 查找符號定義
26
29
  */
27
30
  async findDefinition(filePath, symbolName) {
28
- const content = await this.readFile(filePath);
31
+ const content = await this.fileUtils.readFile(filePath);
29
32
  if (!content) {
30
33
  return null;
31
34
  }
32
- const parser = this.getParser(filePath);
35
+ const parser = this.fileUtils.getParser(filePath);
33
36
  if (!parser) {
34
37
  return null;
35
38
  }
@@ -98,11 +101,11 @@ export class SymbolFinder {
98
101
  }
99
102
  // 一次遍歷所有檔案
100
103
  for (const filePath of projectFiles) {
101
- const content = await this.readFile(filePath);
104
+ const content = await this.fileUtils.readFile(filePath);
102
105
  if (!content) {
103
106
  continue;
104
107
  }
105
- const parser = this.getParser(filePath);
108
+ const parser = this.fileUtils.getParser(filePath);
106
109
  const lines = content.split('\n');
107
110
  // 對每個目標符號查找引用
108
111
  for (const [key, symbol] of symbolKeyMap) {
@@ -179,53 +182,7 @@ export class SymbolFinder {
179
182
  * 查找檔案中的符號引用
180
183
  */
181
184
  async findReferencesInFile(filePath, symbolName) {
182
- const content = await this.readFile(filePath);
183
- if (!content) {
184
- return [];
185
- }
186
- const parser = this.getParser(filePath);
187
- if (!parser) {
188
- // 降級到文字匹配
189
- return this.textMatcher.findReferencesByText(filePath, content, symbolName);
190
- }
191
- try {
192
- const ast = await parser.parse(content, filePath);
193
- // 建立虛擬符號用於查找
194
- const dummySymbol = {
195
- name: symbolName,
196
- type: SymbolType.Variable,
197
- location: {
198
- filePath,
199
- range: {
200
- start: { line: 1, column: 1 },
201
- end: { line: 1, column: 1 }
202
- }
203
- },
204
- scope: undefined,
205
- modifiers: []
206
- };
207
- const references = await parser.findReferences(ast, dummySymbol);
208
- const lines = content.split('\n');
209
- return references.map(ref => {
210
- const lineIndex = ref.location.range.start.line - 1;
211
- // 保留原始行內容(不 trim),讓 diff 輸出保持正確的縮排
212
- const context = lineIndex >= 0 && lineIndex < lines.length
213
- ? lines[lineIndex]
214
- : undefined;
215
- return {
216
- symbolName,
217
- location: ref.location,
218
- type: ref.type === 'definition'
219
- ? SymbolReferenceType.Definition
220
- : SymbolReferenceType.Usage,
221
- context
222
- };
223
- });
224
- }
225
- catch {
226
- // Parser 失敗,降級到文字匹配
227
- return this.textMatcher.findReferencesByText(filePath, content, symbolName);
228
- }
185
+ return this.findReferencesInFileCore(filePath, symbolName, { filtered: false });
229
186
  }
230
187
  /**
231
188
  * 使用完整符號資訊查找檔案中的引用(作用域感知版本)
@@ -240,40 +197,7 @@ export class SymbolFinder {
240
197
  * @returns 符號引用陣列
241
198
  */
242
199
  async findReferencesInFileWithSymbol(filePath, symbol) {
243
- const content = await this.readFile(filePath);
244
- if (!content) {
245
- return [];
246
- }
247
- const parser = this.getParser(filePath);
248
- if (!parser) {
249
- // 降級到文字匹配(但會過濾字串和註解)
250
- return this.textMatcher.findReferencesByTextFiltered(filePath, content, symbol.name);
251
- }
252
- try {
253
- const ast = await parser.parse(content, filePath);
254
- // 使用完整符號資訊進行查找
255
- const references = await parser.findReferences(ast, symbol);
256
- const lines = content.split('\n');
257
- return references.map(ref => {
258
- const lineIndex = ref.location.range.start.line - 1;
259
- // 保留原始行內容(不 trim),讓 diff 輸出保持正確的縮排
260
- const context = lineIndex >= 0 && lineIndex < lines.length
261
- ? lines[lineIndex]
262
- : undefined;
263
- return {
264
- symbolName: symbol.name,
265
- location: ref.location,
266
- type: ref.type === 'definition'
267
- ? SymbolReferenceType.Definition
268
- : SymbolReferenceType.Usage,
269
- context
270
- };
271
- });
272
- }
273
- catch {
274
- // Parser 失敗,降級到文字匹配
275
- return this.textMatcher.findReferencesByTextFiltered(filePath, content, symbol.name);
276
- }
200
+ return this.findReferencesInFileCore(filePath, symbol, { filtered: true });
277
201
  }
278
202
  /**
279
203
  * 在多個檔案中查找符號引用(使用完整符號資訊)
@@ -313,39 +237,11 @@ export class SymbolFinder {
313
237
  * @returns 符號引用陣列
314
238
  */
315
239
  async findScopedReferencesInFile(filePath, symbolName, options) {
316
- const content = await this.readFile(filePath);
317
- if (!content) {
318
- return [];
319
- }
320
- const parser = this.getParser(filePath);
321
- // 優先使用 Parser 的 findScopedReferences 方法
322
- if (parser && typeof parser.findScopedReferences === 'function') {
323
- const scopedRefs = parser.findScopedReferences(content, symbolName, options);
324
- if (scopedRefs) {
325
- const lines = content.split('\n');
326
- return scopedRefs.map(ref => {
327
- const lineIndex = ref.location.range.start.line - 1;
328
- const context = lineIndex >= 0 && lineIndex < lines.length
329
- ? lines[lineIndex]
330
- : undefined;
331
- // 轉換 ScopedReferenceKind 到 SymbolReferenceType
332
- const type = this.scopedReferenceKindToType(ref.kind);
333
- return {
334
- symbolName,
335
- location: {
336
- filePath,
337
- range: ref.location.range
338
- },
339
- type,
340
- context,
341
- containerName: ref.containerName,
342
- isMethodCall: ref.kind === ScopedReferenceKind.Call
343
- };
344
- });
345
- }
346
- }
347
- // Fallback:使用原有的文字匹配(帶過濾)
348
- return this.textMatcher.findReferencesByTextFiltered(filePath, content, symbolName);
240
+ return this.findReferencesInFileCore(filePath, symbolName, {
241
+ scoped: true,
242
+ scopeOptions: options,
243
+ filtered: true
244
+ });
349
245
  }
350
246
  /**
351
247
  * 在多個檔案中查找符號引用(作用域感知版本)
@@ -378,11 +274,11 @@ export class SymbolFinder {
378
274
  * 查找檔案中的函式呼叫點
379
275
  */
380
276
  async findCallSitesInFile(filePath, functionName) {
381
- const content = await this.readFile(filePath);
277
+ const content = await this.fileUtils.readFile(filePath);
382
278
  if (!content) {
383
279
  return [];
384
280
  }
385
- const parser = this.getParser(filePath);
281
+ const parser = this.fileUtils.getParser(filePath);
386
282
  if (!parser) {
387
283
  return [];
388
284
  }
@@ -400,11 +296,11 @@ export class SymbolFinder {
400
296
  * 查找類別成員
401
297
  */
402
298
  async findClassMembers(filePath, className) {
403
- const content = await this.readFile(filePath);
299
+ const content = await this.fileUtils.readFile(filePath);
404
300
  if (!content) {
405
301
  return [];
406
302
  }
407
- const parser = this.getParser(filePath);
303
+ const parser = this.fileUtils.getParser(filePath);
408
304
  if (!parser) {
409
305
  return [];
410
306
  }
@@ -439,32 +335,6 @@ export class SymbolFinder {
439
335
  return [];
440
336
  }
441
337
  }
442
- /**
443
- * 讀取檔案內容
444
- */
445
- async readFile(filePath) {
446
- try {
447
- const content = await this.fileSystem.readFile(filePath, 'utf-8');
448
- return typeof content === 'string' ? content : content.toString('utf-8');
449
- }
450
- catch {
451
- return null;
452
- }
453
- }
454
- /**
455
- * 取得對應的 Parser
456
- */
457
- getParser(filePath) {
458
- const extension = this.getFileExtension(filePath);
459
- return this.parserRegistry.getParser(extension);
460
- }
461
- /**
462
- * 取得檔案副檔名
463
- */
464
- getFileExtension(filePath) {
465
- const lastDot = filePath.lastIndexOf('.');
466
- return lastDot >= 0 ? filePath.substring(lastDot) : '';
467
- }
468
338
  /**
469
339
  * 轉換 ScopedReferenceKind 到 SymbolReferenceType
470
340
  */
@@ -478,6 +348,106 @@ export class SymbolFinder {
478
348
  return SymbolReferenceType.Usage;
479
349
  }
480
350
  }
351
+ /**
352
+ * 將 Parser 引用結果轉換為 SymbolReference
353
+ *
354
+ * @param ref Parser 返回的引用資訊
355
+ * @param symbolName 符號名稱
356
+ * @param filePath 檔案路徑
357
+ * @param lines 檔案內容按行分割
358
+ * @returns 標準化的 SymbolReference
359
+ */
360
+ convertParserRefToSymbolReference(ref, symbolName, filePath, lines) {
361
+ const lineIndex = ref.location.range.start.line - 1;
362
+ const context = lineIndex >= 0 && lineIndex < lines.length
363
+ ? lines[lineIndex]
364
+ : undefined;
365
+ return {
366
+ symbolName,
367
+ location: ref.location,
368
+ type: ref.type === 'definition'
369
+ ? SymbolReferenceType.Definition
370
+ : SymbolReferenceType.Usage,
371
+ context
372
+ };
373
+ }
374
+ /**
375
+ * 內部共用:在單一檔案中查找引用的核心邏輯
376
+ *
377
+ * 統一處理:
378
+ * 1. 讀取檔案內容
379
+ * 2. 獲取 Parser
380
+ * 3. AST 解析或降級到文字匹配
381
+ * 4. 將結果轉換為 SymbolReference
382
+ *
383
+ * @param filePath 檔案路徑
384
+ * @param symbolOrName 符號物件或符號名稱
385
+ * @param options 選項
386
+ * @returns 符號引用陣列
387
+ */
388
+ async findReferencesInFileCore(filePath, symbolOrName, options) {
389
+ const content = await this.fileUtils.readFile(filePath);
390
+ if (!content) {
391
+ return [];
392
+ }
393
+ const symbolName = typeof symbolOrName === 'string' ? symbolOrName : symbolOrName.name;
394
+ const symbol = typeof symbolOrName === 'string' ? null : symbolOrName;
395
+ const parser = this.fileUtils.getParser(filePath);
396
+ const lines = content.split('\n');
397
+ const useFiltered = options?.filtered ?? false;
398
+ // 無 Parser 時降級到文字匹配
399
+ if (!parser) {
400
+ return useFiltered
401
+ ? this.textMatcher.findReferencesByTextFiltered(filePath, content, symbolName)
402
+ : this.textMatcher.findReferencesByText(filePath, content, symbolName);
403
+ }
404
+ // 作用域感知模式:優先使用 findScopedReferences
405
+ if (options?.scoped && typeof parser.findScopedReferences === 'function') {
406
+ const scopedRefs = parser.findScopedReferences(content, symbolName, options.scopeOptions);
407
+ if (scopedRefs) {
408
+ return scopedRefs.map(ref => {
409
+ const lineIndex = ref.location.range.start.line - 1;
410
+ const context = lineIndex >= 0 && lineIndex < lines.length
411
+ ? lines[lineIndex]
412
+ : undefined;
413
+ return {
414
+ symbolName,
415
+ location: { filePath, range: ref.location.range },
416
+ type: this.scopedReferenceKindToType(ref.kind),
417
+ context,
418
+ containerName: ref.containerName,
419
+ isMethodCall: ref.kind === ScopedReferenceKind.Call
420
+ };
421
+ });
422
+ }
423
+ }
424
+ // AST 模式:使用 parser.findReferences
425
+ try {
426
+ const ast = await parser.parse(content, filePath);
427
+ // 建立符號(若傳入的是字串則建立虛擬符號)
428
+ const targetSymbol = symbol ?? {
429
+ name: symbolName,
430
+ type: SymbolType.Variable,
431
+ location: {
432
+ filePath,
433
+ range: {
434
+ start: { line: 1, column: 1 },
435
+ end: { line: 1, column: 1 }
436
+ }
437
+ },
438
+ scope: undefined,
439
+ modifiers: []
440
+ };
441
+ const references = await parser.findReferences(ast, targetSymbol);
442
+ return references.map(ref => this.convertParserRefToSymbolReference(ref, symbolName, filePath, lines));
443
+ }
444
+ catch {
445
+ // Parser 失敗,降級到文字匹配
446
+ return useFiltered
447
+ ? this.textMatcher.findReferencesByTextFiltered(filePath, content, symbolName)
448
+ : this.textMatcher.findReferencesByText(filePath, content, symbolName);
449
+ }
450
+ }
481
451
  /**
482
452
  * 提取函式簽名
483
453
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbol-finder.js","sourceRoot":"","sources":["../../../../src/core/foundations/symbol-finder/symbol-finder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-matcher.d.ts","sourceRoot":"","sources":["../../../../src/core/foundations/symbol-finder/text-matcher.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAEvE;;;GAGG;AACH,qBAAa,WAAW;IACtB;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,EAAE;IA+B9F;;;;;;;OAOG;IACH,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,EAAE;IAmEtG;;OAEG;IACH,4BAA4B,CAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EAChC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,GACtC,IAAI;IAgCP;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IA0BnD;;OAEG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAoB9D;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAGjC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAE/C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-matcher.js","sourceRoot":"","sources":["../../../../src/core/foundations/symbol-finder/text-matcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/foundations/symbol-finder/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,0BAA0B;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,wBAAwB;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,4BAA4B;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,WAAW,gBAAgB;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,WAAW;IACX,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kBAAkB;IAClB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,aAAa;IACb,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAOrD;AAKD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAEzD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAsBlE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/foundations/symbol-finder/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsBH;;GAEG;AACH,MAAM,CAAN,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,gDAAyB,CAAA;IACzB,sCAAe,CAAA;IACf,wCAAiB,CAAA;IACjB,wCAAiB,CAAA;AACnB,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,QAK9B;AAkCD;;GAEG;AACH,MAAM,CAAN,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,wCAAqB,CAAA;IACrB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,8CAA2B,CAAA;AAC7B,CAAC,EANW,eAAe,KAAf,eAAe,QAM1B;AA0BD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;QAClC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;KACvC,CAAC;AACJ,CAAC;AAED,qCAAqC;AACrC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAc;IAC/C,OAAO,GAAG,kBAAkB,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,aAAa,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;AACpG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACrD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEpC,SAAS;IACT,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACnC,4CAA4C;QAC5C,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAC1B,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;QAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAG,EAAE,EAAE,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;IAED,kDAAkD;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;IAC1B,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;IAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAG,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEjC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACjD,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * 分析檔案變更的影響範圍,提供依賴追蹤和統計功能
4
4
  */
5
5
  import type { IFileSystem } from '../../infrastructure/storage/index.js';
6
- import { DependencyGraph } from '../shared/dependency-graph/index.js';
6
+ import { DependencyGraph } from '../foundations/dependency-graph/index.js';
7
7
  import type { FileDependencies, ProjectDependencies, DependencyStats, ImpactAnalysisResult, DependencyQueryOptions, ExtendedDependencyAnalysisOptions } from './types.js';
8
8
  /**
9
9
  * 影響分析器類別
@@ -1 +1 @@
1
- {"version":3,"file":"impact-analyzer.d.ts","sourceRoot":"","sources":["../../../src/core/impact/impact-analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAEzE,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,iCAAiC,EAClC,MAAM,YAAY,CAAC;AAapB;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,mBAAmB,CAAsB;gBAErC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iCAAiC,CAAC;IAoBzF;;;;OAIG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsD9D;;;;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;;;OAGG;IACH,QAAQ,IAAI,eAAe;IAI3B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;;;;;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":"impact-analyzer.d.ts","sourceRoot":"","sources":["../../../src/core/impact/impact-analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE9E,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,iCAAiC,EAClC,MAAM,YAAY,CAAC;AAapB;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,mBAAmB,CAAsB;gBAErC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iCAAiC,CAAC;IAoBzF;;;;OAIG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsD9D;;;;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;;;OAGG;IACH,QAAQ,IAAI,eAAe;IAI3B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;;;;;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"}
@@ -3,7 +3,7 @@
3
3
  * 分析檔案變更的影響範圍,提供依賴追蹤和統計功能
4
4
  */
5
5
  import * as path from 'path';
6
- import { DependencyGraph } from '../shared/dependency-graph/index.js';
6
+ import { DependencyGraph } from '../foundations/dependency-graph/index.js';
7
7
  import { CycleDetector } from '../cycles/index.js';
8
8
  import { PathResolver } from './path-resolver.js';
9
9
  import { FileScanner } from './file-scanner.js';
@@ -1 +1 @@
1
- {"version":3,"file":"impact-analyzer.js","sourceRoot":"","sources":["../../../src/core/impact/impact-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"impact-analyzer.js","sourceRoot":"","sources":["../../../src/core/impact/impact-analyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Member Extractors
3
+ * 語言特定的成員提取器
4
+ */
5
+ export { extractTypeScriptMember, listTypeScriptMembers, extractClassMembers, extractDocumentation } from './typescript-extractor.js';
6
+ export { extractJavaScriptMember, listJavaScriptMembers } from './javascript-extractor.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/move-member/extractors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Member Extractors
3
+ * 語言特定的成員提取器
4
+ */
5
+ // TypeScript/TSX
6
+ export { extractTypeScriptMember, listTypeScriptMembers, extractClassMembers, extractDocumentation } from './typescript-extractor.js';
7
+ // JavaScript/JSX
8
+ export { extractJavaScriptMember, listJavaScriptMembers } from './javascript-extractor.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/move-member/extractors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iBAAiB;AACjB,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAEnC,iBAAiB;AACjB,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * JavaScript Member Extractor
3
+ * 提取 JavaScript/JSX 檔案中的成員定義
4
+ *
5
+ * 由於 JavaScript 語法是 TypeScript 的子集,
6
+ * 直接委託給 TypeScript extractor 處理
7
+ */
8
+ import { MemberType, type MemberDefinition } from '../types.js';
9
+ /**
10
+ * 提取 JavaScript 成員
11
+ *
12
+ * @param content 檔案內容
13
+ * @param filePath 檔案路徑
14
+ * @param memberName 成員名稱
15
+ * @param memberType 成員類型(可選)
16
+ * @param className 所屬類別(可選)
17
+ * @returns 找到的成員定義,或 null
18
+ */
19
+ export declare function extractJavaScriptMember(content: string, filePath: string, memberName: string, memberType?: MemberType, className?: string): MemberDefinition | null;
20
+ /**
21
+ * 列出 JavaScript 成員
22
+ *
23
+ * @param content 檔案內容
24
+ * @param filePath 檔案路徑
25
+ * @param className 篩選特定類別的成員(可選)
26
+ * @returns 成員定義陣列
27
+ */
28
+ export declare function listJavaScriptMembers(content: string, filePath: string, className?: string): MemberDefinition[];
29
+ //# sourceMappingURL=javascript-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascript-extractor.d.ts","sourceRoot":"","sources":["../../../../src/core/move-member/extractors/javascript-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGhE;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,UAAU,EACvB,SAAS,CAAC,EAAE,MAAM,GACjB,gBAAgB,GAAG,IAAI,CAEzB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,gBAAgB,EAAE,CAEpB"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * JavaScript Member Extractor
3
+ * 提取 JavaScript/JSX 檔案中的成員定義
4
+ *
5
+ * 由於 JavaScript 語法是 TypeScript 的子集,
6
+ * 直接委託給 TypeScript extractor 處理
7
+ */
8
+ import { extractTypeScriptMember, listTypeScriptMembers } from './typescript-extractor.js';
9
+ /**
10
+ * 提取 JavaScript 成員
11
+ *
12
+ * @param content 檔案內容
13
+ * @param filePath 檔案路徑
14
+ * @param memberName 成員名稱
15
+ * @param memberType 成員類型(可選)
16
+ * @param className 所屬類別(可選)
17
+ * @returns 找到的成員定義,或 null
18
+ */
19
+ export function extractJavaScriptMember(content, filePath, memberName, memberType, className) {
20
+ return extractTypeScriptMember(content, filePath, memberName, memberType, className);
21
+ }
22
+ /**
23
+ * 列出 JavaScript 成員
24
+ *
25
+ * @param content 檔案內容
26
+ * @param filePath 檔案路徑
27
+ * @param className 篩選特定類別的成員(可選)
28
+ * @returns 成員定義陣列
29
+ */
30
+ export function listJavaScriptMembers(content, filePath, className) {
31
+ return listTypeScriptMembers(content, filePath, className);
32
+ }
33
+ //# sourceMappingURL=javascript-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascript-extractor.js","sourceRoot":"","sources":["../../../../src/core/move-member/extractors/javascript-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAE3F;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAe,EACf,QAAgB,EAChB,UAAkB,EAClB,UAAuB,EACvB,SAAkB;IAElB,OAAO,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AACvF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,QAAgB,EAChB,SAAkB;IAElB,OAAO,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * TypeScript Member Extractor
3
+ * 提取 TypeScript/TSX 檔案中的成員定義
4
+ */
5
+ import { MemberType, type MemberDefinition } from '../types.js';
6
+ /**
7
+ * 提取 TypeScript 成員
8
+ *
9
+ * @param content 檔案內容
10
+ * @param filePath 檔案路徑
11
+ * @param memberName 成員名稱
12
+ * @param memberType 成員類型(可選)
13
+ * @param className 所屬類別(可選)
14
+ * @returns 找到的成員定義,或 null
15
+ */
16
+ export declare function extractTypeScriptMember(content: string, filePath: string, memberName: string, memberType?: MemberType, className?: string): MemberDefinition | null;
17
+ /**
18
+ * 列出 TypeScript 成員
19
+ *
20
+ * @param content 檔案內容
21
+ * @param filePath 檔案路徑
22
+ * @param filterClassName 篩選特定類別的成員(可選)
23
+ * @returns 成員定義陣列
24
+ */
25
+ export declare function listTypeScriptMembers(content: string, filePath: string, filterClassName?: string): MemberDefinition[];
26
+ /**
27
+ * 提取類別成員
28
+ *
29
+ * @param classSource 類別原始碼
30
+ * @param filePath 檔案路徑
31
+ * @param className 類別名稱
32
+ * @param classStartLine 類別起始行號(1-based)
33
+ * @returns 類別成員定義陣列
34
+ */
35
+ export declare function extractClassMembers(classSource: string, filePath: string, className: string, classStartLine: number): MemberDefinition[];
36
+ /**
37
+ * 提取文件註解
38
+ */
39
+ export declare function extractDocumentation(lines: string[], memberLine: number): string | undefined;
40
+ //# sourceMappingURL=typescript-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-extractor.d.ts","sourceRoot":"","sources":["../../../../src/core/move-member/extractors/typescript-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAyBhE;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,UAAU,EACvB,SAAS,CAAC,EAAE,MAAM,GACjB,gBAAgB,GAAG,IAAI,CASzB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,GACvB,gBAAgB,EAAE,CA+IpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,gBAAgB,EAAE,CAkEpB;AAmDD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA6B5F"}