@openrewrite/recipes-angular 0.0.0 → 1.0.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 (421) hide show
  1. package/dist/index.d.ts +107 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +441 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/migration/add-default-configuration.d.ts +8 -0
  6. package/dist/migration/add-default-configuration.d.ts.map +1 -0
  7. package/dist/migration/add-default-configuration.js +124 -0
  8. package/dist/migration/add-default-configuration.js.map +1 -0
  9. package/dist/migration/add-localize-polyfill.d.ts +8 -0
  10. package/dist/migration/add-localize-polyfill.d.ts.map +1 -0
  11. package/dist/migration/add-localize-polyfill.js +78 -0
  12. package/dist/migration/add-localize-polyfill.js.map +1 -0
  13. package/dist/migration/add-module-with-providers-generic.d.ts +8 -0
  14. package/dist/migration/add-module-with-providers-generic.d.ts.map +1 -0
  15. package/dist/migration/add-module-with-providers-generic.js +114 -0
  16. package/dist/migration/add-module-with-providers-generic.js.map +1 -0
  17. package/dist/migration/add-static-false-to-view-queries.d.ts +8 -0
  18. package/dist/migration/add-static-false-to-view-queries.d.ts.map +1 -0
  19. package/dist/migration/add-static-false-to-view-queries.js +100 -0
  20. package/dist/migration/add-static-false-to-view-queries.js.map +1 -0
  21. package/dist/migration/add-testbed-teardown.d.ts +8 -0
  22. package/dist/migration/add-testbed-teardown.d.ts.map +1 -0
  23. package/dist/migration/add-testbed-teardown.js +62 -0
  24. package/dist/migration/add-testbed-teardown.js.map +1 -0
  25. package/dist/migration/enable-aot-build.d.ts +8 -0
  26. package/dist/migration/enable-aot-build.d.ts.map +1 -0
  27. package/dist/migration/enable-aot-build.js +123 -0
  28. package/dist/migration/enable-aot-build.js.map +1 -0
  29. package/dist/migration/explicit-standalone-flag.d.ts +8 -0
  30. package/dist/migration/explicit-standalone-flag.d.ts.map +1 -0
  31. package/dist/migration/explicit-standalone-flag.js +99 -0
  32. package/dist/migration/explicit-standalone-flag.js.map +1 -0
  33. package/dist/migration/migrate-constructor-to-inject.d.ts +8 -0
  34. package/dist/migration/migrate-constructor-to-inject.d.ts.map +1 -0
  35. package/dist/migration/migrate-constructor-to-inject.js +162 -0
  36. package/dist/migration/migrate-constructor-to-inject.js.map +1 -0
  37. package/dist/migration/migrate-input-to-signal.d.ts +8 -0
  38. package/dist/migration/migrate-input-to-signal.d.ts.map +1 -0
  39. package/dist/migration/migrate-input-to-signal.js +293 -0
  40. package/dist/migration/migrate-input-to-signal.js.map +1 -0
  41. package/dist/migration/migrate-output-to-signal.d.ts +8 -0
  42. package/dist/migration/migrate-output-to-signal.d.ts.map +1 -0
  43. package/dist/migration/migrate-output-to-signal.js +259 -0
  44. package/dist/migration/migrate-output-to-signal.js.map +1 -0
  45. package/dist/migration/migrate-query-to-signal.d.ts +8 -0
  46. package/dist/migration/migrate-query-to-signal.d.ts.map +1 -0
  47. package/dist/migration/migrate-query-to-signal.js +256 -0
  48. package/dist/migration/migrate-query-to-signal.js.map +1 -0
  49. package/dist/migration/migrate-to-solution-style-tsconfig.d.ts +17 -0
  50. package/dist/migration/migrate-to-solution-style-tsconfig.d.ts.map +1 -0
  51. package/dist/migration/migrate-to-solution-style-tsconfig.js +153 -0
  52. package/dist/migration/migrate-to-solution-style-tsconfig.js.map +1 -0
  53. package/dist/migration/move-document-to-core.d.ts +16 -0
  54. package/dist/migration/move-document-to-core.d.ts.map +1 -0
  55. package/dist/migration/move-document-to-core.js +48 -0
  56. package/dist/migration/move-document-to-core.js.map +1 -0
  57. package/dist/migration/remove-aot-summaries.d.ts +8 -0
  58. package/dist/migration/remove-aot-summaries.d.ts.map +1 -0
  59. package/dist/migration/remove-aot-summaries.js +90 -0
  60. package/dist/migration/remove-aot-summaries.js.map +1 -0
  61. package/dist/migration/remove-browser-module-with-server-transition.d.ts +8 -0
  62. package/dist/migration/remove-browser-module-with-server-transition.d.ts.map +1 -0
  63. package/dist/migration/remove-browser-module-with-server-transition.js +173 -0
  64. package/dist/migration/remove-browser-module-with-server-transition.js.map +1 -0
  65. package/dist/migration/remove-component-factory-resolver.d.ts +8 -0
  66. package/dist/migration/remove-component-factory-resolver.d.ts.map +1 -0
  67. package/dist/migration/remove-component-factory-resolver.js +70 -0
  68. package/dist/migration/remove-component-factory-resolver.js.map +1 -0
  69. package/dist/migration/remove-default-project.d.ts +8 -0
  70. package/dist/migration/remove-default-project.d.ts.map +1 -0
  71. package/dist/migration/remove-default-project.js +59 -0
  72. package/dist/migration/remove-default-project.js.map +1 -0
  73. package/dist/migration/remove-empty-ng-on-init.d.ts +8 -0
  74. package/dist/migration/remove-empty-ng-on-init.d.ts.map +1 -0
  75. package/dist/migration/remove-empty-ng-on-init.js +98 -0
  76. package/dist/migration/remove-empty-ng-on-init.js.map +1 -0
  77. package/dist/migration/remove-enable-ivy.d.ts +8 -0
  78. package/dist/migration/remove-enable-ivy.d.ts.map +1 -0
  79. package/dist/migration/remove-enable-ivy.js +78 -0
  80. package/dist/migration/remove-enable-ivy.js.map +1 -0
  81. package/dist/migration/remove-entry-components.d.ts +8 -0
  82. package/dist/migration/remove-entry-components.d.ts.map +1 -0
  83. package/dist/migration/remove-entry-components.js +101 -0
  84. package/dist/migration/remove-entry-components.js.map +1 -0
  85. package/dist/migration/remove-es5-browser-support.d.ts +8 -0
  86. package/dist/migration/remove-es5-browser-support.d.ts.map +1 -0
  87. package/dist/migration/remove-es5-browser-support.js +74 -0
  88. package/dist/migration/remove-es5-browser-support.js.map +1 -0
  89. package/dist/migration/remove-extract-css.d.ts +8 -0
  90. package/dist/migration/remove-extract-css.d.ts.map +1 -0
  91. package/dist/migration/remove-extract-css.js +76 -0
  92. package/dist/migration/remove-extract-css.js.map +1 -0
  93. package/dist/migration/remove-ie-polyfills.d.ts +8 -0
  94. package/dist/migration/remove-ie-polyfills.d.ts.map +1 -0
  95. package/dist/migration/remove-ie-polyfills.js +151 -0
  96. package/dist/migration/remove-ie-polyfills.js.map +1 -0
  97. package/dist/migration/remove-module-id.d.ts +8 -0
  98. package/dist/migration/remove-module-id.d.ts.map +1 -0
  99. package/dist/migration/remove-module-id.js +81 -0
  100. package/dist/migration/remove-module-id.js.map +1 -0
  101. package/dist/migration/remove-relative-link-resolution.d.ts +8 -0
  102. package/dist/migration/remove-relative-link-resolution.d.ts.map +1 -0
  103. package/dist/migration/remove-relative-link-resolution.js +84 -0
  104. package/dist/migration/remove-relative-link-resolution.js.map +1 -0
  105. package/dist/migration/remove-standalone-true.d.ts +8 -0
  106. package/dist/migration/remove-standalone-true.d.ts.map +1 -0
  107. package/dist/migration/remove-standalone-true.js +73 -0
  108. package/dist/migration/remove-standalone-true.js.map +1 -0
  109. package/dist/migration/remove-static-false.d.ts +8 -0
  110. package/dist/migration/remove-static-false.d.ts.map +1 -0
  111. package/dist/migration/remove-static-false.js +90 -0
  112. package/dist/migration/remove-static-false.js.map +1 -0
  113. package/dist/migration/remove-zone-js-polyfill.d.ts +8 -0
  114. package/dist/migration/remove-zone-js-polyfill.d.ts.map +1 -0
  115. package/dist/migration/remove-zone-js-polyfill.js +73 -0
  116. package/dist/migration/remove-zone-js-polyfill.js.map +1 -0
  117. package/dist/migration/rename-after-render.d.ts +8 -0
  118. package/dist/migration/rename-after-render.d.ts.map +1 -0
  119. package/dist/migration/rename-after-render.js +52 -0
  120. package/dist/migration/rename-after-render.js.map +1 -0
  121. package/dist/migration/rename-check-no-changes.d.ts +8 -0
  122. package/dist/migration/rename-check-no-changes.d.ts.map +1 -0
  123. package/dist/migration/rename-check-no-changes.js +48 -0
  124. package/dist/migration/rename-check-no-changes.js.map +1 -0
  125. package/dist/migration/rename-file.d.ts +14 -0
  126. package/dist/migration/rename-file.d.ts.map +1 -0
  127. package/dist/migration/rename-file.js +124 -0
  128. package/dist/migration/rename-file.js.map +1 -0
  129. package/dist/migration/rename-pending-tasks.d.ts +8 -0
  130. package/dist/migration/rename-pending-tasks.d.ts.map +1 -0
  131. package/dist/migration/rename-pending-tasks.js +49 -0
  132. package/dist/migration/rename-pending-tasks.js.map +1 -0
  133. package/dist/migration/rename-zoneless-provider.d.ts +8 -0
  134. package/dist/migration/rename-zoneless-provider.d.ts.map +1 -0
  135. package/dist/migration/rename-zoneless-provider.js +48 -0
  136. package/dist/migration/rename-zoneless-provider.js.map +1 -0
  137. package/dist/migration/replace-async-with-wait-for-async.d.ts +8 -0
  138. package/dist/migration/replace-async-with-wait-for-async.d.ts.map +1 -0
  139. package/dist/migration/replace-async-with-wait-for-async.js +52 -0
  140. package/dist/migration/replace-async-with-wait-for-async.js.map +1 -0
  141. package/dist/migration/replace-deep-zone-js-imports.d.ts +8 -0
  142. package/dist/migration/replace-deep-zone-js-imports.d.ts.map +1 -0
  143. package/dist/migration/replace-deep-zone-js-imports.js +144 -0
  144. package/dist/migration/replace-deep-zone-js-imports.js.map +1 -0
  145. package/dist/migration/replace-http-client-module.d.ts +8 -0
  146. package/dist/migration/replace-http-client-module.d.ts.map +1 -0
  147. package/dist/migration/replace-http-client-module.js +248 -0
  148. package/dist/migration/replace-http-client-module.js.map +1 -0
  149. package/dist/migration/replace-initial-navigation.d.ts +8 -0
  150. package/dist/migration/replace-initial-navigation.d.ts.map +1 -0
  151. package/dist/migration/replace-initial-navigation.js +80 -0
  152. package/dist/migration/replace-initial-navigation.js.map +1 -0
  153. package/dist/migration/replace-inject-flags.d.ts +8 -0
  154. package/dist/migration/replace-inject-flags.d.ts.map +1 -0
  155. package/dist/migration/replace-inject-flags.js +101 -0
  156. package/dist/migration/replace-inject-flags.js.map +1 -0
  157. package/dist/migration/replace-load-children-string.d.ts +8 -0
  158. package/dist/migration/replace-load-children-string.d.ts.map +1 -0
  159. package/dist/migration/replace-load-children-string.js +70 -0
  160. package/dist/migration/replace-load-children-string.js.map +1 -0
  161. package/dist/migration/replace-node-sass-with-sass.d.ts +8 -0
  162. package/dist/migration/replace-node-sass-with-sass.d.ts.map +1 -0
  163. package/dist/migration/replace-node-sass-with-sass.js +38 -0
  164. package/dist/migration/replace-node-sass-with-sass.js.map +1 -0
  165. package/dist/migration/replace-router-link-with-href.d.ts +8 -0
  166. package/dist/migration/replace-router-link-with-href.d.ts.map +1 -0
  167. package/dist/migration/replace-router-link-with-href.js +55 -0
  168. package/dist/migration/replace-router-link-with-href.js.map +1 -0
  169. package/dist/migration/replace-testbed-get-with-inject.d.ts +8 -0
  170. package/dist/migration/replace-testbed-get-with-inject.d.ts.map +1 -0
  171. package/dist/migration/replace-testbed-get-with-inject.js +53 -0
  172. package/dist/migration/replace-testbed-get-with-inject.js.map +1 -0
  173. package/dist/migration/replace-untyped-forms.d.ts +8 -0
  174. package/dist/migration/replace-untyped-forms.d.ts.map +1 -0
  175. package/dist/migration/replace-untyped-forms.js +78 -0
  176. package/dist/migration/replace-untyped-forms.js.map +1 -0
  177. package/dist/migration/replace-validator-with-validators.d.ts +8 -0
  178. package/dist/migration/replace-validator-with-validators.d.ts.map +1 -0
  179. package/dist/migration/replace-validator-with-validators.js +62 -0
  180. package/dist/migration/replace-validator-with-validators.js.map +1 -0
  181. package/dist/migration/replace-view-encapsulation-native.d.ts +8 -0
  182. package/dist/migration/replace-view-encapsulation-native.d.ts.map +1 -0
  183. package/dist/migration/replace-view-encapsulation-native.js +67 -0
  184. package/dist/migration/replace-view-encapsulation-native.js.map +1 -0
  185. package/dist/migration/update-component-template-url.d.ts +28 -0
  186. package/dist/migration/update-component-template-url.d.ts.map +1 -0
  187. package/dist/migration/update-component-template-url.js +178 -0
  188. package/dist/migration/update-component-template-url.js.map +1 -0
  189. package/dist/migration/update-tsconfig-module.d.ts +8 -0
  190. package/dist/migration/update-tsconfig-module.d.ts.map +1 -0
  191. package/dist/migration/update-tsconfig-module.js +83 -0
  192. package/dist/migration/update-tsconfig-module.js.map +1 -0
  193. package/dist/migration/update-tsconfig-target.d.ts +8 -0
  194. package/dist/migration/update-tsconfig-target.d.ts.map +1 -0
  195. package/dist/migration/update-tsconfig-target.js +78 -0
  196. package/dist/migration/update-tsconfig-target.js.map +1 -0
  197. package/dist/migration/upgrade-to-angular-10.d.ts +8 -0
  198. package/dist/migration/upgrade-to-angular-10.d.ts.map +1 -0
  199. package/dist/migration/upgrade-to-angular-10.js +68 -0
  200. package/dist/migration/upgrade-to-angular-10.js.map +1 -0
  201. package/dist/migration/upgrade-to-angular-11.d.ts +8 -0
  202. package/dist/migration/upgrade-to-angular-11.d.ts.map +1 -0
  203. package/dist/migration/upgrade-to-angular-11.js +68 -0
  204. package/dist/migration/upgrade-to-angular-11.js.map +1 -0
  205. package/dist/migration/upgrade-to-angular-12.d.ts +8 -0
  206. package/dist/migration/upgrade-to-angular-12.d.ts.map +1 -0
  207. package/dist/migration/upgrade-to-angular-12.js +59 -0
  208. package/dist/migration/upgrade-to-angular-12.js.map +1 -0
  209. package/dist/migration/upgrade-to-angular-13.d.ts +8 -0
  210. package/dist/migration/upgrade-to-angular-13.d.ts.map +1 -0
  211. package/dist/migration/upgrade-to-angular-13.js +61 -0
  212. package/dist/migration/upgrade-to-angular-13.js.map +1 -0
  213. package/dist/migration/upgrade-to-angular-14.d.ts +8 -0
  214. package/dist/migration/upgrade-to-angular-14.d.ts.map +1 -0
  215. package/dist/migration/upgrade-to-angular-14.js +60 -0
  216. package/dist/migration/upgrade-to-angular-14.js.map +1 -0
  217. package/dist/migration/upgrade-to-angular-15.d.ts +8 -0
  218. package/dist/migration/upgrade-to-angular-15.d.ts.map +1 -0
  219. package/dist/migration/upgrade-to-angular-15.js +59 -0
  220. package/dist/migration/upgrade-to-angular-15.js.map +1 -0
  221. package/dist/migration/upgrade-to-angular-16.d.ts +8 -0
  222. package/dist/migration/upgrade-to-angular-16.d.ts.map +1 -0
  223. package/dist/migration/upgrade-to-angular-16.js +73 -0
  224. package/dist/migration/upgrade-to-angular-16.js.map +1 -0
  225. package/dist/migration/upgrade-to-angular-17.d.ts +8 -0
  226. package/dist/migration/upgrade-to-angular-17.d.ts.map +1 -0
  227. package/dist/migration/upgrade-to-angular-17.js +59 -0
  228. package/dist/migration/upgrade-to-angular-17.js.map +1 -0
  229. package/dist/migration/upgrade-to-angular-18.d.ts +8 -0
  230. package/dist/migration/upgrade-to-angular-18.d.ts.map +1 -0
  231. package/dist/migration/upgrade-to-angular-18.js +85 -0
  232. package/dist/migration/upgrade-to-angular-18.js.map +1 -0
  233. package/dist/migration/upgrade-to-angular-19.d.ts +8 -0
  234. package/dist/migration/upgrade-to-angular-19.d.ts.map +1 -0
  235. package/dist/migration/upgrade-to-angular-19.js +68 -0
  236. package/dist/migration/upgrade-to-angular-19.js.map +1 -0
  237. package/dist/migration/upgrade-to-angular-20.d.ts +8 -0
  238. package/dist/migration/upgrade-to-angular-20.d.ts.map +1 -0
  239. package/dist/migration/upgrade-to-angular-20.js +63 -0
  240. package/dist/migration/upgrade-to-angular-20.js.map +1 -0
  241. package/dist/migration/upgrade-to-angular-21.d.ts +8 -0
  242. package/dist/migration/upgrade-to-angular-21.d.ts.map +1 -0
  243. package/dist/migration/upgrade-to-angular-21.js +69 -0
  244. package/dist/migration/upgrade-to-angular-21.js.map +1 -0
  245. package/dist/migration/upgrade-to-angular-8.d.ts +8 -0
  246. package/dist/migration/upgrade-to-angular-8.d.ts.map +1 -0
  247. package/dist/migration/upgrade-to-angular-8.js +70 -0
  248. package/dist/migration/upgrade-to-angular-8.js.map +1 -0
  249. package/dist/migration/upgrade-to-angular-9.d.ts +8 -0
  250. package/dist/migration/upgrade-to-angular-9.d.ts.map +1 -0
  251. package/dist/migration/upgrade-to-angular-9.js +85 -0
  252. package/dist/migration/upgrade-to-angular-9.js.map +1 -0
  253. package/dist/search/find-analyze-for-entry-components-usage.d.ts +8 -0
  254. package/dist/search/find-analyze-for-entry-components-usage.d.ts.map +1 -0
  255. package/dist/search/find-analyze-for-entry-components-usage.js +66 -0
  256. package/dist/search/find-analyze-for-entry-components-usage.js.map +1 -0
  257. package/dist/search/find-angular-decorator.d.ts +8 -0
  258. package/dist/search/find-angular-decorator.d.ts.map +1 -0
  259. package/dist/search/find-angular-decorator.js +78 -0
  260. package/dist/search/find-angular-decorator.js.map +1 -0
  261. package/dist/search/find-angular-http-usage.d.ts +8 -0
  262. package/dist/search/find-angular-http-usage.d.ts.map +1 -0
  263. package/dist/search/find-angular-http-usage.js +55 -0
  264. package/dist/search/find-angular-http-usage.js.map +1 -0
  265. package/dist/search/find-animation-driver-matches-element.d.ts +8 -0
  266. package/dist/search/find-animation-driver-matches-element.d.ts.map +1 -0
  267. package/dist/search/find-animation-driver-matches-element.js +59 -0
  268. package/dist/search/find-animation-driver-matches-element.js.map +1 -0
  269. package/dist/search/find-async-test-helper-usage.d.ts +8 -0
  270. package/dist/search/find-async-test-helper-usage.d.ts.map +1 -0
  271. package/dist/search/find-async-test-helper-usage.js +65 -0
  272. package/dist/search/find-async-test-helper-usage.js.map +1 -0
  273. package/dist/search/find-bare-module-with-providers.d.ts +8 -0
  274. package/dist/search/find-bare-module-with-providers.d.ts.map +1 -0
  275. package/dist/search/find-bare-module-with-providers.js +67 -0
  276. package/dist/search/find-bare-module-with-providers.js.map +1 -0
  277. package/dist/search/find-browser-transfer-state-module-usage.d.ts +8 -0
  278. package/dist/search/find-browser-transfer-state-module-usage.d.ts.map +1 -0
  279. package/dist/search/find-browser-transfer-state-module-usage.js +65 -0
  280. package/dist/search/find-browser-transfer-state-module-usage.js.map +1 -0
  281. package/dist/search/find-common-module-usage.d.ts +8 -0
  282. package/dist/search/find-common-module-usage.d.ts.map +1 -0
  283. package/dist/search/find-common-module-usage.js +67 -0
  284. package/dist/search/find-common-module-usage.js.map +1 -0
  285. package/dist/search/find-compiler-factory-usage.d.ts +8 -0
  286. package/dist/search/find-compiler-factory-usage.d.ts.map +1 -0
  287. package/dist/search/find-compiler-factory-usage.js +70 -0
  288. package/dist/search/find-compiler-factory-usage.js.map +1 -0
  289. package/dist/search/find-date-pipe-default-timezone-usage.d.ts +8 -0
  290. package/dist/search/find-date-pipe-default-timezone-usage.d.ts.map +1 -0
  291. package/dist/search/find-date-pipe-default-timezone-usage.js +66 -0
  292. package/dist/search/find-date-pipe-default-timezone-usage.js.map +1 -0
  293. package/dist/search/find-effect-timing-usage.d.ts +8 -0
  294. package/dist/search/find-effect-timing-usage.d.ts.map +1 -0
  295. package/dist/search/find-effect-timing-usage.js +48 -0
  296. package/dist/search/find-effect-timing-usage.js.map +1 -0
  297. package/dist/search/find-empty-projectable-nodes.d.ts +8 -0
  298. package/dist/search/find-empty-projectable-nodes.d.ts.map +1 -0
  299. package/dist/search/find-empty-projectable-nodes.js +88 -0
  300. package/dist/search/find-empty-projectable-nodes.js.map +1 -0
  301. package/dist/search/find-fake-async-usage.d.ts +8 -0
  302. package/dist/search/find-fake-async-usage.d.ts.map +1 -0
  303. package/dist/search/find-fake-async-usage.js +56 -0
  304. package/dist/search/find-fake-async-usage.js.map +1 -0
  305. package/dist/search/find-hammer-js-usage.d.ts +8 -0
  306. package/dist/search/find-hammer-js-usage.d.ts.map +1 -0
  307. package/dist/search/find-hammer-js-usage.js +69 -0
  308. package/dist/search/find-hammer-js-usage.js.map +1 -0
  309. package/dist/search/find-i18n-usage.d.ts +8 -0
  310. package/dist/search/find-i18n-usage.d.ts.map +1 -0
  311. package/dist/search/find-i18n-usage.js +128 -0
  312. package/dist/search/find-i18n-usage.js.map +1 -0
  313. package/dist/search/find-karma-usage.d.ts +8 -0
  314. package/dist/search/find-karma-usage.d.ts.map +1 -0
  315. package/dist/search/find-karma-usage.js +69 -0
  316. package/dist/search/find-karma-usage.js.map +1 -0
  317. package/dist/search/find-load-children-string-usage.d.ts +8 -0
  318. package/dist/search/find-load-children-string-usage.d.ts.map +1 -0
  319. package/dist/search/find-load-children-string-usage.js +62 -0
  320. package/dist/search/find-load-children-string-usage.js.map +1 -0
  321. package/dist/search/find-missing-injectable.d.ts +8 -0
  322. package/dist/search/find-missing-injectable.d.ts.map +1 -0
  323. package/dist/search/find-missing-injectable.js +98 -0
  324. package/dist/search/find-missing-injectable.js.map +1 -0
  325. package/dist/search/find-ng-class-usage.d.ts +8 -0
  326. package/dist/search/find-ng-class-usage.d.ts.map +1 -0
  327. package/dist/search/find-ng-class-usage.js +65 -0
  328. package/dist/search/find-ng-class-usage.js.map +1 -0
  329. package/dist/search/find-ng-style-usage.d.ts +8 -0
  330. package/dist/search/find-ng-style-usage.d.ts.map +1 -0
  331. package/dist/search/find-ng-style-usage.js +65 -0
  332. package/dist/search/find-ng-style-usage.js.map +1 -0
  333. package/dist/search/find-path-match-type-usage.d.ts +8 -0
  334. package/dist/search/find-path-match-type-usage.d.ts.map +1 -0
  335. package/dist/search/find-path-match-type-usage.js +62 -0
  336. package/dist/search/find-path-match-type-usage.js.map +1 -0
  337. package/dist/search/find-platform-dynamic-server-usage.d.ts +8 -0
  338. package/dist/search/find-platform-dynamic-server-usage.d.ts.map +1 -0
  339. package/dist/search/find-platform-dynamic-server-usage.js +59 -0
  340. package/dist/search/find-platform-dynamic-server-usage.js.map +1 -0
  341. package/dist/search/find-platform-webworker-usage.d.ts +8 -0
  342. package/dist/search/find-platform-webworker-usage.d.ts.map +1 -0
  343. package/dist/search/find-platform-webworker-usage.js +54 -0
  344. package/dist/search/find-platform-webworker-usage.js.map +1 -0
  345. package/dist/search/find-platform-worker-usage.d.ts +8 -0
  346. package/dist/search/find-platform-worker-usage.d.ts.map +1 -0
  347. package/dist/search/find-platform-worker-usage.js +60 -0
  348. package/dist/search/find-platform-worker-usage.js.map +1 -0
  349. package/dist/search/find-preserve-fragment-usage.d.ts +8 -0
  350. package/dist/search/find-preserve-fragment-usage.d.ts.map +1 -0
  351. package/dist/search/find-preserve-fragment-usage.js +52 -0
  352. package/dist/search/find-preserve-fragment-usage.js.map +1 -0
  353. package/dist/search/find-preserve-query-params-usage.d.ts +8 -0
  354. package/dist/search/find-preserve-query-params-usage.d.ts.map +1 -0
  355. package/dist/search/find-preserve-query-params-usage.js +52 -0
  356. package/dist/search/find-preserve-query-params-usage.js.map +1 -0
  357. package/dist/search/find-provided-in-deprecated-usage.d.ts +8 -0
  358. package/dist/search/find-provided-in-deprecated-usage.d.ts.map +1 -0
  359. package/dist/search/find-provided-in-deprecated-usage.js +87 -0
  360. package/dist/search/find-provided-in-deprecated-usage.js.map +1 -0
  361. package/dist/search/find-reflective-injector-usage.d.ts +8 -0
  362. package/dist/search/find-reflective-injector-usage.d.ts.map +1 -0
  363. package/dist/search/find-reflective-injector-usage.js +65 -0
  364. package/dist/search/find-reflective-injector-usage.js.map +1 -0
  365. package/dist/search/find-render-application-usage.d.ts +8 -0
  366. package/dist/search/find-render-application-usage.d.ts.map +1 -0
  367. package/dist/search/find-render-application-usage.js +67 -0
  368. package/dist/search/find-render-application-usage.js.map +1 -0
  369. package/dist/search/find-render-component-type-usage.d.ts +8 -0
  370. package/dist/search/find-render-component-type-usage.d.ts.map +1 -0
  371. package/dist/search/find-render-component-type-usage.js +66 -0
  372. package/dist/search/find-render-component-type-usage.js.map +1 -0
  373. package/dist/search/find-render-module-factory-usage.d.ts +8 -0
  374. package/dist/search/find-render-module-factory-usage.d.ts.map +1 -0
  375. package/dist/search/find-render-module-factory-usage.js +65 -0
  376. package/dist/search/find-render-module-factory-usage.js.map +1 -0
  377. package/dist/search/find-renderer-usage.d.ts +8 -0
  378. package/dist/search/find-renderer-usage.d.ts.map +1 -0
  379. package/dist/search/find-renderer-usage.js +66 -0
  380. package/dist/search/find-renderer-usage.js.map +1 -0
  381. package/dist/search/find-resource-cache-provider-usage.d.ts +8 -0
  382. package/dist/search/find-resource-cache-provider-usage.d.ts.map +1 -0
  383. package/dist/search/find-resource-cache-provider-usage.js +59 -0
  384. package/dist/search/find-resource-cache-provider-usage.js.map +1 -0
  385. package/dist/search/find-root-renderer-usage.d.ts +8 -0
  386. package/dist/search/find-root-renderer-usage.d.ts.map +1 -0
  387. package/dist/search/find-root-renderer-usage.js +67 -0
  388. package/dist/search/find-root-renderer-usage.js.map +1 -0
  389. package/dist/search/find-rxjs-compat-usage.d.ts +8 -0
  390. package/dist/search/find-rxjs-compat-usage.d.ts.map +1 -0
  391. package/dist/search/find-rxjs-compat-usage.js +60 -0
  392. package/dist/search/find-rxjs-compat-usage.js.map +1 -0
  393. package/dist/search/find-server-transfer-state-module-usage.d.ts +8 -0
  394. package/dist/search/find-server-transfer-state-module-usage.d.ts.map +1 -0
  395. package/dist/search/find-server-transfer-state-module-usage.js +59 -0
  396. package/dist/search/find-server-transfer-state-module-usage.js.map +1 -0
  397. package/dist/search/find-setup-testing-router-usage.d.ts +8 -0
  398. package/dist/search/find-setup-testing-router-usage.d.ts.map +1 -0
  399. package/dist/search/find-setup-testing-router-usage.js +65 -0
  400. package/dist/search/find-setup-testing-router-usage.js.map +1 -0
  401. package/dist/search/find-testability-pending-request-usage.d.ts +8 -0
  402. package/dist/search/find-testability-pending-request-usage.d.ts.map +1 -0
  403. package/dist/search/find-testability-pending-request-usage.js +59 -0
  404. package/dist/search/find-testability-pending-request-usage.js.map +1 -0
  405. package/dist/search/find-undecorated-angular-class.d.ts +8 -0
  406. package/dist/search/find-undecorated-angular-class.d.ts.map +1 -0
  407. package/dist/search/find-undecorated-angular-class.js +87 -0
  408. package/dist/search/find-undecorated-angular-class.js.map +1 -0
  409. package/dist/search/find-with-no-dom-reuse-usage.d.ts +8 -0
  410. package/dist/search/find-with-no-dom-reuse-usage.d.ts.map +1 -0
  411. package/dist/search/find-with-no-dom-reuse-usage.js +66 -0
  412. package/dist/search/find-with-no-dom-reuse-usage.js.map +1 -0
  413. package/dist/search/find-wrapped-value-usage.d.ts +8 -0
  414. package/dist/search/find-wrapped-value-usage.d.ts.map +1 -0
  415. package/dist/search/find-wrapped-value-usage.js +66 -0
  416. package/dist/search/find-wrapped-value-usage.js.map +1 -0
  417. package/dist/search/find-zone-js-usage.d.ts +8 -0
  418. package/dist/search/find-zone-js-usage.d.ts.map +1 -0
  419. package/dist/search/find-zone-js-usage.js +65 -0
  420. package/dist/search/find-zone-js-usage.js.map +1 -0
  421. package/package.json +1 -1
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2026 the original author or authors.
4
+ *
5
+ * Moderne Proprietary. Only for use by Moderne customers under the terms of a commercial contract.
6
+ */
7
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
+ return new (P || (P = Promise))(function (resolve, reject) {
10
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
14
+ });
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.RemoveRelativeLinkResolution = void 0;
18
+ const rewrite_1 = require("@openrewrite/rewrite");
19
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
20
+ const java_1 = require("@openrewrite/rewrite/java");
21
+ const mutative_1 = require("mutative");
22
+ class RemoveRelativeLinkResolution extends rewrite_1.Recipe {
23
+ constructor() {
24
+ super(...arguments);
25
+ this.name = "org.openrewrite.angular.migration.remove-relative-link-resolution";
26
+ this.displayName = "Remove `relativeLinkResolution`";
27
+ this.description = "Removes the `relativeLinkResolution` option from `RouterModule.forRoot()` calls. " +
28
+ "This option was deprecated in Angular 14 and removed in Angular 15.";
29
+ }
30
+ editor() {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ return new class extends javascript_1.JavaScriptVisitor {
33
+ visitMethodInvocation(method, p) {
34
+ const _super = Object.create(null, {
35
+ visitMethodInvocation: { get: () => super.visitMethodInvocation }
36
+ });
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ var _a;
39
+ let m = yield _super.visitMethodInvocation.call(this, method, p);
40
+ if (!m)
41
+ return m;
42
+ const callArgs = (0, javascript_1.capture)({ variadic: true });
43
+ if (!(yield (0, javascript_1.pattern) `RouterModule.forRoot(${callArgs})`.match(m, this.cursor)))
44
+ return m;
45
+ const args = (_a = m.arguments) === null || _a === void 0 ? void 0 : _a.elements;
46
+ if (!args || args.length < 2)
47
+ return m;
48
+ const optionsArg = args[1].element;
49
+ if (optionsArg.kind !== java_1.J.Kind.NewClass)
50
+ return m;
51
+ const optionsObj = optionsArg;
52
+ if (!optionsObj.body)
53
+ return m;
54
+ let rlrIndex = -1;
55
+ for (let i = 0; i < optionsObj.body.statements.length; i++) {
56
+ const stmt = optionsObj.body.statements[i].element;
57
+ if (stmt.kind === javascript_1.JS.Kind.PropertyAssignment) {
58
+ const prop = stmt;
59
+ const nameExpr = prop.name.element;
60
+ if ((0, java_1.isIdentifier)(nameExpr) && nameExpr.simpleName === 'relativeLinkResolution') {
61
+ rlrIndex = i;
62
+ break;
63
+ }
64
+ }
65
+ }
66
+ if (rlrIndex === -1)
67
+ return m;
68
+ if (optionsObj.body.statements.length === 1) {
69
+ return (0, mutative_1.create)(m, draft => {
70
+ draft.arguments.elements = draft.arguments.elements.filter((_, i) => i !== 1);
71
+ });
72
+ }
73
+ return (0, mutative_1.create)(m, draft => {
74
+ const body = draft.arguments.elements[1].element.body;
75
+ body.statements = body.statements.filter((_, i) => i !== rlrIndex);
76
+ });
77
+ });
78
+ }
79
+ }();
80
+ });
81
+ }
82
+ }
83
+ exports.RemoveRelativeLinkResolution = RemoveRelativeLinkResolution;
84
+ //# sourceMappingURL=remove-relative-link-resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-relative-link-resolution.js","sourceRoot":"","sources":["../../src/migration/remove-relative-link-resolution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ export declare class RemoveStandaloneTrue extends Recipe {
3
+ readonly name = "org.openrewrite.angular.migration.remove-standalone-true";
4
+ readonly displayName: string;
5
+ readonly description: string;
6
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
7
+ }
8
+ //# sourceMappingURL=remove-standalone-true.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-standalone-true.d.ts","sourceRoot":"","sources":["../../src/migration/remove-standalone-true.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAO3E,qBAAa,oBAAqB,SAAQ,MAAM;IAC5C,QAAQ,CAAC,IAAI,8DAA8D;IAC3E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAyC;IACrE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAoJ;IAE1K,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CAqC9D"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RemoveStandaloneTrue = void 0;
13
+ const rewrite_1 = require("@openrewrite/rewrite");
14
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
15
+ const java_1 = require("@openrewrite/rewrite/java");
16
+ const mutative_1 = require("mutative");
17
+ const ANGULAR_DECORATORS = ['Component', 'Directive', 'Pipe'];
18
+ class RemoveStandaloneTrue extends rewrite_1.Recipe {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.name = "org.openrewrite.angular.migration.remove-standalone-true";
22
+ this.displayName = "Remove redundant `standalone: true`";
23
+ this.description = "Removes the `standalone: true` property from Angular component, directive, and pipe decorators since standalone is the default in Angular 19+.";
24
+ }
25
+ editor() {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ return new class extends javascript_1.JavaScriptVisitor {
28
+ visitAnnotation(annotation, p) {
29
+ const _super = Object.create(null, {
30
+ visitAnnotation: { get: () => super.visitAnnotation }
31
+ });
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ var _a, _b;
34
+ let a = yield _super.visitAnnotation.call(this, annotation, p);
35
+ if (!a)
36
+ return a;
37
+ const annotType = a.annotationType;
38
+ if (!(0, java_1.isIdentifier)(annotType))
39
+ return a;
40
+ if (!ANGULAR_DECORATORS.includes(annotType.simpleName))
41
+ return a;
42
+ if (!((_b = (_a = a.arguments) === null || _a === void 0 ? void 0 : _a.elements) === null || _b === void 0 ? void 0 : _b.length))
43
+ return a;
44
+ const firstArg = a.arguments.elements[0].element;
45
+ if (firstArg.kind !== java_1.J.Kind.NewClass)
46
+ return a;
47
+ const newClass = firstArg;
48
+ if (!newClass.body)
49
+ return a;
50
+ for (let i = 0; i < newClass.body.statements.length; i++) {
51
+ const stmt = newClass.body.statements[i].element;
52
+ if (stmt.kind === javascript_1.JS.Kind.PropertyAssignment) {
53
+ const prop = stmt;
54
+ const nameExpr = prop.name.element;
55
+ if ((0, java_1.isIdentifier)(nameExpr) && nameExpr.simpleName === 'standalone'
56
+ && prop.initializer && (0, java_1.isLiteral)(prop.initializer)
57
+ && prop.initializer.value === true) {
58
+ return (0, mutative_1.create)(a, draft => {
59
+ const body = draft.arguments.elements[0].element.body;
60
+ body.statements = body.statements.filter((_, idx) => idx !== i);
61
+ });
62
+ }
63
+ }
64
+ }
65
+ return a;
66
+ });
67
+ }
68
+ }();
69
+ });
70
+ }
71
+ }
72
+ exports.RemoveStandaloneTrue = RemoveStandaloneTrue;
73
+ //# sourceMappingURL=remove-standalone-true.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-standalone-true.js","sourceRoot":"","sources":["../../src/migration/remove-standalone-true.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA2E;AAC3E,gEAAsE;AACtE,oDAAqE;AACrE,uCAAgC;AAEhC,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AAE9D,MAAa,oBAAqB,SAAQ,gBAAM;IAAhD;;QACa,SAAI,GAAG,0DAA0D,CAAC;QAClE,gBAAW,GAAW,qCAAqC,CAAC;QAC5D,gBAAW,GAAW,gJAAgJ,CAAC;IAuCpL,CAAC;IArCS,MAAM;;YACR,OAAO,IAAI,KAAM,SAAQ,8BAAmC;gBACzC,eAAe,CAAC,UAAwB,EAAE,CAAmB;;;;;;wBACxE,IAAI,CAAC,GAAG,MAAM,OAAM,eAAe,YAAC,UAAU,EAAE,CAAC,CAAiB,CAAC;wBACnE,IAAI,CAAC,CAAC;4BAAE,OAAO,CAAC,CAAC;wBAEjB,MAAM,SAAS,GAAG,CAAC,CAAC,cAAc,CAAC;wBACnC,IAAI,CAAC,IAAA,mBAAY,EAAC,SAAS,CAAC;4BAAE,OAAO,CAAC,CAAC;wBACvC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;4BAAE,OAAO,CAAC,CAAC;wBAEjE,IAAI,CAAC,CAAA,MAAA,MAAA,CAAC,CAAC,SAAS,0CAAE,QAAQ,0CAAE,MAAM,CAAA;4BAAE,OAAO,CAAC,CAAC;wBAC7C,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;wBACjD,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,QAAQ;4BAAE,OAAO,CAAC,CAAC;wBAEhD,MAAM,QAAQ,GAAG,QAAsB,CAAC;wBACxC,IAAI,CAAC,QAAQ,CAAC,IAAI;4BAAE,OAAO,CAAC,CAAC;wBAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;4BACjD,IAAI,IAAI,CAAC,IAAI,KAAK,eAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gCAC3C,MAAM,IAAI,GAAG,IAA6B,CAAC;gCAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gCACnC,IAAI,IAAA,mBAAY,EAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,KAAK,YAAY;uCAC3D,IAAI,CAAC,WAAW,IAAI,IAAA,gBAAS,EAAC,IAAI,CAAC,WAAW,CAAC;uCAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oCACrC,OAAO,IAAA,iBAAM,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;wCACrB,MAAM,IAAI,GAAI,KAAK,CAAC,SAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAe,CAAC,IAAK,CAAC;wCACjE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,GAAW,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oCACjF,CAAC,CAAiB,CAAC;gCACvB,CAAC;4BACL,CAAC;wBACL,CAAC;wBAED,OAAO,CAAC,CAAC;oBACb,CAAC;iBAAA;aACJ,EAAE,CAAC;QACR,CAAC;KAAA;CACJ;AA1CD,oDA0CC"}
@@ -0,0 +1,8 @@
1
+ import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ export declare class RemoveStaticFalse extends Recipe {
3
+ readonly name = "org.openrewrite.angular.migration.remove-static-false";
4
+ readonly displayName: string;
5
+ readonly description: string;
6
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
7
+ }
8
+ //# sourceMappingURL=remove-static-false.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-static-false.d.ts","sourceRoot":"","sources":["../../src/migration/remove-static-false.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAO3E,qBAAa,iBAAkB,SAAQ,MAAM;IACzC,QAAQ,CAAC,IAAI,2DAA2D;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAA8C;IAC1E,QAAQ,CAAC,WAAW,EAAE,MAAM,CACsF;IAE5G,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CAmD9D"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2026 the original author or authors.
4
+ *
5
+ * Moderne Proprietary. Only for use by Moderne customers under the terms of a commercial contract.
6
+ */
7
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
+ return new (P || (P = Promise))(function (resolve, reject) {
10
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
14
+ });
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.RemoveStaticFalse = void 0;
18
+ const rewrite_1 = require("@openrewrite/rewrite");
19
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
20
+ const java_1 = require("@openrewrite/rewrite/java");
21
+ const mutative_1 = require("mutative");
22
+ const QUERY_DECORATORS = ['ViewChild', 'ContentChild', 'ViewChildren', 'ContentChildren'];
23
+ class RemoveStaticFalse extends rewrite_1.Recipe {
24
+ constructor() {
25
+ super(...arguments);
26
+ this.name = "org.openrewrite.angular.migration.remove-static-false";
27
+ this.displayName = "Remove `static: false` from view queries";
28
+ this.description = "Removes `static: false` from `@ViewChild`, `@ContentChild`, `@ViewChildren`, and `@ContentChildren` decorators. " +
29
+ "In Angular 9 with Ivy, `static: false` became the default behavior, making the explicit option unnecessary.";
30
+ }
31
+ editor() {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ return new class extends javascript_1.JavaScriptVisitor {
34
+ visitAnnotation(annotation, p) {
35
+ const _super = Object.create(null, {
36
+ visitAnnotation: { get: () => super.visitAnnotation }
37
+ });
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ var _a;
40
+ let a = yield _super.visitAnnotation.call(this, annotation, p);
41
+ if (!a)
42
+ return a;
43
+ const annotType = a.annotationType;
44
+ if (!(0, java_1.isIdentifier)(annotType))
45
+ return a;
46
+ if (!QUERY_DECORATORS.includes(annotType.simpleName))
47
+ return a;
48
+ if (!((_a = a.arguments) === null || _a === void 0 ? void 0 : _a.elements) || a.arguments.elements.length < 2)
49
+ return a;
50
+ const optionsArg = a.arguments.elements[1].element;
51
+ if (optionsArg.kind !== java_1.J.Kind.NewClass)
52
+ return a;
53
+ const optionsObj = optionsArg;
54
+ if (!optionsObj.body)
55
+ return a;
56
+ let staticIndex = -1;
57
+ let staticValue = null;
58
+ for (let i = 0; i < optionsObj.body.statements.length; i++) {
59
+ const stmt = optionsObj.body.statements[i].element;
60
+ if (stmt.kind === javascript_1.JS.Kind.PropertyAssignment) {
61
+ const prop = stmt;
62
+ const nameExpr = prop.name.element;
63
+ if ((0, java_1.isIdentifier)(nameExpr) && nameExpr.simpleName === 'static') {
64
+ staticIndex = i;
65
+ if (prop.initializer && (0, java_1.isLiteral)(prop.initializer)) {
66
+ staticValue = prop.initializer.value;
67
+ }
68
+ break;
69
+ }
70
+ }
71
+ }
72
+ if (staticIndex === -1 || staticValue !== false)
73
+ return a;
74
+ if (optionsObj.body.statements.length === 1) {
75
+ return (0, mutative_1.create)(a, draft => {
76
+ draft.arguments.elements = draft.arguments.elements.filter((_, i) => i !== 1);
77
+ });
78
+ }
79
+ return (0, mutative_1.create)(a, draft => {
80
+ const body = draft.arguments.elements[1].element.body;
81
+ body.statements = body.statements.filter((_, i) => i !== staticIndex);
82
+ });
83
+ });
84
+ }
85
+ }();
86
+ });
87
+ }
88
+ }
89
+ exports.RemoveStaticFalse = RemoveStaticFalse;
90
+ //# sourceMappingURL=remove-static-false.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-static-false.js","sourceRoot":"","sources":["../../src/migration/remove-static-false.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ export declare class RemoveZoneJsPolyfill extends Recipe {
3
+ readonly name = "org.openrewrite.angular.migration.remove-zone-js-polyfill";
4
+ readonly displayName: string;
5
+ readonly description: string;
6
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
7
+ }
8
+ //# sourceMappingURL=remove-zone-js-polyfill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-zone-js-polyfill.d.ts","sourceRoot":"","sources":["../../src/migration/remove-zone-js-polyfill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAG3E,qBAAa,oBAAqB,SAAQ,MAAM;IAC5C,QAAQ,CAAC,IAAI,+DAA+D;IAC5E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAA+C;IAC3E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAA0M;IAEhO,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CA8C9D"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RemoveZoneJsPolyfill = void 0;
13
+ const rewrite_1 = require("@openrewrite/rewrite");
14
+ const json_1 = require("@openrewrite/rewrite/json");
15
+ class RemoveZoneJsPolyfill extends rewrite_1.Recipe {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.name = "org.openrewrite.angular.migration.remove-zone-js-polyfill";
19
+ this.displayName = "Remove zone.js polyfill from angular.json";
20
+ this.description = "Removes zone.js entries from the `polyfills` array in `angular.json`. Angular 20 supports zoneless change detection via `provideZonelessChangeDetection()`, making the zone.js polyfill unnecessary.";
21
+ }
22
+ editor() {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ return new class extends json_1.JsonVisitor {
25
+ visitDocument(doc, p) {
26
+ const _super = Object.create(null, {
27
+ visitDocument: { get: () => super.visitDocument }
28
+ });
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ if (!doc.sourcePath.endsWith('angular.json'))
31
+ return doc;
32
+ return _super.visitDocument.call(this, doc, p);
33
+ });
34
+ }
35
+ visitMember(member, p) {
36
+ const _super = Object.create(null, {
37
+ visitMember: { get: () => super.visitMember }
38
+ });
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ const m = yield _super.visitMember.call(this, member, p);
41
+ if (!m)
42
+ return m;
43
+ if ((0, json_1.getMemberKeyName)(m) !== 'polyfills')
44
+ return m;
45
+ if (!(0, json_1.isArray)(m.value))
46
+ return m;
47
+ const filtered = m.value.values.filter(rp => {
48
+ const elem = rp.element;
49
+ if (!(0, json_1.isLiteral)(elem))
50
+ return true;
51
+ const val = elem.value;
52
+ return val !== 'zone.js' && !(val === null || val === void 0 ? void 0 : val.startsWith('zone.js/'));
53
+ });
54
+ if (filtered.length === m.value.values.length)
55
+ return m;
56
+ const values = [...filtered];
57
+ if (values.length > 0 && m.value.values.length > 0) {
58
+ const originalFirstPrefix = m.value.values[0].element.prefix;
59
+ const newFirst = values[0];
60
+ if (newFirst.element.prefix !== originalFirstPrefix) {
61
+ values[0] = Object.assign(Object.assign({}, newFirst), { element: Object.assign(Object.assign({}, newFirst.element), { prefix: originalFirstPrefix }) });
62
+ }
63
+ }
64
+ const arr = m.value;
65
+ return Object.assign(Object.assign({}, m), { value: Object.assign(Object.assign({}, arr), { values }) });
66
+ });
67
+ }
68
+ }();
69
+ });
70
+ }
71
+ }
72
+ exports.RemoveZoneJsPolyfill = RemoveZoneJsPolyfill;
73
+ //# sourceMappingURL=remove-zone-js-polyfill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-zone-js-polyfill.js","sourceRoot":"","sources":["../../src/migration/remove-zone-js-polyfill.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA2E;AAC3E,oDAAkG;AAElG,MAAa,oBAAqB,SAAQ,gBAAM;IAAhD;;QACa,SAAI,GAAG,2DAA2D,CAAC;QACnE,gBAAW,GAAW,2CAA2C,CAAC;QAClE,gBAAW,GAAW,sMAAsM,CAAC;IAgD1O,CAAC;IA9CS,MAAM;;YACR,OAAO,IAAI,KAAM,SAAQ,kBAA6B;gBAClC,aAAa,CAAC,GAAkB,EAAE,CAAmB;;;;;wBACjE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;4BAAE,OAAO,GAAG,CAAC;wBACzD,OAAO,OAAM,aAAa,YAAC,GAAG,EAAE,CAAC,EAAE;oBACvC,CAAC;iBAAA;gBAEe,WAAW,CAAC,MAAmB,EAAE,CAAmB;;;;;wBAChE,MAAM,CAAC,GAAG,MAAM,OAAM,WAAW,YAAC,MAAM,EAAE,CAAC,CAAgB,CAAC;wBAC5D,IAAI,CAAC,CAAC;4BAAE,OAAO,CAAC,CAAC;wBAEjB,IAAI,IAAA,uBAAgB,EAAC,CAAC,CAAC,KAAK,WAAW;4BAAE,OAAO,CAAC,CAAC;wBAClD,IAAI,CAAC,IAAA,cAAO,EAAC,CAAC,CAAC,KAAK,CAAC;4BAAE,OAAO,CAAC,CAAC;wBAEhC,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;4BACxC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;4BACxB,IAAI,CAAC,IAAA,gBAAS,EAAC,IAAI,CAAC;gCAAE,OAAO,IAAI,CAAC;4BAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAe,CAAC;4BACjC,OAAO,GAAG,KAAK,SAAS,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,UAAU,CAAC,UAAU,CAAC,CAAA,CAAC;wBAC7D,CAAC,CAAC,CAAC;wBAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM;4BAAE,OAAO,CAAC,CAAC;wBAExD,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;wBAC7B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACjD,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;4BAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;4BAC3B,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;gCAClD,MAAM,CAAC,CAAC,CAAC,mCACF,QAAQ,KACX,OAAO,kCAAM,QAAQ,CAAC,OAAO,KAAE,MAAM,EAAE,mBAAmB,MAC7D,CAAC;4BACN,CAAC;wBACL,CAAC;wBAED,MAAM,GAAG,GAAG,CAAC,CAAC,KAAmB,CAAC;wBAClC,OAAO,gCACA,CAAC,KACJ,KAAK,EAAE,gCACA,GAAG,KACN,MAAM,GACK,GACH,CAAC;oBACrB,CAAC;iBAAA;aACJ,EAAE,CAAC;QACR,CAAC;KAAA;CACJ;AAnDD,oDAmDC"}
@@ -0,0 +1,8 @@
1
+ import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ export declare class RenameAfterRender extends Recipe {
3
+ readonly name = "org.openrewrite.angular.migration.rename-after-render";
4
+ readonly displayName: string;
5
+ readonly description: string;
6
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
7
+ }
8
+ //# sourceMappingURL=rename-after-render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rename-after-render.d.ts","sourceRoot":"","sources":["../../src/migration/rename-after-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAgB,MAAM,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAIzF,qBAAa,iBAAkB,SAAQ,MAAM;IACzC,QAAQ,CAAC,IAAI,2DAA2D;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAgD;IAC5E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAiN;IAEvO,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CAsB9D"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RenameAfterRender = void 0;
13
+ const rewrite_1 = require("@openrewrite/rewrite");
14
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
15
+ const java_1 = require("@openrewrite/rewrite/java");
16
+ class RenameAfterRender extends rewrite_1.Recipe {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.name = "org.openrewrite.angular.migration.rename-after-render";
20
+ this.displayName = "Rename `afterRender` to `afterEveryRender`";
21
+ this.description = "Renames `afterRender` to `afterEveryRender` in imports and usages. The `afterRender` function was renamed to `afterEveryRender` in Angular 20, and Angular provides no migration schematic for this change.";
22
+ }
23
+ editor() {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ return new class extends javascript_1.JavaScriptVisitor {
26
+ visitMethodInvocation(method, p) {
27
+ const _super = Object.create(null, {
28
+ visitMethodInvocation: { get: () => super.visitMethodInvocation }
29
+ });
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ var _a;
32
+ const m = yield _super.visitMethodInvocation.call(this, method, p);
33
+ if (m.name.simpleName === 'afterRender') {
34
+ const methodType = m.methodType;
35
+ if (((_a = methodType === null || methodType === void 0 ? void 0 : methodType.declaringType) === null || _a === void 0 ? void 0 : _a.kind) === java_1.Type.Kind.Class
36
+ && methodType.declaringType.fullyQualifiedName === '@angular/core') {
37
+ (0, javascript_1.maybeAddImport)(this, { module: '@angular/core', member: 'afterEveryRender' });
38
+ (0, javascript_1.maybeRemoveImport)(this, '@angular/core', 'afterRender');
39
+ return (0, rewrite_1.produceAsync)(m, (draft) => __awaiter(this, void 0, void 0, function* () {
40
+ draft.name.simpleName = 'afterEveryRender';
41
+ }));
42
+ }
43
+ }
44
+ return m;
45
+ });
46
+ }
47
+ };
48
+ });
49
+ }
50
+ }
51
+ exports.RenameAfterRender = RenameAfterRender;
52
+ //# sourceMappingURL=rename-after-render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rename-after-render.js","sourceRoot":"","sources":["../../src/migration/rename-after-render.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAyF;AACzF,gEAAqG;AACrG,oDAAkD;AAElD,MAAa,iBAAkB,SAAQ,gBAAM;IAA7C;;QACa,SAAI,GAAG,uDAAuD,CAAC;QAC/D,gBAAW,GAAW,4CAA4C,CAAC;QACnE,gBAAW,GAAW,6MAA6M,CAAC;IAwBjP,CAAC;IAtBS,MAAM;;YACR,OAAO,IAAI,KAAM,SAAQ,8BAAmC;gBACxC,qBAAqB,CAAC,MAA0B,EAAE,CAAmB;;;;;;wBACjF,MAAM,CAAC,GAAG,MAAM,OAAM,qBAAqB,YAAC,MAAM,EAAE,CAAC,CAAuB,CAAC;wBAE7E,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,aAAa,EAAE,CAAC;4BACtC,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;4BAChC,IAAI,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,0CAAE,IAAI,MAAK,WAAI,CAAC,IAAI,CAAC,KAAK;mCAC/C,UAAU,CAAC,aAA4B,CAAC,kBAAkB,KAAK,eAAe,EAAE,CAAC;gCACrF,IAAA,2BAAc,EAAC,IAAI,EAAE,EAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,kBAAkB,EAAC,CAAC,CAAC;gCAC5E,IAAA,8BAAiB,EAAC,IAAI,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;gCAExD,OAAO,IAAA,sBAAY,EAAC,CAAC,EAAE,CAAM,KAAK,EAAC,EAAE;oCACjC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC;gCAC/C,CAAC,CAAA,CAAC,CAAC;4BACP,CAAC;wBACL,CAAC;wBAED,OAAO,CAAC,CAAC;oBACb,CAAC;iBAAA;aACJ,CAAC;QACN,CAAC;KAAA;CACJ;AA3BD,8CA2BC"}
@@ -0,0 +1,8 @@
1
+ import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ export declare class RenameCheckNoChanges extends Recipe {
3
+ readonly name = "org.openrewrite.angular.migration.rename-check-no-changes";
4
+ readonly displayName: string;
5
+ readonly description: string;
6
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
7
+ }
8
+ //# sourceMappingURL=rename-check-no-changes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rename-check-no-changes.d.ts","sourceRoot":"","sources":["../../src/migration/rename-check-no-changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAgB,MAAM,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAIzF,qBAAa,oBAAqB,SAAQ,MAAM;IAC5C,QAAQ,CAAC,IAAI,+DAA+D;IAC5E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAA2F;IACvH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAyL;IAE/M,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CAmB9D"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RenameCheckNoChanges = void 0;
13
+ const rewrite_1 = require("@openrewrite/rewrite");
14
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
15
+ class RenameCheckNoChanges extends rewrite_1.Recipe {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.name = "org.openrewrite.angular.migration.rename-check-no-changes";
19
+ this.displayName = "Rename `provideExperimentalCheckNoChangesForDebug` to `provideCheckNoChangesForDebug`";
20
+ this.description = "Renames `provideExperimentalCheckNoChangesForDebug` to `provideCheckNoChangesForDebug` in imports and usages. The experimental API was promoted to developer preview in Angular 20.";
21
+ }
22
+ editor() {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ return new class extends javascript_1.JavaScriptVisitor {
25
+ visitIdentifier(identifier, p) {
26
+ const _super = Object.create(null, {
27
+ visitIdentifier: { get: () => super.visitIdentifier }
28
+ });
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ let id = yield _super.visitIdentifier.call(this, identifier, p);
31
+ if (!id)
32
+ return id;
33
+ if (id.simpleName === 'provideExperimentalCheckNoChangesForDebug') {
34
+ (0, javascript_1.maybeAddImport)(this, { module: '@angular/core', member: 'provideCheckNoChangesForDebug' });
35
+ (0, javascript_1.maybeRemoveImport)(this, '@angular/core', 'provideExperimentalCheckNoChangesForDebug');
36
+ return (0, rewrite_1.produceAsync)(id, (draft) => __awaiter(this, void 0, void 0, function* () {
37
+ draft.simpleName = 'provideCheckNoChangesForDebug';
38
+ }));
39
+ }
40
+ return id;
41
+ });
42
+ }
43
+ }();
44
+ });
45
+ }
46
+ }
47
+ exports.RenameCheckNoChanges = RenameCheckNoChanges;
48
+ //# sourceMappingURL=rename-check-no-changes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rename-check-no-changes.js","sourceRoot":"","sources":["../../src/migration/rename-check-no-changes.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAyF;AACzF,gEAAqG;AAGrG,MAAa,oBAAqB,SAAQ,gBAAM;IAAhD;;QACa,SAAI,GAAG,2DAA2D,CAAC;QACnE,gBAAW,GAAW,uFAAuF,CAAC;QAC9G,gBAAW,GAAW,qLAAqL,CAAC;IAqBzN,CAAC;IAnBS,MAAM;;YACR,OAAO,IAAI,KAAM,SAAQ,8BAAmC;gBACzC,eAAe,CAAC,UAAwB,EAAE,CAAmB;;;;;wBACxE,IAAI,EAAE,GAAG,MAAM,OAAM,eAAe,YAAC,UAAU,EAAE,CAAC,CAAiB,CAAC;wBACpE,IAAI,CAAC,EAAE;4BAAE,OAAO,EAAE,CAAC;wBAEnB,IAAI,EAAE,CAAC,UAAU,KAAK,2CAA2C,EAAE,CAAC;4BAChE,IAAA,2BAAc,EAAC,IAAI,EAAE,EAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,+BAA+B,EAAC,CAAC,CAAC;4BACzF,IAAA,8BAAiB,EAAC,IAAI,EAAE,eAAe,EAAE,2CAA2C,CAAC,CAAC;4BAEtF,OAAO,IAAA,sBAAY,EAAC,EAAE,EAAE,CAAM,KAAK,EAAC,EAAE;gCAClC,KAAK,CAAC,UAAU,GAAG,+BAA+B,CAAC;4BACvD,CAAC,CAAA,CAAC,CAAC;wBACP,CAAC;wBAED,OAAO,EAAE,CAAC;oBACd,CAAC;iBAAA;aACJ,EAAE,CAAC;QACR,CAAC;KAAA;CACJ;AAxBD,oDAwBC"}
@@ -0,0 +1,14 @@
1
+ import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ export declare class RenameFile extends Recipe {
3
+ readonly name = "org.openrewrite.angular.migration.rename-file";
4
+ readonly displayName = "Rename file";
5
+ readonly description = "Renames files matching a glob pattern to a new file name, preserving the directory.";
6
+ fileMatcher: string;
7
+ fileName: string;
8
+ constructor(options?: {
9
+ fileMatcher?: string;
10
+ fileName?: string;
11
+ });
12
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
13
+ }
14
+ //# sourceMappingURL=rename-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rename-file.d.ts","sourceRoot":"","sources":["../../src/migration/rename-file.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,gBAAgB,EAAU,MAAM,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAQnF,qBAAa,UAAW,SAAQ,MAAM;IAClC,QAAQ,CAAC,IAAI,mDAAmD;IAChE,QAAQ,CAAC,WAAW,iBAAiB;IACrC,QAAQ,CAAC,WAAW,yFAAyF;IAQ7G,WAAW,EAAG,MAAM,CAAC;IAOrB,QAAQ,EAAG,MAAM,CAAC;gBAEN,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAM3D,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CAoB9D"}