agent-ide 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/dist/application/index.d.ts +1 -12
  2. package/dist/application/index.d.ts.map +1 -1
  3. package/dist/application/index.js +0 -16
  4. package/dist/application/index.js.map +1 -1
  5. package/dist/application/services/cache-coordinator.service.d.ts.map +1 -1
  6. package/dist/application/services/cache-coordinator.service.js.map +1 -1
  7. package/dist/application/services/module-coordinator.service.d.ts +3 -8
  8. package/dist/application/services/module-coordinator.service.d.ts.map +1 -1
  9. package/dist/application/services/module-coordinator.service.js +5 -139
  10. package/dist/application/services/module-coordinator.service.js.map +1 -1
  11. package/dist/application/types.d.ts +0 -63
  12. package/dist/application/types.d.ts.map +1 -1
  13. package/dist/application/types.js +1 -9
  14. package/dist/application/types.js.map +1 -1
  15. package/dist/core/call-hierarchy/call-hierarchy-analyzer.d.ts.map +1 -1
  16. package/dist/core/call-hierarchy/call-hierarchy-analyzer.js +3 -5
  17. package/dist/core/call-hierarchy/call-hierarchy-analyzer.js.map +1 -1
  18. package/dist/core/change-signature/call-site-updater.d.ts +108 -0
  19. package/dist/core/change-signature/call-site-updater.d.ts.map +1 -0
  20. package/dist/core/change-signature/call-site-updater.js +347 -0
  21. package/dist/core/change-signature/call-site-updater.js.map +1 -0
  22. package/dist/core/change-signature/change-signature-service.d.ts +11 -53
  23. package/dist/core/change-signature/change-signature-service.d.ts.map +1 -1
  24. package/dist/core/change-signature/change-signature-service.js +91 -475
  25. package/dist/core/change-signature/change-signature-service.js.map +1 -1
  26. package/dist/core/change-signature/index.d.ts +4 -0
  27. package/dist/core/change-signature/index.d.ts.map +1 -1
  28. package/dist/core/change-signature/index.js +5 -0
  29. package/dist/core/change-signature/index.js.map +1 -1
  30. package/dist/core/change-signature/signature-parser.d.ts +46 -4
  31. package/dist/core/change-signature/signature-parser.d.ts.map +1 -1
  32. package/dist/core/change-signature/signature-parser.js +180 -9
  33. package/dist/core/change-signature/signature-parser.js.map +1 -1
  34. package/dist/core/change-signature/signature-transformer.d.ts +20 -0
  35. package/dist/core/change-signature/signature-transformer.d.ts.map +1 -0
  36. package/dist/core/change-signature/signature-transformer.js +91 -0
  37. package/dist/core/change-signature/signature-transformer.js.map +1 -0
  38. package/dist/core/change-signature/signature-validator.d.ts +30 -0
  39. package/dist/core/change-signature/signature-validator.d.ts.map +1 -0
  40. package/dist/core/change-signature/signature-validator.js +152 -0
  41. package/dist/core/change-signature/signature-validator.js.map +1 -0
  42. package/dist/core/change-signature/utils.d.ts +19 -0
  43. package/dist/core/change-signature/utils.d.ts.map +1 -0
  44. package/dist/core/change-signature/utils.js +23 -0
  45. package/dist/core/change-signature/utils.js.map +1 -0
  46. package/dist/core/cycles/cycle-detector.d.ts.map +1 -1
  47. package/dist/core/cycles/cycle-detector.js +16 -8
  48. package/dist/core/cycles/cycle-detector.js.map +1 -1
  49. package/dist/core/cycles/index.d.ts +1 -1
  50. package/dist/core/cycles/index.d.ts.map +1 -1
  51. package/dist/core/cycles/index.js +1 -1
  52. package/dist/core/cycles/index.js.map +1 -1
  53. package/dist/core/cycles/types.d.ts +20 -4
  54. package/dist/core/cycles/types.d.ts.map +1 -1
  55. package/dist/core/cycles/types.js +22 -4
  56. package/dist/core/cycles/types.js.map +1 -1
  57. package/dist/core/deadcode/dead-code-detector.d.ts +22 -1
  58. package/dist/core/deadcode/dead-code-detector.d.ts.map +1 -1
  59. package/dist/core/deadcode/dead-code-detector.js +134 -61
  60. package/dist/core/deadcode/dead-code-detector.js.map +1 -1
  61. package/dist/core/deadcode/dead-code-remover.d.ts +11 -93
  62. package/dist/core/deadcode/dead-code-remover.d.ts.map +1 -1
  63. package/dist/core/deadcode/dead-code-remover.js +71 -690
  64. package/dist/core/deadcode/dead-code-remover.js.map +1 -1
  65. package/dist/core/deadcode/file-operations.d.ts +85 -0
  66. package/dist/core/deadcode/file-operations.d.ts.map +1 -0
  67. package/dist/core/deadcode/file-operations.js +263 -0
  68. package/dist/core/deadcode/file-operations.js.map +1 -0
  69. package/dist/core/deadcode/import-cleaner.d.ts +63 -0
  70. package/dist/core/deadcode/import-cleaner.d.ts.map +1 -0
  71. package/dist/core/deadcode/import-cleaner.js +229 -0
  72. package/dist/core/deadcode/import-cleaner.js.map +1 -0
  73. package/dist/core/deadcode/import-parser.d.ts +79 -0
  74. package/dist/core/deadcode/import-parser.d.ts.map +1 -0
  75. package/dist/core/deadcode/import-parser.js +229 -0
  76. package/dist/core/deadcode/import-parser.js.map +1 -0
  77. package/dist/core/deadcode/range-expander.d.ts +38 -0
  78. package/dist/core/deadcode/range-expander.d.ts.map +1 -0
  79. package/dist/core/deadcode/range-expander.js +175 -0
  80. package/dist/core/deadcode/range-expander.js.map +1 -0
  81. package/dist/core/deadcode/types.d.ts +2 -0
  82. package/dist/core/deadcode/types.d.ts.map +1 -1
  83. package/dist/core/deadcode/types.js.map +1 -1
  84. package/dist/core/find-references/index.d.ts +2 -2
  85. package/dist/core/find-references/index.d.ts.map +1 -1
  86. package/dist/core/find-references/index.js +1 -1
  87. package/dist/core/find-references/index.js.map +1 -1
  88. package/dist/core/impact/dependency-extractor.d.ts +25 -0
  89. package/dist/core/impact/dependency-extractor.d.ts.map +1 -0
  90. package/dist/core/impact/dependency-extractor.js +65 -0
  91. package/dist/core/impact/dependency-extractor.js.map +1 -0
  92. package/dist/core/impact/file-scanner.d.ts +52 -0
  93. package/dist/core/impact/file-scanner.d.ts.map +1 -0
  94. package/dist/core/impact/file-scanner.js +131 -0
  95. package/dist/core/impact/file-scanner.js.map +1 -0
  96. package/dist/core/impact/impact-analyzer.d.ts +3 -64
  97. package/dist/core/impact/impact-analyzer.d.ts.map +1 -1
  98. package/dist/core/impact/impact-analyzer.js +13 -312
  99. package/dist/core/impact/impact-analyzer.js.map +1 -1
  100. package/dist/core/impact/index.d.ts +3 -0
  101. package/dist/core/impact/index.d.ts.map +1 -1
  102. package/dist/core/impact/index.js +3 -0
  103. package/dist/core/impact/index.js.map +1 -1
  104. package/dist/core/impact/path-resolver.d.ts +35 -0
  105. package/dist/core/impact/path-resolver.d.ts.map +1 -0
  106. package/dist/core/impact/path-resolver.js +166 -0
  107. package/dist/core/impact/path-resolver.js.map +1 -0
  108. package/dist/core/move/file-scanner.d.ts +48 -0
  109. package/dist/core/move/file-scanner.d.ts.map +1 -0
  110. package/dist/core/move/file-scanner.js +137 -0
  111. package/dist/core/move/file-scanner.js.map +1 -0
  112. package/dist/core/move/import-resolver.d.ts +10 -0
  113. package/dist/core/move/import-resolver.d.ts.map +1 -1
  114. package/dist/core/move/import-resolver.js +31 -6
  115. package/dist/core/move/import-resolver.js.map +1 -1
  116. package/dist/core/move/index.d.ts +7 -3
  117. package/dist/core/move/index.d.ts.map +1 -1
  118. package/dist/core/move/index.js +7 -2
  119. package/dist/core/move/index.js.map +1 -1
  120. package/dist/core/move/move-service.d.ts +41 -52
  121. package/dist/core/move/move-service.d.ts.map +1 -1
  122. package/dist/core/move/move-service.js +189 -358
  123. package/dist/core/move/move-service.js.map +1 -1
  124. package/dist/core/move/path-calculator.d.ts +49 -0
  125. package/dist/core/move/path-calculator.d.ts.map +1 -0
  126. package/dist/core/move/path-calculator.js +158 -0
  127. package/dist/core/move/path-calculator.js.map +1 -0
  128. package/dist/core/move/path-parser.d.ts +33 -0
  129. package/dist/core/move/path-parser.d.ts.map +1 -0
  130. package/dist/core/move/path-parser.js +53 -0
  131. package/dist/core/move/path-parser.js.map +1 -0
  132. package/dist/core/move/path-utils.d.ts +70 -0
  133. package/dist/core/move/path-utils.d.ts.map +1 -0
  134. package/dist/core/move/path-utils.js +201 -0
  135. package/dist/core/move/path-utils.js.map +1 -0
  136. package/dist/core/move/types.d.ts +81 -18
  137. package/dist/core/move/types.d.ts.map +1 -1
  138. package/dist/core/move/types.js +73 -5
  139. package/dist/core/move/types.js.map +1 -1
  140. package/dist/core/move-member/change-applier.d.ts +23 -0
  141. package/dist/core/move-member/change-applier.d.ts.map +1 -0
  142. package/dist/core/move-member/change-applier.js +51 -0
  143. package/dist/core/move-member/change-applier.js.map +1 -0
  144. package/dist/core/move-member/file-change-preparer.d.ts +49 -0
  145. package/dist/core/move-member/file-change-preparer.d.ts.map +1 -0
  146. package/dist/core/move-member/file-change-preparer.js +340 -0
  147. package/dist/core/move-member/file-change-preparer.js.map +1 -0
  148. package/dist/core/move-member/index.d.ts +4 -1
  149. package/dist/core/move-member/index.d.ts.map +1 -1
  150. package/dist/core/move-member/index.js +3 -0
  151. package/dist/core/move-member/index.js.map +1 -1
  152. package/dist/core/move-member/member-extractor.d.ts +11 -0
  153. package/dist/core/move-member/member-extractor.d.ts.map +1 -1
  154. package/dist/core/move-member/member-extractor.js +116 -24
  155. package/dist/core/move-member/member-extractor.js.map +1 -1
  156. package/dist/core/move-member/move-member-service.d.ts +9 -78
  157. package/dist/core/move-member/move-member-service.d.ts.map +1 -1
  158. package/dist/core/move-member/move-member-service.js +86 -413
  159. package/dist/core/move-member/move-member-service.js.map +1 -1
  160. package/dist/core/move-member/reference-updater.d.ts +73 -0
  161. package/dist/core/move-member/reference-updater.d.ts.map +1 -0
  162. package/dist/core/move-member/reference-updater.js +286 -0
  163. package/dist/core/move-member/reference-updater.js.map +1 -0
  164. package/dist/core/move-member/types.d.ts +17 -2
  165. package/dist/core/move-member/types.d.ts.map +1 -1
  166. package/dist/core/move-member/types.js.map +1 -1
  167. package/dist/core/rename/reference-updater.d.ts +1 -35
  168. package/dist/core/rename/reference-updater.d.ts.map +1 -1
  169. package/dist/core/rename/reference-updater.js +8 -251
  170. package/dist/core/rename/reference-updater.js.map +1 -1
  171. package/dist/core/rename/rename-engine.d.ts +16 -22
  172. package/dist/core/rename/rename-engine.d.ts.map +1 -1
  173. package/dist/core/rename/rename-engine.js +59 -208
  174. package/dist/core/rename/rename-engine.js.map +1 -1
  175. package/dist/core/rename/scope-analyzer.d.ts.map +1 -1
  176. package/dist/core/shared/index.d.ts +1 -1
  177. package/dist/core/shared/index.d.ts.map +1 -1
  178. package/dist/core/shared/index.js +1 -1
  179. package/dist/core/shared/index.js.map +1 -1
  180. package/dist/core/shared/indexing/index-engine.d.ts +1 -1
  181. package/dist/core/shared/indexing/index-engine.d.ts.map +1 -1
  182. package/dist/core/shared/indexing/index-engine.js +1 -1
  183. package/dist/core/shared/indexing/index-engine.js.map +1 -1
  184. package/dist/core/shared/symbol-finder/call-site-parser.d.ts +71 -0
  185. package/dist/core/shared/symbol-finder/call-site-parser.d.ts.map +1 -0
  186. package/dist/core/shared/symbol-finder/call-site-parser.js +369 -0
  187. package/dist/core/shared/symbol-finder/call-site-parser.js.map +1 -0
  188. package/dist/core/shared/symbol-finder/index.d.ts +9 -0
  189. package/dist/core/shared/symbol-finder/index.d.ts.map +1 -0
  190. package/dist/core/shared/symbol-finder/index.js +12 -0
  191. package/dist/core/shared/symbol-finder/index.js.map +1 -0
  192. package/dist/core/shared/{symbol-finder.d.ts → symbol-finder/symbol-finder.d.ts} +27 -133
  193. package/dist/core/shared/symbol-finder/symbol-finder.d.ts.map +1 -0
  194. package/dist/core/shared/symbol-finder/symbol-finder.js +552 -0
  195. package/dist/core/shared/symbol-finder/symbol-finder.js.map +1 -0
  196. package/dist/core/shared/symbol-finder/text-matcher.d.ts +45 -0
  197. package/dist/core/shared/symbol-finder/text-matcher.d.ts.map +1 -0
  198. package/dist/core/shared/symbol-finder/text-matcher.js +195 -0
  199. package/dist/core/shared/symbol-finder/text-matcher.js.map +1 -0
  200. package/dist/core/shared/symbol-finder/types.d.ts +108 -0
  201. package/dist/core/shared/symbol-finder/types.d.ts.map +1 -0
  202. package/dist/core/shared/symbol-finder/types.js +71 -0
  203. package/dist/core/shared/symbol-finder/types.js.map +1 -0
  204. package/dist/core/snapshot/snapshot-generator.d.ts +16 -4
  205. package/dist/core/snapshot/snapshot-generator.d.ts.map +1 -1
  206. package/dist/core/snapshot/snapshot-generator.js +91 -18
  207. package/dist/core/snapshot/snapshot-generator.js.map +1 -1
  208. package/dist/infrastructure/cache/cache-manager.d.ts.map +1 -1
  209. package/dist/infrastructure/cache/cache-manager.js +4 -0
  210. package/dist/infrastructure/cache/cache-manager.js.map +1 -1
  211. package/dist/infrastructure/cache/index.d.ts +15 -9
  212. package/dist/infrastructure/cache/index.d.ts.map +1 -1
  213. package/dist/infrastructure/cache/index.js +5 -5
  214. package/dist/infrastructure/cache/index.js.map +1 -1
  215. package/dist/infrastructure/cache/memory-cache.d.ts.map +1 -1
  216. package/dist/infrastructure/cache/memory-cache.js.map +1 -1
  217. package/dist/infrastructure/cache/strategies.d.ts.map +1 -1
  218. package/dist/infrastructure/cache/strategies.js +2 -1
  219. package/dist/infrastructure/cache/strategies.js.map +1 -1
  220. package/dist/infrastructure/cache/types.d.ts +4 -4
  221. package/dist/infrastructure/cache/types.d.ts.map +1 -1
  222. package/dist/infrastructure/changeset/change-applicator.d.ts +95 -0
  223. package/dist/infrastructure/changeset/change-applicator.d.ts.map +1 -0
  224. package/dist/infrastructure/changeset/change-applicator.js +467 -0
  225. package/dist/infrastructure/changeset/change-applicator.js.map +1 -0
  226. package/dist/infrastructure/changeset/changeset-builder.d.ts +107 -0
  227. package/dist/infrastructure/changeset/changeset-builder.d.ts.map +1 -0
  228. package/dist/infrastructure/changeset/changeset-builder.js +188 -0
  229. package/dist/infrastructure/changeset/changeset-builder.js.map +1 -0
  230. package/dist/infrastructure/changeset/changeset-converter.d.ts +15 -0
  231. package/dist/infrastructure/changeset/changeset-converter.d.ts.map +1 -0
  232. package/dist/infrastructure/changeset/changeset-converter.js +370 -0
  233. package/dist/infrastructure/changeset/changeset-converter.js.map +1 -0
  234. package/dist/infrastructure/changeset/index.d.ts +10 -0
  235. package/dist/infrastructure/changeset/index.d.ts.map +1 -0
  236. package/dist/infrastructure/changeset/index.js +13 -0
  237. package/dist/infrastructure/changeset/index.js.map +1 -0
  238. package/dist/infrastructure/changeset/types.d.ts +147 -0
  239. package/dist/infrastructure/changeset/types.d.ts.map +1 -0
  240. package/dist/infrastructure/changeset/types.js +46 -0
  241. package/dist/infrastructure/changeset/types.js.map +1 -0
  242. package/dist/infrastructure/parser/base.d.ts.map +1 -1
  243. package/dist/infrastructure/parser/base.js +4 -3
  244. package/dist/infrastructure/parser/base.js.map +1 -1
  245. package/dist/infrastructure/parser/interface.d.ts +4 -2
  246. package/dist/infrastructure/parser/interface.d.ts.map +1 -1
  247. package/dist/infrastructure/parser/interface.js.map +1 -1
  248. package/dist/infrastructure/storage/file-system.d.ts.map +1 -1
  249. package/dist/infrastructure/storage/file-system.js +61 -54
  250. package/dist/infrastructure/storage/file-system.js.map +1 -1
  251. package/dist/interfaces/cli/cli.d.ts.map +1 -1
  252. package/dist/interfaces/cli/cli.js +1 -2
  253. package/dist/interfaces/cli/cli.js.map +1 -1
  254. package/dist/interfaces/cli/commands/change-signature.command.d.ts.map +1 -1
  255. package/dist/interfaces/cli/commands/change-signature.command.js +31 -107
  256. package/dist/interfaces/cli/commands/change-signature.command.js.map +1 -1
  257. package/dist/interfaces/cli/commands/deadcode.command.js +51 -46
  258. package/dist/interfaces/cli/commands/deadcode.command.js.map +1 -1
  259. package/dist/interfaces/cli/commands/find-references.command.d.ts.map +1 -1
  260. package/dist/interfaces/cli/commands/find-references.command.js +18 -3
  261. package/dist/interfaces/cli/commands/find-references.command.js.map +1 -1
  262. package/dist/interfaces/cli/commands/index.d.ts +0 -1
  263. package/dist/interfaces/cli/commands/index.d.ts.map +1 -1
  264. package/dist/interfaces/cli/commands/index.js +0 -1
  265. package/dist/interfaces/cli/commands/index.js.map +1 -1
  266. package/dist/interfaces/cli/commands/move.command.d.ts +1 -0
  267. package/dist/interfaces/cli/commands/move.command.d.ts.map +1 -1
  268. package/dist/interfaces/cli/commands/move.command.js +170 -65
  269. package/dist/interfaces/cli/commands/move.command.js.map +1 -1
  270. package/dist/interfaces/cli/commands/rename.command.d.ts.map +1 -1
  271. package/dist/interfaces/cli/commands/rename.command.js +133 -59
  272. package/dist/interfaces/cli/commands/rename.command.js.map +1 -1
  273. package/dist/interfaces/cli/output-formatter.d.ts +2 -2
  274. package/dist/interfaces/cli/output-formatter.d.ts.map +1 -1
  275. package/dist/interfaces/cli/output-formatter.js.map +1 -1
  276. package/dist/plugins/javascript/declaration-analyzer.d.ts.map +1 -1
  277. package/dist/plugins/javascript/declaration-analyzer.js +9 -0
  278. package/dist/plugins/javascript/declaration-analyzer.js.map +1 -1
  279. package/dist/plugins/javascript/parser.d.ts +11 -10
  280. package/dist/plugins/javascript/parser.d.ts.map +1 -1
  281. package/dist/plugins/javascript/parser.js +57 -53
  282. package/dist/plugins/javascript/parser.js.map +1 -1
  283. package/dist/plugins/javascript/pattern-analyzer.d.ts.map +1 -1
  284. package/dist/plugins/javascript/pattern-analyzer.js +4 -3
  285. package/dist/plugins/javascript/pattern-analyzer.js.map +1 -1
  286. package/dist/plugins/javascript/reference-finder.d.ts +21 -0
  287. package/dist/plugins/javascript/reference-finder.d.ts.map +1 -1
  288. package/dist/plugins/javascript/reference-finder.js +119 -76
  289. package/dist/plugins/javascript/reference-finder.js.map +1 -1
  290. package/dist/plugins/javascript/types.d.ts +4 -7
  291. package/dist/plugins/javascript/types.d.ts.map +1 -1
  292. package/dist/plugins/javascript/types.js +9 -9
  293. package/dist/plugins/javascript/types.js.map +1 -1
  294. package/dist/plugins/shared/parser-helpers.js.map +1 -1
  295. package/dist/{shared → plugins/shared}/utils/array.d.ts +6 -1
  296. package/dist/plugins/shared/utils/array.d.ts.map +1 -0
  297. package/dist/plugins/shared/utils/array.js.map +1 -0
  298. package/dist/{shared → plugins/shared}/utils/async.d.ts +1 -1
  299. package/dist/plugins/shared/utils/async.d.ts.map +1 -0
  300. package/dist/{shared → plugins/shared}/utils/async.js +2 -0
  301. package/dist/plugins/shared/utils/async.js.map +1 -0
  302. package/dist/{shared → plugins/shared}/utils/index.d.ts +0 -20
  303. package/dist/plugins/shared/utils/index.d.ts.map +1 -0
  304. package/dist/{shared → plugins/shared}/utils/index.js +0 -20
  305. package/dist/plugins/shared/utils/index.js.map +1 -0
  306. package/dist/plugins/shared/utils/memory-monitor.d.ts.map +1 -0
  307. package/dist/plugins/shared/utils/memory-monitor.js.map +1 -0
  308. package/dist/{shared → plugins/shared}/utils/object.d.ts +6 -6
  309. package/dist/plugins/shared/utils/object.d.ts.map +1 -0
  310. package/dist/{shared → plugins/shared}/utils/object.js +21 -3
  311. package/dist/plugins/shared/utils/object.js.map +1 -0
  312. package/dist/plugins/shared/utils/path.d.ts.map +1 -0
  313. package/dist/plugins/shared/utils/path.js.map +1 -0
  314. package/dist/{shared → plugins/shared}/utils/string.d.ts +1 -1
  315. package/dist/plugins/shared/utils/string.d.ts.map +1 -0
  316. package/dist/{shared → plugins/shared}/utils/string.js +7 -4
  317. package/dist/plugins/shared/utils/string.js.map +1 -0
  318. package/dist/plugins/typescript/declaration-analyzer.d.ts +4 -4
  319. package/dist/plugins/typescript/declaration-analyzer.d.ts.map +1 -1
  320. package/dist/plugins/typescript/declaration-analyzer.js +13 -6
  321. package/dist/plugins/typescript/declaration-analyzer.js.map +1 -1
  322. package/dist/plugins/typescript/language-service.d.ts +1 -1
  323. package/dist/plugins/typescript/language-service.d.ts.map +1 -1
  324. package/dist/plugins/typescript/parser.d.ts +3 -2
  325. package/dist/plugins/typescript/parser.d.ts.map +1 -1
  326. package/dist/plugins/typescript/parser.js +18 -13
  327. package/dist/plugins/typescript/parser.js.map +1 -1
  328. package/dist/plugins/typescript/reference-finder.d.ts +3 -0
  329. package/dist/plugins/typescript/reference-finder.d.ts.map +1 -1
  330. package/dist/plugins/typescript/reference-finder.js +16 -4
  331. package/dist/plugins/typescript/reference-finder.js.map +1 -1
  332. package/dist/plugins/typescript/symbol-extractor.d.ts +4 -0
  333. package/dist/plugins/typescript/symbol-extractor.d.ts.map +1 -1
  334. package/dist/plugins/typescript/symbol-extractor.js +24 -6
  335. package/dist/plugins/typescript/symbol-extractor.js.map +1 -1
  336. package/dist/plugins/typescript/types.d.ts +0 -3
  337. package/dist/plugins/typescript/types.d.ts.map +1 -1
  338. package/dist/plugins/typescript/types.js +6 -9
  339. package/dist/plugins/typescript/types.js.map +1 -1
  340. package/dist/shared/errors/index.d.ts +1 -1
  341. package/dist/shared/errors/index.d.ts.map +1 -1
  342. package/dist/shared/errors/parser-error.js +5 -5
  343. package/dist/shared/errors/parser-error.js.map +1 -1
  344. package/dist/shared/errors/validation-error.d.ts +2 -2
  345. package/dist/shared/errors/validation-error.d.ts.map +1 -1
  346. package/dist/shared/errors/validation-error.js.map +1 -1
  347. package/dist/shared/types/ast.d.ts +4 -4
  348. package/dist/shared/types/ast.d.ts.map +1 -1
  349. package/dist/shared/types/ast.js.map +1 -1
  350. package/dist/shared/types/core.d.ts +1 -1
  351. package/dist/shared/types/core.d.ts.map +1 -1
  352. package/dist/shared/types/index.d.ts +1 -0
  353. package/dist/shared/types/index.d.ts.map +1 -1
  354. package/dist/shared/types/index.js +2 -0
  355. package/dist/shared/types/index.js.map +1 -1
  356. package/dist/shared/types/line-number.d.ts +22 -0
  357. package/dist/shared/types/line-number.d.ts.map +1 -0
  358. package/dist/shared/types/line-number.js +28 -0
  359. package/dist/shared/types/line-number.js.map +1 -0
  360. package/package.json +2 -2
  361. package/dist/application/services/workflow-engine.service.d.ts +0 -76
  362. package/dist/application/services/workflow-engine.service.d.ts.map +0 -1
  363. package/dist/application/services/workflow-engine.service.js +0 -405
  364. package/dist/application/services/workflow-engine.service.js.map +0 -1
  365. package/dist/application/workflows/analysis-workflow.d.ts +0 -239
  366. package/dist/application/workflows/analysis-workflow.d.ts.map +0 -1
  367. package/dist/application/workflows/analysis-workflow.js +0 -395
  368. package/dist/application/workflows/analysis-workflow.js.map +0 -1
  369. package/dist/application/workflows/base-workflow.d.ts +0 -108
  370. package/dist/application/workflows/base-workflow.d.ts.map +0 -1
  371. package/dist/application/workflows/base-workflow.js +0 -236
  372. package/dist/application/workflows/base-workflow.js.map +0 -1
  373. package/dist/application/workflows/index.d.ts +0 -115
  374. package/dist/application/workflows/index.d.ts.map +0 -1
  375. package/dist/application/workflows/index.js +0 -218
  376. package/dist/application/workflows/index.js.map +0 -1
  377. package/dist/application/workflows/refactor-workflow.d.ts +0 -107
  378. package/dist/application/workflows/refactor-workflow.d.ts.map +0 -1
  379. package/dist/application/workflows/refactor-workflow.js +0 -310
  380. package/dist/application/workflows/refactor-workflow.js.map +0 -1
  381. package/dist/core/shared/symbol-finder.d.ts.map +0 -1
  382. package/dist/core/shared/symbol-finder.js +0 -882
  383. package/dist/core/shared/symbol-finder.js.map +0 -1
  384. package/dist/interfaces/cli/commands/move-member.command.d.ts +0 -11
  385. package/dist/interfaces/cli/commands/move-member.command.d.ts.map +0 -1
  386. package/dist/interfaces/cli/commands/move-member.command.js +0 -211
  387. package/dist/interfaces/cli/commands/move-member.command.js.map +0 -1
  388. package/dist/plugins/javascript/code-analyzer.d.ts +0 -68
  389. package/dist/plugins/javascript/code-analyzer.d.ts.map +0 -1
  390. package/dist/plugins/javascript/code-analyzer.js +0 -302
  391. package/dist/plugins/javascript/code-analyzer.js.map +0 -1
  392. package/dist/plugins/javascript/index.d.ts +0 -12
  393. package/dist/plugins/javascript/index.d.ts.map +0 -1
  394. package/dist/plugins/javascript/index.js +0 -16
  395. package/dist/plugins/javascript/index.js.map +0 -1
  396. package/dist/plugins/typescript/index.d.ts +0 -14
  397. package/dist/plugins/typescript/index.d.ts.map +0 -1
  398. package/dist/plugins/typescript/index.js +0 -13
  399. package/dist/plugins/typescript/index.js.map +0 -1
  400. package/dist/shared/utils/array.d.ts.map +0 -1
  401. package/dist/shared/utils/array.js.map +0 -1
  402. package/dist/shared/utils/async.d.ts.map +0 -1
  403. package/dist/shared/utils/async.js.map +0 -1
  404. package/dist/shared/utils/index.d.ts.map +0 -1
  405. package/dist/shared/utils/index.js.map +0 -1
  406. package/dist/shared/utils/memory-monitor.d.ts.map +0 -1
  407. package/dist/shared/utils/memory-monitor.js.map +0 -1
  408. package/dist/shared/utils/object.d.ts.map +0 -1
  409. package/dist/shared/utils/object.js.map +0 -1
  410. package/dist/shared/utils/path.d.ts.map +0 -1
  411. package/dist/shared/utils/path.js.map +0 -1
  412. package/dist/shared/utils/string.d.ts.map +0 -1
  413. package/dist/shared/utils/string.js.map +0 -1
  414. /package/dist/{shared → plugins/shared}/utils/array.js +0 -0
  415. /package/dist/{shared → plugins/shared}/utils/memory-monitor.d.ts +0 -0
  416. /package/dist/{shared → plugins/shared}/utils/memory-monitor.js +0 -0
  417. /package/dist/{shared → plugins/shared}/utils/path.d.ts +0 -0
  418. /package/dist/{shared → plugins/shared}/utils/path.js +0 -0
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Signature Validator
3
+ * 負責簽名變更的驗證邏輯
4
+ */
5
+ import type { FunctionSignature, SignatureChange, ChangeSignatureValidationError } from './types.js';
6
+ /**
7
+ * Signature Validator
8
+ * 驗證簽名變更的合法性
9
+ */
10
+ export declare class SignatureValidator {
11
+ /**
12
+ * 驗證變更
13
+ */
14
+ validateChanges(signature: FunctionSignature, changes: readonly SignatureChange[]): ChangeSignatureValidationError[];
15
+ /**
16
+ * 驗證可選參數順序
17
+ * TypeScript 規則:可選參數必須在所有必選參數之後
18
+ * 例外:有預設值的參數視為可選,rest 參數必須在最後
19
+ */
20
+ validateOptionalParameterOrder(signature: FunctionSignature, newOrder: readonly (string | number)[]): ChangeSignatureValidationError | null;
21
+ /**
22
+ * 解析參數名稱
23
+ */
24
+ resolveParameterName(signature: FunctionSignature, nameOrIndex: string | number): string | undefined;
25
+ }
26
+ /**
27
+ * 建立 SignatureValidator 實例
28
+ */
29
+ export declare function createSignatureValidator(): SignatureValidator;
30
+ //# sourceMappingURL=signature-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature-validator.d.ts","sourceRoot":"","sources":["../../../src/core/change-signature/signature-validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,iBAAiB,EAEjB,eAAe,EACf,8BAA8B,EAC/B,MAAM,YAAY,CAAC;AAapB;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,eAAe,EAAE,GAAG,8BAA8B,EAAE;IA4FpH;;;;OAIG;IACH,8BAA8B,CAC5B,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GACrC,8BAA8B,GAAG,IAAI;IAoCxC;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS;CAMrG;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,kBAAkB,CAE7D"}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Signature Validator
3
+ * 負責簽名變更的驗證邏輯
4
+ */
5
+ import { ChangeSignatureErrorCode, isAddParameterChange, isRemoveParameterChange, isReorderParametersChange, isChangeParameterTypeChange, isRenameParameterChange, isChangeDefaultValueChange, isToggleOptionalChange } from './types.js';
6
+ import { resolveParameterIndex } from './utils.js';
7
+ /**
8
+ * Signature Validator
9
+ * 驗證簽名變更的合法性
10
+ */
11
+ export class SignatureValidator {
12
+ /**
13
+ * 驗證變更
14
+ */
15
+ validateChanges(signature, changes) {
16
+ const errors = [];
17
+ const parameterNames = new Set(signature.parameters.map(p => p.name));
18
+ const newParameterNames = new Set(parameterNames);
19
+ for (const change of changes) {
20
+ if (isAddParameterChange(change)) {
21
+ if (newParameterNames.has(change.name)) {
22
+ errors.push({
23
+ code: ChangeSignatureErrorCode.DuplicateParameterName,
24
+ message: `參數名稱重複: ${change.name}`,
25
+ parameterName: change.name
26
+ });
27
+ }
28
+ else {
29
+ newParameterNames.add(change.name);
30
+ }
31
+ // 驗證新增參數必須有預設值
32
+ if (!change.callSiteValue && !change.defaultValue) {
33
+ errors.push({
34
+ code: ChangeSignatureErrorCode.MissingDefaultValue,
35
+ message: `參數 ${change.name} 缺少預設值,請使用 --default-value 或 --call-site-value 指定`,
36
+ parameterName: change.name
37
+ });
38
+ }
39
+ }
40
+ if (isRemoveParameterChange(change)) {
41
+ const targetName = this.resolveParameterName(signature, change.parameterNameOrIndex);
42
+ if (!targetName || !parameterNames.has(targetName)) {
43
+ errors.push({
44
+ code: ChangeSignatureErrorCode.ParameterNotFound,
45
+ message: `找不到參數: ${change.parameterNameOrIndex}`,
46
+ parameterName: String(change.parameterNameOrIndex)
47
+ });
48
+ }
49
+ else {
50
+ newParameterNames.delete(targetName);
51
+ }
52
+ }
53
+ if (isReorderParametersChange(change)) {
54
+ for (const nameOrIndex of change.newOrder) {
55
+ const targetName = this.resolveParameterName(signature, nameOrIndex);
56
+ if (!targetName || !parameterNames.has(targetName)) {
57
+ errors.push({
58
+ code: ChangeSignatureErrorCode.ParameterNotFound,
59
+ message: `找不到參數: ${nameOrIndex}`,
60
+ parameterName: String(nameOrIndex)
61
+ });
62
+ }
63
+ }
64
+ if (change.newOrder.length !== signature.parameters.length) {
65
+ errors.push({
66
+ code: ChangeSignatureErrorCode.InvalidParameterOrder,
67
+ message: '重新排序必須包含所有參數'
68
+ });
69
+ }
70
+ // 驗證可選參數順序:可選參數必須在必選參數之後
71
+ const optionalOrderError = this.validateOptionalParameterOrder(signature, change.newOrder);
72
+ if (optionalOrderError) {
73
+ errors.push(optionalOrderError);
74
+ }
75
+ }
76
+ if (isChangeParameterTypeChange(change) || isRenameParameterChange(change) ||
77
+ isChangeDefaultValueChange(change) || isToggleOptionalChange(change)) {
78
+ const targetName = this.resolveParameterName(signature, change.parameterNameOrIndex);
79
+ if (!targetName || !parameterNames.has(targetName)) {
80
+ errors.push({
81
+ code: ChangeSignatureErrorCode.ParameterNotFound,
82
+ message: `找不到參數: ${change.parameterNameOrIndex}`,
83
+ parameterName: String(change.parameterNameOrIndex)
84
+ });
85
+ }
86
+ }
87
+ if (isRenameParameterChange(change)) {
88
+ if (newParameterNames.has(change.newName) && change.newName !== this.resolveParameterName(signature, change.parameterNameOrIndex)) {
89
+ errors.push({
90
+ code: ChangeSignatureErrorCode.DuplicateParameterName,
91
+ message: `參數名稱重複: ${change.newName}`,
92
+ parameterName: change.newName
93
+ });
94
+ }
95
+ }
96
+ }
97
+ return errors;
98
+ }
99
+ /**
100
+ * 驗證可選參數順序
101
+ * TypeScript 規則:可選參數必須在所有必選參數之後
102
+ * 例外:有預設值的參數視為可選,rest 參數必須在最後
103
+ */
104
+ validateOptionalParameterOrder(signature, newOrder) {
105
+ // 根據新順序建立參數列表
106
+ const reorderedParams = [];
107
+ for (const nameOrIndex of newOrder) {
108
+ const index = resolveParameterIndex(signature.parameters, nameOrIndex);
109
+ if (index >= 0) {
110
+ reorderedParams.push(signature.parameters[index]);
111
+ }
112
+ }
113
+ // 檢查可選參數是否在必選參數之前
114
+ let foundOptional = false;
115
+ let firstOptionalParam = null;
116
+ for (const param of reorderedParams) {
117
+ const isOptional = param.optional || param.defaultValue !== undefined;
118
+ const isRest = param.rest;
119
+ if (isOptional && !isRest) {
120
+ foundOptional = true;
121
+ if (!firstOptionalParam) {
122
+ firstOptionalParam = param;
123
+ }
124
+ }
125
+ else if (!isOptional && !isRest && foundOptional) {
126
+ // 找到必選參數在可選參數之後
127
+ return {
128
+ code: ChangeSignatureErrorCode.OptionalBeforeRequired,
129
+ message: `可選參數 '${firstOptionalParam.name}' 不能位於必選參數 '${param.name}' 之前`,
130
+ parameterName: param.name
131
+ };
132
+ }
133
+ }
134
+ return null;
135
+ }
136
+ /**
137
+ * 解析參數名稱
138
+ */
139
+ resolveParameterName(signature, nameOrIndex) {
140
+ if (typeof nameOrIndex === 'number') {
141
+ return signature.parameters[nameOrIndex]?.name;
142
+ }
143
+ return signature.parameters.find(p => p.name === nameOrIndex)?.name;
144
+ }
145
+ }
146
+ /**
147
+ * 建立 SignatureValidator 實例
148
+ */
149
+ export function createSignatureValidator() {
150
+ return new SignatureValidator();
151
+ }
152
+ //# sourceMappingURL=signature-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature-validator.js","sourceRoot":"","sources":["../../../src/core/change-signature/signature-validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Change Signature 共用工具函式
3
+ */
4
+ import type { ParameterDefinition } from './types.js';
5
+ /**
6
+ * 標記省略的可選參數
7
+ * 用於在參數映射過程中標記被省略的可選參數位置
8
+ */
9
+ export declare const OMITTED_PARAMETER_MARKER = "\0OMITTED\0";
10
+ /**
11
+ * 解析參數索引
12
+ * 根據名稱或索引找到參數在列表中的位置
13
+ *
14
+ * @param parameters - 參數定義列表
15
+ * @param nameOrIndex - 參數名稱或索引
16
+ * @returns 參數索引,找不到時返回 -1
17
+ */
18
+ export declare function resolveParameterIndex(parameters: readonly Pick<ParameterDefinition, 'name'>[], nameOrIndex: string | number): number;
19
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/change-signature/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,gBAAgB,CAAC;AAEtD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,SAAS,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,EAAE,EACxD,WAAW,EAAE,MAAM,GAAG,MAAM,GAC3B,MAAM,CAKR"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Change Signature 共用工具函式
3
+ */
4
+ /**
5
+ * 標記省略的可選參數
6
+ * 用於在參數映射過程中標記被省略的可選參數位置
7
+ */
8
+ export const OMITTED_PARAMETER_MARKER = '\0OMITTED\0';
9
+ /**
10
+ * 解析參數索引
11
+ * 根據名稱或索引找到參數在列表中的位置
12
+ *
13
+ * @param parameters - 參數定義列表
14
+ * @param nameOrIndex - 參數名稱或索引
15
+ * @returns 參數索引,找不到時返回 -1
16
+ */
17
+ export function resolveParameterIndex(parameters, nameOrIndex) {
18
+ if (typeof nameOrIndex === 'number') {
19
+ return nameOrIndex >= 0 && nameOrIndex < parameters.length ? nameOrIndex : -1;
20
+ }
21
+ return parameters.findIndex(p => p.name === nameOrIndex);
22
+ }
23
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/change-signature/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAwD,EACxD,WAA4B;IAE5B,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;AAC3D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cycle-detector.d.ts","sourceRoot":"","sources":["../../../src/core/cycles/cycle-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,KAAK,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAYpB;;GAEG;AACH,qBAAa,aAAa;IACxB;;;;;OAKG;IACH,YAAY,CACV,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,kBAAkB,EAAE;IA+CvB;;;;OAIG;IACH,+BAA+B,CAAC,KAAK,EAAE,eAAe,GAAG,0BAA0B,EAAE;IAoErF;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IA4C7B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAyBhC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAK1C;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe;IAgC3D;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,EAAE;CAgCzE"}
1
+ {"version":3,"file":"cycle-detector.d.ts","sourceRoot":"","sources":["../../../src/core/cycles/cycle-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,KAAK,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAYpB;;GAEG;AACH,qBAAa,aAAa;IACxB;;;;;OAKG;IACH,YAAY,CACV,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,kBAAkB,EAAE;IA+CvB;;;;OAIG;IACH,+BAA+B,CAAC,KAAK,EAAE,eAAe,GAAG,0BAA0B,EAAE;IAoErF;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IA4C7B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAyBhC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAK1C;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe;IA2C3D;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,EAAE;CAgCzE"}
@@ -2,7 +2,7 @@
2
2
  * 循環依賴檢測器
3
3
  * 使用 Tarjan 算法檢測強連通分量和循環依賴
4
4
  */
5
- import { calculateCycleSeverity } from './types.js';
5
+ import { CycleSeverity, CyclePriority, calculateCycleSeverity } from './types.js';
6
6
  /**
7
7
  * 循環依賴檢測器類別
8
8
  */
@@ -246,7 +246,11 @@ export class CycleDetector {
246
246
  totalCycles: 0,
247
247
  averageCycleLength: 0,
248
248
  maxCycleLength: 0,
249
- cyclesBySeverity: { low: 0, medium: 0, high: 0 }
249
+ cyclesBySeverity: {
250
+ [CycleSeverity.LOW]: 0,
251
+ [CycleSeverity.MEDIUM]: 0,
252
+ [CycleSeverity.HIGH]: 0
253
+ }
250
254
  };
251
255
  }
252
256
  const totalLength = cycles.reduce((sum, cycle) => sum + cycle.length, 0);
@@ -254,7 +258,11 @@ export class CycleDetector {
254
258
  const severityCount = cycles.reduce((acc, cycle) => {
255
259
  acc[cycle.severity]++;
256
260
  return acc;
257
- }, { low: 0, medium: 0, high: 0 });
261
+ }, {
262
+ [CycleSeverity.LOW]: 0,
263
+ [CycleSeverity.MEDIUM]: 0,
264
+ [CycleSeverity.HIGH]: 0
265
+ });
258
266
  return {
259
267
  totalCycles: cycles.length,
260
268
  averageCycleLength: totalLength / cycles.length,
@@ -271,26 +279,26 @@ export class CycleDetector {
271
279
  return cycles.map(cycle => {
272
280
  let strategy = '';
273
281
  let description = '';
274
- let priority = 'low';
282
+ let priority = CyclePriority.LOW;
275
283
  if (cycle.length === 1) {
276
284
  strategy = 'remove_self_reference';
277
285
  description = '移除自我引用,檢查是否真的需要';
278
- priority = 'low';
286
+ priority = CyclePriority.LOW;
279
287
  }
280
288
  else if (cycle.length === 2) {
281
289
  strategy = 'extract_common_dependency';
282
290
  description = '提取共同依賴到第三個模組';
283
- priority = cycle.severity === 'high' ? 'high' : 'medium';
291
+ priority = cycle.severity === CycleSeverity.HIGH ? CyclePriority.HIGH : CyclePriority.MEDIUM;
284
292
  }
285
293
  else if (cycle.length <= 5) {
286
294
  strategy = 'dependency_inversion';
287
295
  description = '使用依賴倒置原則,引入介面或抽象層';
288
- priority = cycle.severity === 'high' ? 'high' : 'medium';
296
+ priority = cycle.severity === CycleSeverity.HIGH ? CyclePriority.HIGH : CyclePriority.MEDIUM;
289
297
  }
290
298
  else {
291
299
  strategy = 'architectural_refactoring';
292
300
  description = '需要重新設計架構,考慮拆分模組';
293
- priority = 'high';
301
+ priority = CyclePriority.HIGH;
294
302
  }
295
303
  return {
296
304
  cycle: [...cycle.cycle],
@@ -1 +1 @@
1
- {"version":3,"file":"cycle-detector.js","sourceRoot":"","sources":["../../../src/core/cycles/cycle-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cycle-detector.js","sourceRoot":"","sources":["../../../src/core/cycles/cycle-detector.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  import { CycleDetector } from './cycle-detector.js';
5
5
  export { CycleDetector };
6
6
  export type { CircularDependency, StronglyConnectedComponent, CycleDetectionOptions, CycleDetectionResult, CycleStatistics, CycleFixSuggestion } from './types.js';
7
- export { createDefaultCycleDetectionOptions, calculateCycleSeverity, isCircularDependency } from './types.js';
7
+ export { CycleSeverity, CyclePriority, createDefaultCycleDetectionOptions, calculateCycleSeverity, isCircularDependency } from './types.js';
8
8
  /**
9
9
  * 建立循環檢測器的便利函式
10
10
  * @returns 循環檢測器實例
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/cycles/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,YAAY,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kCAAkC,EAClC,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/cycles/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,YAAY,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,aAAa,EACb,kCAAkC,EAClC,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { CycleDetector } from './cycle-detector.js';
5
5
  export { CycleDetector };
6
- export { createDefaultCycleDetectionOptions, calculateCycleSeverity, isCircularDependency } from './types.js';
6
+ export { CycleSeverity, CyclePriority, createDefaultCycleDetectionOptions, calculateCycleSeverity, isCircularDependency } from './types.js';
7
7
  /**
8
8
  * 建立循環檢測器的便利函式
9
9
  * @returns 循環檢測器實例
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/cycles/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,CAAC;AAWzB,OAAO,EACL,kCAAkC,EAClC,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,aAAa,EAAE,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/cycles/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,CAAC;AAWzB,OAAO,EACL,aAAa,EACb,aAAa,EACb,kCAAkC,EAClC,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,aAAa,EAAE,CAAC;AAC7B,CAAC"}
@@ -1,13 +1,29 @@
1
1
  /**
2
2
  * 循環依賴檢測相關型別定義
3
3
  */
4
+ /**
5
+ * 循環依賴嚴重程度
6
+ */
7
+ export declare enum CycleSeverity {
8
+ LOW = "low",
9
+ MEDIUM = "medium",
10
+ HIGH = "high"
11
+ }
12
+ /**
13
+ * 循環修復優先級
14
+ */
15
+ export declare enum CyclePriority {
16
+ HIGH = "high",
17
+ MEDIUM = "medium",
18
+ LOW = "low"
19
+ }
4
20
  /**
5
21
  * 循環依賴資訊
6
22
  */
7
23
  export interface CircularDependency {
8
24
  readonly cycle: readonly string[];
9
25
  readonly length: number;
10
- readonly severity: 'low' | 'medium' | 'high';
26
+ readonly severity: CycleSeverity;
11
27
  }
12
28
  /**
13
29
  * 強連通分量
@@ -41,7 +57,7 @@ export interface CycleStatistics {
41
57
  readonly totalCycles: number;
42
58
  readonly averageCycleLength: number;
43
59
  readonly maxCycleLength: number;
44
- readonly cyclesBySeverity: Record<string, number>;
60
+ readonly cyclesBySeverity: Record<CycleSeverity, number>;
45
61
  }
46
62
  /**
47
63
  * 循環修復建議
@@ -50,7 +66,7 @@ export interface CycleFixSuggestion {
50
66
  readonly cycle: readonly string[];
51
67
  readonly strategy: string;
52
68
  readonly description: string;
53
- readonly priority: 'high' | 'medium' | 'low';
69
+ readonly priority: CyclePriority;
54
70
  }
55
71
  /**
56
72
  * 建立預設循環檢測選項
@@ -59,7 +75,7 @@ export declare function createDefaultCycleDetectionOptions(): CycleDetectionOpti
59
75
  /**
60
76
  * 計算循環依賴嚴重程度
61
77
  */
62
- export declare function calculateCycleSeverity(cycleLength: number): 'low' | 'medium' | 'high';
78
+ export declare function calculateCycleSeverity(cycleLength: number): CycleSeverity;
63
79
  /**
64
80
  * CircularDependency 型別守衛
65
81
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/cycles/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC/C,QAAQ,CAAC,2BAA2B,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAC5E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CAC9C;AAED;;GAEG;AACH,wBAAgB,kCAAkC,IAAI,qBAAqB,CAM1E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAQrF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAgBhF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/cycles/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC/C,QAAQ,CAAC,2BAA2B,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAC5E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED;;GAEG;AACH,wBAAgB,kCAAkC,IAAI,qBAAqB,CAM1E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAQzE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAgBhF"}
@@ -1,6 +1,24 @@
1
1
  /**
2
2
  * 循環依賴檢測相關型別定義
3
3
  */
4
+ /**
5
+ * 循環依賴嚴重程度
6
+ */
7
+ export var CycleSeverity;
8
+ (function (CycleSeverity) {
9
+ CycleSeverity["LOW"] = "low";
10
+ CycleSeverity["MEDIUM"] = "medium";
11
+ CycleSeverity["HIGH"] = "high";
12
+ })(CycleSeverity || (CycleSeverity = {}));
13
+ /**
14
+ * 循環修復優先級
15
+ */
16
+ export var CyclePriority;
17
+ (function (CyclePriority) {
18
+ CyclePriority["HIGH"] = "high";
19
+ CyclePriority["MEDIUM"] = "medium";
20
+ CyclePriority["LOW"] = "low";
21
+ })(CyclePriority || (CyclePriority = {}));
4
22
  /**
5
23
  * 建立預設循環檢測選項
6
24
  */
@@ -16,12 +34,12 @@ export function createDefaultCycleDetectionOptions() {
16
34
  */
17
35
  export function calculateCycleSeverity(cycleLength) {
18
36
  if (cycleLength <= 3) {
19
- return 'low';
37
+ return CycleSeverity.LOW;
20
38
  }
21
39
  if (cycleLength <= 6) {
22
- return 'medium';
40
+ return CycleSeverity.MEDIUM;
23
41
  }
24
- return 'high';
42
+ return CycleSeverity.HIGH;
25
43
  }
26
44
  /**
27
45
  * CircularDependency 型別守衛
@@ -31,7 +49,7 @@ export function isCircularDependency(value) {
31
49
  return false;
32
50
  }
33
51
  const obj = value;
34
- const validSeverities = ['low', 'medium', 'high'];
52
+ const validSeverities = Object.values(CycleSeverity);
35
53
  return (Array.isArray(obj.cycle) &&
36
54
  obj.cycle.length >= 1 &&
37
55
  obj.cycle.every((item) => typeof item === 'string') &&
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/cycles/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA2DH;;GAEG;AACH,MAAM,UAAU,kCAAkC;IAChD,OAAO;QACL,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,IAAI;KACtB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAElD,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACxB,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;QACrB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;QAC5D,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,GAAG,CAAC,MAAM,IAAI,CAAC;QACf,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAkB,CAAC,CACjD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/cycles/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,4BAAW,CAAA;IACX,kCAAiB,CAAA;IACjB,8BAAa,CAAA;AACf,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,kCAAiB,CAAA;IACjB,4BAAW,CAAA;AACb,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AA2DD;;GAEG;AACH,MAAM,UAAU,kCAAkC;IAChD,OAAO;QACL,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,IAAI;KACtB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,aAAa,CAAC,GAAG,CAAC;IAC3B,CAAC;IACD,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,aAAa,CAAC,MAAM,CAAC;IAC9B,CAAC;IACD,OAAO,aAAa,CAAC,IAAI,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAa,CAAC;IAEjE,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACxB,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;QACrB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;QAC5D,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,GAAG,CAAC,MAAM,IAAI,CAAC;QACf,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAkB,CAAC,CACjD,CAAC;AACJ,CAAC"}
@@ -20,13 +20,21 @@ export declare class DeadCodeDetector {
20
20
  */
21
21
  detect(): Promise<DeadCodeDetectionResult>;
22
22
  /**
23
- * 收集所有符號
23
+ * 收集所有符號(優先使用 IndexEngine 快取)
24
24
  */
25
25
  private collectAllSymbols;
26
26
  /**
27
27
  * 判斷是否應排除
28
28
  */
29
29
  private shouldExclude;
30
+ /**
31
+ * 判斷符號是否為函式內部的變數或參數
32
+ * 函式參數、arrow function 回呼參數、for 迴圈變數等不應被 deadcode 檢測
33
+ *
34
+ * 注意:此方法遍歷 scope 鏈確認變數是否在 function scope 內,
35
+ * 避免誤過濾模組層級的 block scope 變數(如 if 區塊內的變數)
36
+ */
37
+ private isFunctionLocalVariable;
30
38
  /**
31
39
  * 判斷符號是否為 interface 或 type 的屬性
32
40
  * Interface/Type 的屬性是型別定義的一部分,不應被獨立檢測為 dead code
@@ -65,6 +73,19 @@ export declare class DeadCodeDetector {
65
73
  * 檢查 class 是否有任何成員被使用
66
74
  */
67
75
  private hasAnyUsedMember;
76
+ /**
77
+ * 判斷符號是否為 class member(方法或屬性)
78
+ * - 方法:scope.parent.type === 'class'
79
+ * - 屬性:scope.type === 'class' && symbol.type !== 'class'
80
+ *
81
+ * 注意:class 本身不算 "class member",只有 method/property 才算
82
+ */
83
+ private isClassMember;
84
+ /**
85
+ * 取得 class member 的父 class 名稱
86
+ * @returns 父 class 名稱,若不是 class member 則返回 null
87
+ */
88
+ private getParentClassName;
68
89
  }
69
90
  /**
70
91
  * 建立 DeadCodeDetector 實例
@@ -1 +1 @@
1
- {"version":3,"file":"dead-code-detector.d.ts","sourceRoot":"","sources":["../../../src/core/deadcode/dead-code-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAEV,uBAAuB,EACvB,uBAAuB,EAExB,MAAM,YAAY,CAAC;AAgBpB;;GAEG;AACH,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;gBAGzC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW,EACxC,OAAO,CAAC,EAAE,uBAAuB;IAKnC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,uBAAuB,CAAC;IA4IlD;;SAEK;YACW,iBAAiB;IA2B/B;;OAEG;IACH,OAAO,CAAC,aAAa;IA6BrB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAMjC;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,cAAc;IAwBtB;;OAEG;IACH,OAAO,CAAC,SAAS;IAKjB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;YACW,QAAQ;IAStB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAazB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW,EACvB,OAAO,CAAC,EAAE,uBAAuB,GAChC,gBAAgB,CAElB"}
1
+ {"version":3,"file":"dead-code-detector.d.ts","sourceRoot":"","sources":["../../../src/core/deadcode/dead-code-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAOlE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAEV,uBAAuB,EACvB,uBAAuB,EAExB,MAAM,YAAY,CAAC;AAmCpB;;GAEG;AACH,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;gBAGzC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW,EACxC,OAAO,CAAC,EAAE,uBAAuB;IAKnC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAsIlD;;SAEK;YACW,iBAAiB;IA2D/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAoCrB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAwB/B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAMjC;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAwBtB;;OAEG;IACH,OAAO,CAAC,SAAS;IAKjB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;YACW,QAAQ;IAStB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAOrB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAS3B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW,EACvB,OAAO,CAAC,EAAE,uBAAuB,GAChC,gBAAgB,CAElB"}