agent-ide 0.8.2 → 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 (405) 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 +106 -0
  7. package/dist/core/change-signature/call-site-updater.d.ts.map +1 -0
  8. package/dist/core/change-signature/call-site-updater.js +338 -0
  9. package/dist/core/change-signature/call-site-updater.js.map +1 -0
  10. package/dist/core/change-signature/change-signature-service.d.ts +5 -63
  11. package/dist/core/change-signature/change-signature-service.d.ts.map +1 -1
  12. package/dist/core/change-signature/change-signature-service.js +27 -511
  13. package/dist/core/change-signature/change-signature-service.js.map +1 -1
  14. package/dist/core/change-signature/index.d.ts +4 -0
  15. package/dist/core/change-signature/index.d.ts.map +1 -1
  16. package/dist/core/change-signature/index.js +5 -0
  17. package/dist/core/change-signature/index.js.map +1 -1
  18. package/dist/core/change-signature/signature-parser.d.ts +1 -8
  19. package/dist/core/change-signature/signature-parser.d.ts.map +1 -1
  20. package/dist/core/change-signature/signature-parser.js +7 -23
  21. package/dist/core/change-signature/signature-parser.js.map +1 -1
  22. package/dist/core/change-signature/signature-transformer.d.ts +20 -0
  23. package/dist/core/change-signature/signature-transformer.d.ts.map +1 -0
  24. package/dist/core/change-signature/signature-transformer.js +91 -0
  25. package/dist/core/change-signature/signature-transformer.js.map +1 -0
  26. package/dist/core/change-signature/signature-validator.d.ts +30 -0
  27. package/dist/core/change-signature/signature-validator.d.ts.map +1 -0
  28. package/dist/core/change-signature/signature-validator.js +152 -0
  29. package/dist/core/change-signature/signature-validator.js.map +1 -0
  30. package/dist/core/change-signature/utils.d.ts +19 -0
  31. package/dist/core/change-signature/utils.d.ts.map +1 -0
  32. package/dist/core/change-signature/utils.js +23 -0
  33. package/dist/core/change-signature/utils.js.map +1 -0
  34. package/dist/core/cycles/cycle-detector.d.ts +1 -1
  35. package/dist/core/cycles/cycle-detector.d.ts.map +1 -1
  36. package/dist/core/cycles/cycle-detector.js +16 -8
  37. package/dist/core/cycles/cycle-detector.js.map +1 -1
  38. package/dist/core/cycles/index.d.ts +1 -1
  39. package/dist/core/cycles/index.d.ts.map +1 -1
  40. package/dist/core/cycles/index.js +1 -1
  41. package/dist/core/cycles/index.js.map +1 -1
  42. package/dist/core/cycles/types.d.ts +20 -4
  43. package/dist/core/cycles/types.d.ts.map +1 -1
  44. package/dist/core/cycles/types.js +22 -4
  45. package/dist/core/cycles/types.js.map +1 -1
  46. package/dist/core/deadcode/dead-code-detector.d.ts +2 -13
  47. package/dist/core/deadcode/dead-code-detector.d.ts.map +1 -1
  48. package/dist/core/deadcode/dead-code-detector.js +6 -29
  49. package/dist/core/deadcode/dead-code-detector.js.map +1 -1
  50. package/dist/core/deadcode/dead-code-remover.js +4 -4
  51. package/dist/core/deadcode/dead-code-remover.js.map +1 -1
  52. package/dist/core/deadcode/import-cleaner.js +1 -1
  53. package/dist/core/deadcode/import-cleaner.js.map +1 -1
  54. package/dist/core/deadcode/import-parser.d.ts +0 -4
  55. package/dist/core/deadcode/import-parser.d.ts.map +1 -1
  56. package/dist/core/deadcode/import-parser.js +4 -10
  57. package/dist/core/deadcode/import-parser.js.map +1 -1
  58. package/dist/core/deadcode/range-expander.d.ts +0 -4
  59. package/dist/core/deadcode/range-expander.d.ts.map +1 -1
  60. package/dist/core/deadcode/range-expander.js +14 -10
  61. package/dist/core/deadcode/range-expander.js.map +1 -1
  62. package/dist/core/find-references/index.d.ts +3 -3
  63. package/dist/core/find-references/index.d.ts.map +1 -1
  64. package/dist/core/find-references/index.js +2 -2
  65. package/dist/core/find-references/index.js.map +1 -1
  66. package/dist/core/foundations/dependency-graph/dependency-graph.d.ts.map +1 -0
  67. package/dist/core/foundations/dependency-graph/dependency-graph.js.map +1 -0
  68. package/dist/core/foundations/dependency-graph/index.d.ts.map +1 -0
  69. package/dist/core/foundations/dependency-graph/index.js.map +1 -0
  70. package/dist/core/foundations/dependency-graph/types.d.ts.map +1 -0
  71. package/dist/core/foundations/dependency-graph/types.js.map +1 -0
  72. package/dist/core/foundations/file-utils.d.ts +50 -0
  73. package/dist/core/foundations/file-utils.d.ts.map +1 -0
  74. package/dist/core/foundations/file-utils.js +75 -0
  75. package/dist/core/foundations/file-utils.js.map +1 -0
  76. package/dist/core/foundations/index.d.ts +13 -0
  77. package/dist/core/foundations/index.d.ts.map +1 -0
  78. package/dist/core/foundations/index.js +17 -0
  79. package/dist/core/foundations/index.js.map +1 -0
  80. package/dist/core/foundations/indexing/file-index.d.ts.map +1 -0
  81. package/dist/core/foundations/indexing/file-index.js.map +1 -0
  82. package/dist/core/foundations/indexing/index-engine.d.ts.map +1 -0
  83. package/dist/core/foundations/indexing/index-engine.js.map +1 -0
  84. package/dist/core/foundations/indexing/index.d.ts.map +1 -0
  85. package/dist/core/foundations/indexing/index.js.map +1 -0
  86. package/dist/core/foundations/indexing/symbol-index.d.ts.map +1 -0
  87. package/dist/core/foundations/indexing/symbol-index.js.map +1 -0
  88. package/dist/core/{shared → foundations}/indexing/types.d.ts +1 -1
  89. package/dist/core/foundations/indexing/types.d.ts.map +1 -0
  90. package/dist/core/{shared → foundations}/indexing/types.js +11 -1
  91. package/dist/core/foundations/indexing/types.js.map +1 -0
  92. package/dist/core/foundations/symbol-finder/call-site-parser.d.ts.map +1 -0
  93. package/dist/core/foundations/symbol-finder/call-site-parser.js.map +1 -0
  94. package/dist/core/foundations/symbol-finder/index.d.ts.map +1 -0
  95. package/dist/core/foundations/symbol-finder/index.js.map +1 -0
  96. package/dist/core/{shared → foundations}/symbol-finder/symbol-finder.d.ts +24 -10
  97. package/dist/core/foundations/symbol-finder/symbol-finder.d.ts.map +1 -0
  98. package/dist/core/{shared → foundations}/symbol-finder/symbol-finder.js +127 -149
  99. package/dist/core/foundations/symbol-finder/symbol-finder.js.map +1 -0
  100. package/dist/core/foundations/symbol-finder/text-matcher.d.ts.map +1 -0
  101. package/dist/core/foundations/symbol-finder/text-matcher.js.map +1 -0
  102. package/dist/core/foundations/symbol-finder/types.d.ts.map +1 -0
  103. package/dist/core/foundations/symbol-finder/types.js.map +1 -0
  104. package/dist/core/impact/dependency-extractor.d.ts +25 -0
  105. package/dist/core/impact/dependency-extractor.d.ts.map +1 -0
  106. package/dist/core/impact/dependency-extractor.js +65 -0
  107. package/dist/core/impact/dependency-extractor.js.map +1 -0
  108. package/dist/core/impact/file-scanner.d.ts +52 -0
  109. package/dist/core/impact/file-scanner.d.ts.map +1 -0
  110. package/dist/core/impact/file-scanner.js +131 -0
  111. package/dist/core/impact/file-scanner.js.map +1 -0
  112. package/dist/core/impact/impact-analyzer.d.ts +4 -65
  113. package/dist/core/impact/impact-analyzer.d.ts.map +1 -1
  114. package/dist/core/impact/impact-analyzer.js +14 -313
  115. package/dist/core/impact/impact-analyzer.js.map +1 -1
  116. package/dist/core/impact/index.d.ts +3 -0
  117. package/dist/core/impact/index.d.ts.map +1 -1
  118. package/dist/core/impact/index.js +3 -0
  119. package/dist/core/impact/index.js.map +1 -1
  120. package/dist/core/impact/path-resolver.d.ts +35 -0
  121. package/dist/core/impact/path-resolver.d.ts.map +1 -0
  122. package/dist/core/impact/path-resolver.js +166 -0
  123. package/dist/core/impact/path-resolver.js.map +1 -0
  124. package/dist/core/move/file-scanner.d.ts +48 -0
  125. package/dist/core/move/file-scanner.d.ts.map +1 -0
  126. package/dist/core/move/file-scanner.js +137 -0
  127. package/dist/core/move/file-scanner.js.map +1 -0
  128. package/dist/core/move/import-resolver.d.ts +5 -0
  129. package/dist/core/move/import-resolver.d.ts.map +1 -1
  130. package/dist/core/move/import-resolver.js +24 -6
  131. package/dist/core/move/import-resolver.js.map +1 -1
  132. package/dist/core/move/index.d.ts +7 -3
  133. package/dist/core/move/index.d.ts.map +1 -1
  134. package/dist/core/move/index.js +7 -2
  135. package/dist/core/move/index.js.map +1 -1
  136. package/dist/core/move/move-service.d.ts +11 -60
  137. package/dist/core/move/move-service.d.ts.map +1 -1
  138. package/dist/core/move/move-service.js +16 -352
  139. package/dist/core/move/move-service.js.map +1 -1
  140. package/dist/core/move/path-calculator.d.ts +49 -0
  141. package/dist/core/move/path-calculator.d.ts.map +1 -0
  142. package/dist/core/move/path-calculator.js +158 -0
  143. package/dist/core/move/path-calculator.js.map +1 -0
  144. package/dist/core/move/path-parser.d.ts +33 -0
  145. package/dist/core/move/path-parser.d.ts.map +1 -0
  146. package/dist/core/move/path-parser.js +53 -0
  147. package/dist/core/move/path-parser.js.map +1 -0
  148. package/dist/core/move/path-utils.d.ts +70 -0
  149. package/dist/core/move/path-utils.d.ts.map +1 -0
  150. package/dist/core/move/path-utils.js +201 -0
  151. package/dist/core/move/path-utils.js.map +1 -0
  152. package/dist/core/move/types.d.ts +81 -18
  153. package/dist/core/move/types.d.ts.map +1 -1
  154. package/dist/core/move/types.js +73 -5
  155. package/dist/core/move/types.js.map +1 -1
  156. package/dist/core/move-member/change-applier.d.ts +23 -0
  157. package/dist/core/move-member/change-applier.d.ts.map +1 -0
  158. package/dist/core/move-member/change-applier.js +51 -0
  159. package/dist/core/move-member/change-applier.js.map +1 -0
  160. package/dist/core/move-member/extractors/index.d.ts +7 -0
  161. package/dist/core/move-member/extractors/index.d.ts.map +1 -0
  162. package/dist/core/move-member/extractors/index.js +9 -0
  163. package/dist/core/move-member/extractors/index.js.map +1 -0
  164. package/dist/core/move-member/extractors/javascript-extractor.d.ts +29 -0
  165. package/dist/core/move-member/extractors/javascript-extractor.d.ts.map +1 -0
  166. package/dist/core/move-member/extractors/javascript-extractor.js +33 -0
  167. package/dist/core/move-member/extractors/javascript-extractor.js.map +1 -0
  168. package/dist/core/move-member/extractors/typescript-extractor.d.ts +40 -0
  169. package/dist/core/move-member/extractors/typescript-extractor.d.ts.map +1 -0
  170. package/dist/core/move-member/extractors/typescript-extractor.js +286 -0
  171. package/dist/core/move-member/extractors/typescript-extractor.js.map +1 -0
  172. package/dist/core/move-member/file-change-preparer.d.ts +49 -0
  173. package/dist/core/move-member/file-change-preparer.d.ts.map +1 -0
  174. package/dist/core/move-member/file-change-preparer.js +340 -0
  175. package/dist/core/move-member/file-change-preparer.js.map +1 -0
  176. package/dist/core/move-member/index.d.ts +4 -1
  177. package/dist/core/move-member/index.d.ts.map +1 -1
  178. package/dist/core/move-member/index.js +3 -0
  179. package/dist/core/move-member/index.js.map +1 -1
  180. package/dist/core/move-member/member-extractor.d.ts +21 -60
  181. package/dist/core/move-member/member-extractor.d.ts.map +1 -1
  182. package/dist/core/move-member/member-extractor.js +59 -335
  183. package/dist/core/move-member/member-extractor.js.map +1 -1
  184. package/dist/core/move-member/move-member-service.d.ts +3 -78
  185. package/dist/core/move-member/move-member-service.d.ts.map +1 -1
  186. package/dist/core/move-member/move-member-service.js +35 -419
  187. package/dist/core/move-member/move-member-service.js.map +1 -1
  188. package/dist/core/move-member/reference-updater.d.ts +73 -0
  189. package/dist/core/move-member/reference-updater.d.ts.map +1 -0
  190. package/dist/core/move-member/reference-updater.js +288 -0
  191. package/dist/core/move-member/reference-updater.js.map +1 -0
  192. package/dist/core/move-member/types.d.ts +17 -2
  193. package/dist/core/move-member/types.d.ts.map +1 -1
  194. package/dist/core/move-member/types.js.map +1 -1
  195. package/dist/core/move-member/utils/range-finder.d.ts +40 -0
  196. package/dist/core/move-member/utils/range-finder.d.ts.map +1 -0
  197. package/dist/core/move-member/utils/range-finder.js +101 -0
  198. package/dist/core/move-member/utils/range-finder.js.map +1 -0
  199. package/dist/core/rename/reference-updater.d.ts +5 -0
  200. package/dist/core/rename/reference-updater.d.ts.map +1 -1
  201. package/dist/core/rename/reference-updater.js +21 -5
  202. package/dist/core/rename/reference-updater.js.map +1 -1
  203. package/dist/core/rename/rename-engine.d.ts +5 -3
  204. package/dist/core/rename/rename-engine.d.ts.map +1 -1
  205. package/dist/core/rename/rename-engine.js +29 -8
  206. package/dist/core/rename/rename-engine.js.map +1 -1
  207. package/dist/core/rename/types.d.ts.map +1 -1
  208. package/dist/core/snapshot/snapshot-generator.d.ts +0 -29
  209. package/dist/core/snapshot/snapshot-generator.d.ts.map +1 -1
  210. package/dist/core/snapshot/snapshot-generator.js +6 -183
  211. package/dist/core/snapshot/snapshot-generator.js.map +1 -1
  212. package/dist/core/snapshot/utils/bracket-balancer.d.ts +27 -0
  213. package/dist/core/snapshot/utils/bracket-balancer.d.ts.map +1 -0
  214. package/dist/core/snapshot/utils/bracket-balancer.js +70 -0
  215. package/dist/core/snapshot/utils/bracket-balancer.js.map +1 -0
  216. package/dist/core/snapshot/utils/factory-pattern-detector.d.ts +22 -0
  217. package/dist/core/snapshot/utils/factory-pattern-detector.d.ts.map +1 -0
  218. package/dist/core/snapshot/utils/factory-pattern-detector.js +70 -0
  219. package/dist/core/snapshot/utils/factory-pattern-detector.js.map +1 -0
  220. package/dist/core/snapshot/utils/index.d.ts +7 -0
  221. package/dist/core/snapshot/utils/index.d.ts.map +1 -0
  222. package/dist/core/snapshot/utils/index.js +7 -0
  223. package/dist/core/snapshot/utils/index.js.map +1 -0
  224. package/dist/core/snapshot/utils/symbol-formatter.d.ts +37 -0
  225. package/dist/core/snapshot/utils/symbol-formatter.d.ts.map +1 -0
  226. package/dist/core/snapshot/utils/symbol-formatter.js +89 -0
  227. package/dist/core/snapshot/utils/symbol-formatter.js.map +1 -0
  228. package/dist/infrastructure/changeset/change-applicator.d.ts +1 -1
  229. package/dist/infrastructure/changeset/change-applicator.d.ts.map +1 -1
  230. package/dist/infrastructure/changeset/change-applicator.js +22 -21
  231. package/dist/infrastructure/changeset/change-applicator.js.map +1 -1
  232. package/dist/infrastructure/changeset/changeset-builder.d.ts +2 -2
  233. package/dist/infrastructure/changeset/changeset-builder.d.ts.map +1 -1
  234. package/dist/infrastructure/changeset/changeset-builder.js +11 -6
  235. package/dist/infrastructure/changeset/changeset-builder.js.map +1 -1
  236. package/dist/infrastructure/changeset/changeset-converter.d.ts +1 -1
  237. package/dist/infrastructure/changeset/changeset-converter.d.ts.map +1 -1
  238. package/dist/infrastructure/changeset/changeset-converter.js +9 -8
  239. package/dist/infrastructure/changeset/changeset-converter.js.map +1 -1
  240. package/dist/infrastructure/changeset/index.d.ts +1 -0
  241. package/dist/infrastructure/changeset/index.d.ts.map +1 -1
  242. package/dist/infrastructure/changeset/index.js +2 -0
  243. package/dist/infrastructure/changeset/index.js.map +1 -1
  244. package/dist/infrastructure/changeset/types.d.ts +41 -4
  245. package/dist/infrastructure/changeset/types.d.ts.map +1 -1
  246. package/dist/infrastructure/changeset/types.js +41 -1
  247. package/dist/infrastructure/changeset/types.js.map +1 -1
  248. package/dist/infrastructure/formatters/query-formatter.d.ts +8 -62
  249. package/dist/infrastructure/formatters/query-formatter.d.ts.map +1 -1
  250. package/dist/infrastructure/formatters/query-formatter.js +29 -438
  251. package/dist/infrastructure/formatters/query-formatter.js.map +1 -1
  252. package/dist/infrastructure/formatters/strategies/analyze-formatter.d.ts +24 -0
  253. package/dist/infrastructure/formatters/strategies/analyze-formatter.d.ts.map +1 -0
  254. package/dist/infrastructure/formatters/strategies/analyze-formatter.js +107 -0
  255. package/dist/infrastructure/formatters/strategies/analyze-formatter.js.map +1 -0
  256. package/dist/infrastructure/formatters/strategies/base-formatter.d.ts +67 -0
  257. package/dist/infrastructure/formatters/strategies/base-formatter.d.ts.map +1 -0
  258. package/dist/infrastructure/formatters/strategies/base-formatter.js +75 -0
  259. package/dist/infrastructure/formatters/strategies/base-formatter.js.map +1 -0
  260. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.d.ts +19 -0
  261. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.d.ts.map +1 -0
  262. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.js +77 -0
  263. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.js.map +1 -0
  264. package/dist/infrastructure/formatters/strategies/deps-formatter.d.ts +15 -0
  265. package/dist/infrastructure/formatters/strategies/deps-formatter.d.ts.map +1 -0
  266. package/dist/infrastructure/formatters/strategies/deps-formatter.js +47 -0
  267. package/dist/infrastructure/formatters/strategies/deps-formatter.js.map +1 -0
  268. package/dist/infrastructure/formatters/strategies/find-references-formatter.d.ts +23 -0
  269. package/dist/infrastructure/formatters/strategies/find-references-formatter.d.ts.map +1 -0
  270. package/dist/infrastructure/formatters/strategies/find-references-formatter.js +71 -0
  271. package/dist/infrastructure/formatters/strategies/find-references-formatter.js.map +1 -0
  272. package/dist/infrastructure/formatters/strategies/index.d.ts +11 -0
  273. package/dist/infrastructure/formatters/strategies/index.d.ts.map +1 -0
  274. package/dist/infrastructure/formatters/strategies/index.js +11 -0
  275. package/dist/infrastructure/formatters/strategies/index.js.map +1 -0
  276. package/dist/infrastructure/formatters/strategies/search-formatter.d.ts +15 -0
  277. package/dist/infrastructure/formatters/strategies/search-formatter.d.ts.map +1 -0
  278. package/dist/infrastructure/formatters/strategies/search-formatter.js +32 -0
  279. package/dist/infrastructure/formatters/strategies/search-formatter.js.map +1 -0
  280. package/dist/infrastructure/formatters/strategies/snapshot-formatter.d.ts +20 -0
  281. package/dist/infrastructure/formatters/strategies/snapshot-formatter.d.ts.map +1 -0
  282. package/dist/infrastructure/formatters/strategies/snapshot-formatter.js +101 -0
  283. package/dist/infrastructure/formatters/strategies/snapshot-formatter.js.map +1 -0
  284. package/dist/infrastructure/parser/registry.js.map +1 -1
  285. package/dist/interfaces/cli/cli.d.ts.map +1 -1
  286. package/dist/interfaces/cli/cli.js +1 -2
  287. package/dist/interfaces/cli/cli.js.map +1 -1
  288. package/dist/interfaces/cli/commands/call-hierarchy.command.js +1 -1
  289. package/dist/interfaces/cli/commands/call-hierarchy.command.js.map +1 -1
  290. package/dist/interfaces/cli/commands/change-signature.command.js +3 -2
  291. package/dist/interfaces/cli/commands/change-signature.command.js.map +1 -1
  292. package/dist/interfaces/cli/commands/deadcode.command.js +1 -1
  293. package/dist/interfaces/cli/commands/deadcode.command.js.map +1 -1
  294. package/dist/interfaces/cli/commands/find-references.command.js +2 -2
  295. package/dist/interfaces/cli/commands/find-references.command.js.map +1 -1
  296. package/dist/interfaces/cli/commands/index.d.ts +0 -1
  297. package/dist/interfaces/cli/commands/index.d.ts.map +1 -1
  298. package/dist/interfaces/cli/commands/index.js +0 -1
  299. package/dist/interfaces/cli/commands/index.js.map +1 -1
  300. package/dist/interfaces/cli/commands/move.command.d.ts +1 -0
  301. package/dist/interfaces/cli/commands/move.command.d.ts.map +1 -1
  302. package/dist/interfaces/cli/commands/move.command.js +127 -11
  303. package/dist/interfaces/cli/commands/move.command.js.map +1 -1
  304. package/dist/interfaces/cli/commands/rename.command.d.ts.map +1 -1
  305. package/dist/interfaces/cli/commands/rename.command.js +116 -8
  306. package/dist/interfaces/cli/commands/rename.command.js.map +1 -1
  307. package/dist/interfaces/cli/preview-output-handler.d.ts.map +1 -1
  308. package/dist/interfaces/cli/preview-output-handler.js.map +1 -1
  309. package/dist/interfaces/cli/unified-output-handler.d.ts.map +1 -1
  310. package/dist/interfaces/cli/unified-output-handler.js.map +1 -1
  311. package/dist/plugins/javascript/declaration-analyzer.d.ts.map +1 -1
  312. package/dist/plugins/javascript/declaration-analyzer.js +9 -0
  313. package/dist/plugins/javascript/declaration-analyzer.js.map +1 -1
  314. package/dist/plugins/javascript/parser.d.ts +0 -2
  315. package/dist/plugins/javascript/parser.d.ts.map +1 -1
  316. package/dist/plugins/javascript/parser.js +3 -19
  317. package/dist/plugins/javascript/parser.js.map +1 -1
  318. package/dist/plugins/javascript/types.d.ts.map +1 -1
  319. package/dist/plugins/javascript/types.js.map +1 -1
  320. package/dist/plugins/shared/index.d.ts +1 -0
  321. package/dist/plugins/shared/index.d.ts.map +1 -1
  322. package/dist/plugins/shared/index.js +2 -0
  323. package/dist/plugins/shared/index.js.map +1 -1
  324. package/dist/plugins/shared/utils/async.d.ts.map +1 -1
  325. package/dist/plugins/shared/utils/async.js.map +1 -1
  326. package/dist/plugins/shared/utils/object.js +5 -5
  327. package/dist/plugins/shared/utils/object.js.map +1 -1
  328. package/dist/plugins/shared/validators.d.ts +15 -0
  329. package/dist/plugins/shared/validators.d.ts.map +1 -0
  330. package/dist/plugins/shared/validators.js +29 -0
  331. package/dist/plugins/shared/validators.js.map +1 -0
  332. package/dist/plugins/typescript/declaration-analyzer.d.ts.map +1 -1
  333. package/dist/plugins/typescript/declaration-analyzer.js +4 -0
  334. package/dist/plugins/typescript/declaration-analyzer.js.map +1 -1
  335. package/dist/plugins/typescript/dependency-analyzer.d.ts.map +1 -1
  336. package/dist/plugins/typescript/dependency-analyzer.js.map +1 -1
  337. package/dist/plugins/typescript/parser.d.ts +0 -2
  338. package/dist/plugins/typescript/parser.d.ts.map +1 -1
  339. package/dist/plugins/typescript/parser.js +3 -19
  340. package/dist/plugins/typescript/parser.js.map +1 -1
  341. package/dist/plugins/typescript/reference-finder.d.ts.map +1 -1
  342. package/dist/plugins/typescript/reference-finder.js +11 -2
  343. package/dist/plugins/typescript/reference-finder.js.map +1 -1
  344. package/dist/plugins/typescript/symbol-extractor.d.ts.map +1 -1
  345. package/dist/plugins/typescript/symbol-extractor.js +6 -2
  346. package/dist/plugins/typescript/symbol-extractor.js.map +1 -1
  347. package/dist/plugins/typescript/types.d.ts.map +1 -1
  348. package/dist/plugins/typescript/types.js.map +1 -1
  349. package/package.json +1 -1
  350. package/dist/core/shared/dependency-graph/dependency-graph.d.ts.map +0 -1
  351. package/dist/core/shared/dependency-graph/dependency-graph.js.map +0 -1
  352. package/dist/core/shared/dependency-graph/index.d.ts.map +0 -1
  353. package/dist/core/shared/dependency-graph/index.js.map +0 -1
  354. package/dist/core/shared/dependency-graph/types.d.ts.map +0 -1
  355. package/dist/core/shared/dependency-graph/types.js.map +0 -1
  356. package/dist/core/shared/index.d.ts +0 -8
  357. package/dist/core/shared/index.d.ts.map +0 -1
  358. package/dist/core/shared/index.js +0 -11
  359. package/dist/core/shared/index.js.map +0 -1
  360. package/dist/core/shared/indexing/file-index.d.ts.map +0 -1
  361. package/dist/core/shared/indexing/file-index.js.map +0 -1
  362. package/dist/core/shared/indexing/index-engine.d.ts.map +0 -1
  363. package/dist/core/shared/indexing/index-engine.js.map +0 -1
  364. package/dist/core/shared/indexing/index.d.ts.map +0 -1
  365. package/dist/core/shared/indexing/index.js.map +0 -1
  366. package/dist/core/shared/indexing/symbol-index.d.ts.map +0 -1
  367. package/dist/core/shared/indexing/symbol-index.js.map +0 -1
  368. package/dist/core/shared/indexing/types.d.ts.map +0 -1
  369. package/dist/core/shared/indexing/types.js.map +0 -1
  370. package/dist/core/shared/symbol-finder/call-site-parser.d.ts.map +0 -1
  371. package/dist/core/shared/symbol-finder/call-site-parser.js.map +0 -1
  372. package/dist/core/shared/symbol-finder/index.d.ts.map +0 -1
  373. package/dist/core/shared/symbol-finder/index.js.map +0 -1
  374. package/dist/core/shared/symbol-finder/symbol-finder.d.ts.map +0 -1
  375. package/dist/core/shared/symbol-finder/symbol-finder.js.map +0 -1
  376. package/dist/core/shared/symbol-finder/text-matcher.d.ts.map +0 -1
  377. package/dist/core/shared/symbol-finder/text-matcher.js.map +0 -1
  378. package/dist/core/shared/symbol-finder/types.d.ts.map +0 -1
  379. package/dist/core/shared/symbol-finder/types.js.map +0 -1
  380. package/dist/interfaces/cli/commands/move-member.command.d.ts +0 -11
  381. package/dist/interfaces/cli/commands/move-member.command.d.ts.map +0 -1
  382. package/dist/interfaces/cli/commands/move-member.command.js +0 -140
  383. package/dist/interfaces/cli/commands/move-member.command.js.map +0 -1
  384. /package/dist/core/{shared → foundations}/dependency-graph/dependency-graph.d.ts +0 -0
  385. /package/dist/core/{shared → foundations}/dependency-graph/dependency-graph.js +0 -0
  386. /package/dist/core/{shared → foundations}/dependency-graph/index.d.ts +0 -0
  387. /package/dist/core/{shared → foundations}/dependency-graph/index.js +0 -0
  388. /package/dist/core/{shared → foundations}/dependency-graph/types.d.ts +0 -0
  389. /package/dist/core/{shared → foundations}/dependency-graph/types.js +0 -0
  390. /package/dist/core/{shared → foundations}/indexing/file-index.d.ts +0 -0
  391. /package/dist/core/{shared → foundations}/indexing/file-index.js +0 -0
  392. /package/dist/core/{shared → foundations}/indexing/index-engine.d.ts +0 -0
  393. /package/dist/core/{shared → foundations}/indexing/index-engine.js +0 -0
  394. /package/dist/core/{shared → foundations}/indexing/index.d.ts +0 -0
  395. /package/dist/core/{shared → foundations}/indexing/index.js +0 -0
  396. /package/dist/core/{shared → foundations}/indexing/symbol-index.d.ts +0 -0
  397. /package/dist/core/{shared → foundations}/indexing/symbol-index.js +0 -0
  398. /package/dist/core/{shared → foundations}/symbol-finder/call-site-parser.d.ts +0 -0
  399. /package/dist/core/{shared → foundations}/symbol-finder/call-site-parser.js +0 -0
  400. /package/dist/core/{shared → foundations}/symbol-finder/index.d.ts +0 -0
  401. /package/dist/core/{shared → foundations}/symbol-finder/index.js +0 -0
  402. /package/dist/core/{shared → foundations}/symbol-finder/text-matcher.d.ts +0 -0
  403. /package/dist/core/{shared → foundations}/symbol-finder/text-matcher.js +0 -0
  404. /package/dist/core/{shared → foundations}/symbol-finder/types.d.ts +0 -0
  405. /package/dist/core/{shared → foundations}/symbol-finder/types.js +0 -0
@@ -3,8 +3,10 @@
3
3
  * 提供安全的檔案移動功能,自動更新所有相關的 import 路徑
4
4
  */
5
5
  import * as path from 'path';
6
- import { createChangesetBuilder } from '../../infrastructure/changeset/index.js';
6
+ import { ChangesetCommand, TextEditOperationType, createChangesetBuilder } from '../../infrastructure/changeset/index.js';
7
7
  import { ImportResolver } from './import-resolver.js';
8
+ import { PathCalculator } from './path-calculator.js';
9
+ import { PathUtils } from './path-utils.js';
8
10
  import { createMoveError } from './types.js';
9
11
  /**
10
12
  * 移動操作錯誤類別
@@ -29,16 +31,13 @@ export class MoveOperationError extends Error {
29
31
  }
30
32
  }
31
33
  /**
32
- * 支援的檔案副檔名
34
+ * 檔案移動服務類別
33
35
  */
34
- const ALLOWED_EXTENSIONS = ['.ts', '.tsx', '.js', '.jsx', '.vue'];
35
- /**
36
- * 排除的目錄模式
37
- */
38
- const EXCLUDE_PATTERNS = ['node_modules', 'dist', '.git', 'coverage', '.build'];
39
36
  export class MoveService {
40
37
  fileSystem;
41
38
  importResolver;
39
+ pathCalculator;
40
+ pathUtils;
42
41
  constructor(fileSystem, config, importResolver) {
43
42
  this.fileSystem = fileSystem;
44
43
  if (importResolver) {
@@ -52,6 +51,8 @@ export class MoveService {
52
51
  };
53
52
  this.importResolver = new ImportResolver(defaultConfig);
54
53
  }
54
+ this.pathCalculator = new PathCalculator(this.fileSystem, this.importResolver);
55
+ this.pathUtils = new PathUtils(this.importResolver);
55
56
  }
56
57
  /**
57
58
  * 移動檔案或目錄
@@ -66,9 +67,9 @@ export class MoveService {
66
67
  await this.validatePaths(source, target);
67
68
  // 檢查是否為目錄
68
69
  const isDirectory = await this.fileSystem.isDirectory(source);
69
- // 2. 收集需要更新的檔案(使用共用方法)
70
+ // 2. 收集需要更新的檔案
70
71
  const pathUpdates = updateImports
71
- ? await this.calculatePathUpdatesInternal(source, target, isDirectory, projectRoot)
72
+ ? await this.pathCalculator.calculatePathUpdatesInternal(source, target, isDirectory, projectRoot)
72
73
  : [];
73
74
  // 3. 預覽模式
74
75
  if (preview) {
@@ -161,44 +162,6 @@ export class MoveService {
161
162
  };
162
163
  }
163
164
  }
164
- /**
165
- * 計算路徑更新的內部共用方法
166
- * 用於 moveFile() 和 generateChangeset() 共用
167
- */
168
- async calculatePathUpdatesInternal(source, target, isDirectory, projectRoot) {
169
- const pathUpdates = [];
170
- if (isDirectory) {
171
- // 目錄移動:處理目錄內所有檔案
172
- const filesInDir = await this.getFilesInDirectory(source);
173
- for (const filePath of filesInDir) {
174
- // 計算檔案在目錄內的相對路徑
175
- const relativePath = path.relative(source, filePath);
176
- const newFilePath = path.join(target, relativePath);
177
- // 更新其他檔案對目錄內檔案的引用
178
- const affectedFiles = await this.findAffectedFiles(filePath, projectRoot);
179
- for (const affectedFile of affectedFiles) {
180
- const updates = await this.calculatePathUpdates(affectedFile, filePath, newFilePath);
181
- pathUpdates.push(...updates);
182
- }
183
- // 更新目錄內檔案的內部 import
184
- const internalUpdates = await this.calculateMovedFileInternalUpdates(filePath, newFilePath);
185
- pathUpdates.push(...internalUpdates);
186
- }
187
- }
188
- else {
189
- // 單一檔案移動
190
- // 更新其他檔案對被移動檔案的引用
191
- const affectedFiles = await this.findAffectedFiles(source, projectRoot);
192
- for (const filePath of affectedFiles) {
193
- const updates = await this.calculatePathUpdates(filePath, source, target);
194
- pathUpdates.push(...updates);
195
- }
196
- // 更新被移動檔案內部的 import(在移動前處理)
197
- const movedFileInternalUpdates = await this.calculateMovedFileInternalUpdates(source, target);
198
- pathUpdates.push(...movedFileInternalUpdates);
199
- }
200
- return pathUpdates;
201
- }
202
165
  /**
203
166
  * 執行回滾操作
204
167
  */
@@ -214,7 +177,7 @@ export class MoveService {
214
177
  * 生成移動的 Changeset
215
178
  * 不執行實際移動,只計算變更
216
179
  *
217
- * @param operation - 移動操作
180
+ * @param operation - 移動操作輸入
218
181
  * @param options - 移動選項
219
182
  * @returns Changeset 物件
220
183
  */
@@ -222,16 +185,16 @@ export class MoveService {
222
185
  const { source, target, updateImports = true } = operation;
223
186
  const { projectRoot = process.cwd() } = options;
224
187
  const builder = createChangesetBuilder()
225
- .forCommand('move')
188
+ .forCommand(ChangesetCommand.Move)
226
189
  .withDescription(`Moved '${path.basename(source)}' to '${path.basename(target)}'`);
227
190
  try {
228
191
  // 驗證路徑(只讀驗證,不建立目錄)
229
192
  await this.validatePathsForChangeset(source, target);
230
193
  // 檢查是否為目錄
231
194
  const isDirectory = await this.fileSystem.isDirectory(source);
232
- // 收集 import 更新(使用共用方法)
195
+ // 收集 import 更新
233
196
  const pathUpdates = updateImports
234
- ? await this.calculatePathUpdatesInternal(source, target, isDirectory, projectRoot)
197
+ ? await this.pathCalculator.calculatePathUpdatesInternal(source, target, isDirectory, projectRoot)
235
198
  : [];
236
199
  // 轉換 pathUpdates 為 TextEdit,按檔案分組
237
200
  // 注意:對於被移動檔案的內部更新,filePath 是 target,但需要從 source 讀取內容
@@ -276,7 +239,7 @@ export class MoveService {
276
239
  });
277
240
  // 對於被移動檔案,使用原始路徑來建立 TextChange(轉換器會從該路徑讀取)
278
241
  // 實際的檔案移動由 fileOperations 處理
279
- builder.addTextChange(readPath, edits, 'modify');
242
+ builder.addTextChange(readPath, edits, TextEditOperationType.Modify);
280
243
  }
281
244
  // 新增檔案移動操作
282
245
  builder.addFileMove(source, target);
@@ -368,299 +331,6 @@ export class MoveService {
368
331
  // 刪除原目錄
369
332
  await this.fileSystem.deleteDirectory(source);
370
333
  }
371
- /**
372
- * 找出受影響的檔案
373
- */
374
- async findAffectedFiles(movedPath, projectRoot) {
375
- const affectedFiles = [];
376
- const files = await this.getAllProjectFiles(projectRoot);
377
- for (const file of files) {
378
- // 跳過被移動的檔案本身(處理不同的路徑格式)
379
- const normalizedFile = path.normalize(file);
380
- const normalizedMovedPath = path.normalize(movedPath);
381
- if (normalizedFile === normalizedMovedPath) {
382
- continue;
383
- }
384
- const hasReference = await this.fileReferencesPath(file, movedPath);
385
- if (hasReference) {
386
- affectedFiles.push(file);
387
- }
388
- }
389
- return affectedFiles;
390
- }
391
- /**
392
- * 獲取專案中的所有檔案
393
- */
394
- async getAllProjectFiles(projectRoot) {
395
- const files = [];
396
- const walkDir = async (dir) => {
397
- try {
398
- const entries = await this.fileSystem.readDirectory(dir);
399
- for (const entry of entries) {
400
- if (entry.isDirectory) {
401
- // 跳過排除的目錄
402
- if (EXCLUDE_PATTERNS.some(pattern => entry.name.includes(pattern))) {
403
- continue;
404
- }
405
- await walkDir(entry.path);
406
- }
407
- else if (entry.isFile) {
408
- // 只包含支援的副檔名
409
- if (ALLOWED_EXTENSIONS.some(ext => entry.name.endsWith(ext))) {
410
- files.push(entry.path);
411
- }
412
- }
413
- }
414
- }
415
- catch {
416
- // 忽略無法存取的目錄
417
- }
418
- };
419
- await walkDir(projectRoot);
420
- return files;
421
- }
422
- /**
423
- * 獲取目錄內的所有檔案(遞迴)
424
- */
425
- async getFilesInDirectory(dirPath) {
426
- const files = [];
427
- const walkDir = async (dir) => {
428
- try {
429
- const entries = await this.fileSystem.readDirectory(dir);
430
- for (const entry of entries) {
431
- if (entry.isDirectory) {
432
- await walkDir(entry.path);
433
- }
434
- else if (entry.isFile) {
435
- if (ALLOWED_EXTENSIONS.some(ext => entry.name.endsWith(ext))) {
436
- files.push(entry.path);
437
- }
438
- }
439
- }
440
- }
441
- catch {
442
- // 忽略無法存取的目錄
443
- }
444
- };
445
- await walkDir(dirPath);
446
- return files;
447
- }
448
- /**
449
- * 檢查檔案是否引用了指定路徑
450
- */
451
- async fileReferencesPath(filePath, targetPath) {
452
- try {
453
- const content = await this.fileSystem.readFile(filePath, 'utf-8');
454
- const imports = this.importResolver.parseImportStatements(content, filePath);
455
- for (const importStatement of imports) {
456
- // 跳過 node_modules
457
- if (this.importResolver.isNodeModuleImport(importStatement.path)) {
458
- continue;
459
- }
460
- // 解析 import 路徑並檢查是否指向目標檔案
461
- const resolvedPath = this.resolveImportPath(importStatement.path, filePath);
462
- if (this.pathsMatch(resolvedPath, targetPath)) {
463
- return true;
464
- }
465
- }
466
- return false;
467
- }
468
- catch {
469
- return false;
470
- }
471
- }
472
- /**
473
- * 解析 import 路徑為絕對路徑
474
- */
475
- resolveImportPath(importPath, fromFile) {
476
- if (this.importResolver.isNodeModuleImport(importPath)) {
477
- return importPath; // Node 模組不處理
478
- }
479
- if (importPath.startsWith('.')) {
480
- // 相對路徑 - 轉換為絕對路徑
481
- const fromDir = path.dirname(path.isAbsolute(fromFile) ? fromFile : path.resolve(fromFile));
482
- const resolved = path.resolve(fromDir, importPath);
483
- // 正規化路徑
484
- return path.normalize(resolved);
485
- }
486
- // 嘗試解析別名(如 @/ 開頭的路徑映射)
487
- const resolved = this.importResolver.resolvePathAlias(importPath);
488
- if (resolved !== importPath) {
489
- // 如果解析成功(與原始路徑不同)
490
- if (path.isAbsolute(resolved)) {
491
- // 絕對路徑直接返回
492
- return path.normalize(resolved);
493
- }
494
- // 非絕對路徑:相對於專案根目錄或 baseUrl
495
- // 由於 pathAliases 已經在 move.command.ts 中轉為絕對路徑,這裡應該是絕對路徑
496
- // 若仍為相對路徑,則視為相對於當前檔案
497
- const fromDir = path.dirname(path.isAbsolute(fromFile) ? fromFile : path.resolve(fromFile));
498
- const absoluteResolved = path.resolve(fromDir, resolved);
499
- return path.normalize(absoluteResolved);
500
- }
501
- return importPath;
502
- }
503
- /**
504
- * 檢查兩個路徑是否指向同一個檔案
505
- */
506
- pathsMatch(path1, path2) {
507
- try {
508
- // 確保兩個路徑都是絕對路徑並正規化
509
- const abs1 = path.isAbsolute(path1)
510
- ? path.normalize(path1)
511
- : path.normalize(path.resolve(path1));
512
- const abs2 = path.isAbsolute(path2)
513
- ? path.normalize(path2)
514
- : path.normalize(path.resolve(path2));
515
- // 檢查完全匹配
516
- if (abs1 === abs2) {
517
- return true;
518
- }
519
- // 檢查去除副檔名後是否匹配(TypeScript/JavaScript 可以省略副檔名)
520
- const withoutExt1 = this.removeExtension(abs1);
521
- const withoutExt2 = this.removeExtension(abs2);
522
- return withoutExt1 === withoutExt2;
523
- }
524
- catch {
525
- return false;
526
- }
527
- }
528
- /**
529
- * 移除檔案副檔名
530
- */
531
- removeExtension(filePath) {
532
- const ext = path.extname(filePath);
533
- if (['.js', '.ts', '.jsx', '.tsx'].includes(ext)) {
534
- return filePath.slice(0, -ext.length);
535
- }
536
- return filePath;
537
- }
538
- /**
539
- * 計算路徑更新
540
- */
541
- async calculatePathUpdates(filePath, oldPath, newPath) {
542
- const updates = [];
543
- try {
544
- const content = await this.fileSystem.readFile(filePath, 'utf-8');
545
- const imports = this.importResolver.parseImportStatements(content, filePath);
546
- for (const importStatement of imports) {
547
- // 跳過 node_modules
548
- if (this.importResolver.isNodeModuleImport(importStatement.path)) {
549
- continue;
550
- }
551
- // 將 oldPath 規範化為絕對路徑以便比較
552
- const normalizedOldPath = path.isAbsolute(oldPath)
553
- ? path.normalize(oldPath)
554
- : path.normalize(path.resolve(oldPath));
555
- // 計算 import 指向的絕對路徑
556
- const resolvedPath = this.resolveImportPath(importStatement.path, filePath);
557
- // 使用 pathsMatch 檢查是否指向被移動的檔案
558
- if (this.pathsMatch(resolvedPath, normalizedOldPath)) {
559
- // 計算新的 import 路徑,保留原始路徑類型(別名或相對路徑)
560
- const newImportPath = this.calculateNewImportPathPreservingStyle(importStatement.path, filePath, normalizedOldPath, newPath);
561
- const newImport = importStatement.rawStatement.replace(new RegExp(`(['"\`])${this.escapeRegex(importStatement.path)}\\1`), `$1${newImportPath}$1`);
562
- updates.push({
563
- filePath,
564
- line: importStatement.position.line,
565
- oldImport: importStatement.rawStatement,
566
- newImport
567
- });
568
- }
569
- }
570
- }
571
- catch (error) {
572
- console.warn(`無法處理檔案 ${filePath}:`, error);
573
- }
574
- return updates;
575
- }
576
- /**
577
- * 計算被移動檔案內部的 import 更新
578
- * 這些更新會在檔案移動後套用
579
- */
580
- async calculateMovedFileInternalUpdates(source, target) {
581
- const updates = [];
582
- try {
583
- const content = await this.fileSystem.readFile(source, 'utf-8');
584
- const imports = this.importResolver.parseImportStatements(content, source);
585
- // 防禦性檢查:確保 imports 是陣列
586
- if (!imports || !Array.isArray(imports)) {
587
- return updates;
588
- }
589
- for (const importStatement of imports) {
590
- // 跳過 node_modules
591
- if (this.importResolver.isNodeModuleImport(importStatement.path)) {
592
- continue;
593
- }
594
- // 只處理相對路徑的 import
595
- if (importStatement.path.startsWith('.')) {
596
- // 計算這個 import 當前指向的檔案
597
- const sourceDir = path.dirname(source);
598
- const currentResolved = path.resolve(sourceDir, importStatement.path);
599
- // 計算從新位置應該如何 import 這個檔案
600
- const newImportPath = this.calculateNewImportPath(target, currentResolved);
601
- // 如果路徑改變了,加入更新列表
602
- if (newImportPath !== importStatement.path) {
603
- updates.push({
604
- filePath: target, // 注意:這裡是 target,因為更新會在檔案移動後套用
605
- line: importStatement.position.line,
606
- oldImport: importStatement.rawStatement,
607
- newImport: importStatement.rawStatement.replace(new RegExp(`(['"\`])${this.escapeRegex(importStatement.path)}\\1`), `$1${newImportPath}$1`)
608
- });
609
- }
610
- }
611
- }
612
- }
613
- catch (error) {
614
- console.warn(`無法處理被移動檔案的內部 import ${source}:`, error);
615
- }
616
- return updates;
617
- }
618
- /**
619
- * 計算新的 import 路徑,保留原始路徑樣式(別名或相對路徑)
620
- */
621
- calculateNewImportPathPreservingStyle(originalImportPath, fromFile, oldFilePath, newFilePath) {
622
- // 如果原本是路徑別名,保留別名並更新路徑
623
- if (!originalImportPath.startsWith('.') && !originalImportPath.startsWith('/')) {
624
- // 檢查是否為路徑別名(精確匹配:alias 本身或 alias/ 開頭)
625
- for (const [alias, aliasPath] of Object.entries(this.importResolver.getPathAliases())) {
626
- if (originalImportPath === alias || originalImportPath.startsWith(alias + '/')) {
627
- const resolvedAliasPath = path.normalize(aliasPath);
628
- // 計算新檔案相對於別名基礎路徑的相對路徑
629
- let newRelativeToAlias = path.relative(resolvedAliasPath, path.normalize(newFilePath));
630
- newRelativeToAlias = newRelativeToAlias.replace(/\\/g, '/');
631
- // 移除副檔名
632
- const newExt = path.extname(newRelativeToAlias);
633
- if (['.js', '.ts', '.jsx', '.tsx'].includes(newExt)) {
634
- newRelativeToAlias = newRelativeToAlias.slice(0, -newExt.length);
635
- }
636
- // 組合新的別名路徑:alias + / + newRelativeToAlias
637
- // 如果 alias 本身不以 / 結尾,需要加上
638
- const separator = alias.endsWith('/') ? '' : '/';
639
- return alias + separator + newRelativeToAlias;
640
- }
641
- }
642
- }
643
- // 否則使用相對路徑
644
- return this.calculateNewImportPath(fromFile, newFilePath);
645
- }
646
- /**
647
- * 計算新的 import 路徑
648
- */
649
- calculateNewImportPath(fromFile, toFile) {
650
- const fromDir = path.dirname(fromFile);
651
- let relativePath = path.relative(fromDir, toFile);
652
- // 移除副檔名(如果目標是支援的檔案類型)
653
- const ext = path.extname(relativePath);
654
- if (['.js', '.ts', '.jsx', '.tsx'].includes(ext)) {
655
- relativePath = relativePath.slice(0, -ext.length);
656
- }
657
- // 確保相對路徑以 ./ 或 ../ 開始
658
- if (!relativePath.startsWith('.')) {
659
- relativePath = './' + relativePath;
660
- }
661
- // 統一使用正斜線
662
- return relativePath.replace(/\\/g, '/');
663
- }
664
334
  /**
665
335
  * 應用路徑更新
666
336
  */
@@ -699,7 +369,7 @@ export class MoveService {
699
369
  const contentNormalized = newContent.replace(/\s+/g, ' ');
700
370
  if (contentNormalized.indexOf(normalizedOldImport) !== -1) {
701
371
  newContent = content; // 重置
702
- newContent = newContent.replace(new RegExp(this.escapeRegex(normalizedOldImport).replace(/\s+/g, '\\s+'), 'g'), update.newImport.replace(/\s+/g, ' ').trim());
372
+ newContent = newContent.replace(new RegExp(this.pathUtils.escapeRegex(normalizedOldImport).replace(/\s+/g, '\\s+'), 'g'), update.newImport.replace(/\s+/g, ' ').trim());
703
373
  }
704
374
  }
705
375
  }
@@ -709,11 +379,5 @@ export class MoveService {
709
379
  throw new Error(`更新檔案 ${filePath} 失敗: ${error instanceof Error ? error.message : 'Unknown error'}`);
710
380
  }
711
381
  }
712
- /**
713
- * 跳脫正則表達式特殊字元
714
- */
715
- escapeRegex(str) {
716
- return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
717
- }
718
382
  }
719
383
  //# sourceMappingURL=move-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"move-service.js","sourceRoot":"","sources":["../../../src/core/move/move-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"move-service.js","sourceRoot":"","sources":["../../../src/core/move/move-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * 路徑計算模組
3
+ * 負責計算 import 路徑更新
4
+ */
5
+ import type { IFileSystem } from '../../infrastructure/storage/index.js';
6
+ import { ImportResolver } from './import-resolver.js';
7
+ import type { PathUpdate } from './types.js';
8
+ /**
9
+ * 路徑計算器類別
10
+ * 負責計算檔案移動時需要更新的 import 路徑
11
+ */
12
+ export declare class PathCalculator {
13
+ private readonly fileSystem;
14
+ private readonly importResolver;
15
+ private readonly pathUtils;
16
+ private readonly fileScanner;
17
+ constructor(fileSystem: IFileSystem, importResolver: ImportResolver);
18
+ /**
19
+ * 計算路徑更新的內部共用方法
20
+ * 用於 moveFile() 和 generateChangeset() 共用
21
+ *
22
+ * @param source - 來源路徑
23
+ * @param target - 目標路徑
24
+ * @param isDirectory - 是否為目錄
25
+ * @param projectRoot - 專案根目錄
26
+ * @returns 路徑更新列表
27
+ */
28
+ calculatePathUpdatesInternal(source: string, target: string, isDirectory: boolean, projectRoot: string): Promise<PathUpdate[]>;
29
+ /**
30
+ * 計算路徑更新
31
+ * 針對單一檔案,計算其對被移動檔案的 import 更新
32
+ *
33
+ * @param filePath - 包含 import 的檔案
34
+ * @param oldPath - 舊的目標路徑
35
+ * @param newPath - 新的目標路徑
36
+ * @returns 路徑更新列表
37
+ */
38
+ calculatePathUpdates(filePath: string, oldPath: string, newPath: string): Promise<PathUpdate[]>;
39
+ /**
40
+ * 計算被移動檔案內部的 import 更新
41
+ * 這些更新會在檔案移動後套用
42
+ *
43
+ * @param source - 來源檔案路徑
44
+ * @param target - 目標檔案路徑
45
+ * @returns 路徑更新列表
46
+ */
47
+ calculateMovedFileInternalUpdates(source: string, target: string): Promise<PathUpdate[]>;
48
+ }
49
+ //# sourceMappingURL=path-calculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-calculator.d.ts","sourceRoot":"","sources":["../../../src/core/move/path-calculator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;GAGG;AACH,qBAAa,cAAc;IAKvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IALjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;gBAGvB,UAAU,EAAE,WAAW,EACvB,cAAc,EAAE,cAAc;IAMjD;;;;;;;;;OASG;IACG,4BAA4B,CAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,UAAU,EAAE,CAAC;IAyCxB;;;;;;;;OAQG;IACG,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,EAAE,CAAC;IAmDxB;;;;;;;OAOG;IACG,iCAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CA+C/F"}