@openrewrite/recipes-angular 0.0.0 → 0.4.0-20260320-120427

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,8 @@
1
+ import { Recipe } from "@openrewrite/rewrite";
2
+ export declare class UpgradeToAngular15 extends Recipe {
3
+ readonly name = "org.openrewrite.angular.UpgradeToAngular15";
4
+ readonly displayName = "Upgrade to Angular 15";
5
+ readonly description: string;
6
+ recipeList(): Promise<Recipe[]>;
7
+ }
8
+ //# sourceMappingURL=upgrade-to-angular-15.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-to-angular-15.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-15.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAQ5C,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAIsD;IAEpE,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAmBxC"}
@@ -0,0 +1,59 @@
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.UpgradeToAngular15 = void 0;
18
+ const rewrite_1 = require("@openrewrite/rewrite");
19
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
20
+ const upgrade_to_angular_14_1 = require("./upgrade-to-angular-14");
21
+ const remove_relative_link_resolution_1 = require("./remove-relative-link-resolution");
22
+ const remove_enable_ivy_1 = require("./remove-enable-ivy");
23
+ const find_date_pipe_default_timezone_usage_1 = require("../search/find-date-pipe-default-timezone-usage");
24
+ const find_provided_in_deprecated_usage_1 = require("../search/find-provided-in-deprecated-usage");
25
+ class UpgradeToAngular15 extends rewrite_1.Recipe {
26
+ constructor() {
27
+ super(...arguments);
28
+ this.name = "org.openrewrite.angular.UpgradeToAngular15";
29
+ this.displayName = "Upgrade to Angular 15";
30
+ this.description = "Migrates Angular 14.x applications to Angular 15. " +
31
+ "This includes removing the `relativeLinkResolution` option from `RouterModule.forRoot()`, " +
32
+ "removing the `enableIvy` compiler option from `tsconfig.json`, " +
33
+ "flagging the deprecated `DATE_PIPE_DEFAULT_TIMEZONE` token and `providedIn: NgModule`/`'any'` usage, " +
34
+ "and upgrading Angular, TypeScript, and related dependency versions.";
35
+ }
36
+ recipeList() {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ return [
39
+ // First, run Angular 14 migration
40
+ new upgrade_to_angular_14_1.UpgradeToAngular14(),
41
+ // Code transformations
42
+ new remove_relative_link_resolution_1.RemoveRelativeLinkResolution(),
43
+ new remove_enable_ivy_1.RemoveEnableIvy(),
44
+ // Search: deprecated APIs
45
+ new find_date_pipe_default_timezone_usage_1.FindDatePipeDefaultTimezoneUsage(),
46
+ new find_provided_in_deprecated_usage_1.FindProvidedInDeprecatedUsage(),
47
+ // Angular core packages
48
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular/*", newVersion: "15.x" }),
49
+ // Angular DevKit
50
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular-devkit/*", newVersion: "15.x" }),
51
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@schematics/angular", newVersion: "15.x" }),
52
+ // TypeScript
53
+ new javascript_1.UpgradeDependencyVersion({ packageName: "typescript", newVersion: "4.8.x" }),
54
+ ];
55
+ });
56
+ }
57
+ }
58
+ exports.UpgradeToAngular15 = UpgradeToAngular15;
59
+ //# sourceMappingURL=upgrade-to-angular-15.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-to-angular-15.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-15.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAyE;AACzE,mEAA2D;AAC3D,uFAA+E;AAC/E,2DAAoD;AACpD,2GAAiG;AACjG,mGAA0F;AAE1F,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,4FAA4F;YAC5F,iEAAiE;YACjE,uGAAuG;YACvG,qEAAqE,CAAC;IAqB9E,CAAC;IAnBS,UAAU;;YACZ,OAAO;gBACH,kCAAkC;gBAClC,IAAI,0CAAkB,EAAE;gBACxB,uBAAuB;gBACvB,IAAI,8DAA4B,EAAE;gBAClC,IAAI,mCAAe,EAAE;gBACrB,0BAA0B;gBAC1B,IAAI,wEAAgC,EAAE;gBACtC,IAAI,iEAA6B,EAAE;gBACnC,wBAAwB;gBACxB,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAC7E,iBAAiB;gBACjB,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACpF,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACtF,aAAa;gBACb,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACjF,CAAC;QACN,CAAC;KAAA;CACJ;AA5BD,gDA4BC"}
@@ -0,0 +1,8 @@
1
+ import { Recipe } from "@openrewrite/rewrite";
2
+ export declare class UpgradeToAngular16 extends Recipe {
3
+ readonly name = "org.openrewrite.angular.UpgradeToAngular16";
4
+ readonly displayName = "Upgrade to Angular 16";
5
+ readonly description: string;
6
+ recipeList(): Promise<Recipe[]>;
7
+ }
8
+ //# sourceMappingURL=upgrade-to-angular-16.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-to-angular-16.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-16.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAW5C,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAGsE;IAEpF,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CA+BxC"}
@@ -0,0 +1,73 @@
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.UpgradeToAngular16 = void 0;
18
+ const rewrite_1 = require("@openrewrite/rewrite");
19
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
20
+ const upgrade_to_angular_15_1 = require("./upgrade-to-angular-15");
21
+ const remove_entry_components_1 = require("./remove-entry-components");
22
+ const remove_module_id_1 = require("./remove-module-id");
23
+ const replace_router_link_with_href_1 = require("./replace-router-link-with-href");
24
+ const find_reflective_injector_usage_1 = require("../search/find-reflective-injector-usage");
25
+ const find_render_module_factory_usage_1 = require("../search/find-render-module-factory-usage");
26
+ const find_browser_transfer_state_module_usage_1 = require("../search/find-browser-transfer-state-module-usage");
27
+ const find_render_application_usage_1 = require("../search/find-render-application-usage");
28
+ class UpgradeToAngular16 extends rewrite_1.Recipe {
29
+ constructor() {
30
+ super(...arguments);
31
+ this.name = "org.openrewrite.angular.UpgradeToAngular16";
32
+ this.displayName = "Upgrade to Angular 16";
33
+ this.description = "Migrates Angular 15.x applications to Angular 16. " +
34
+ "This includes removing `entryComponents` and `moduleId` from decorators, replacing `RouterLinkWithHref` with `RouterLink`, " +
35
+ "moving the `XhrFactory` import to `@angular/common`, and flagging removed APIs " +
36
+ "like `ReflectiveInjector`, `renderModuleFactory`, and `BrowserTransferStateModule`.";
37
+ }
38
+ recipeList() {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ return [
41
+ // First, run Angular 15 migration
42
+ new upgrade_to_angular_15_1.UpgradeToAngular15(),
43
+ // Code transformations
44
+ new remove_entry_components_1.RemoveEntryComponents(),
45
+ new remove_module_id_1.RemoveModuleId(),
46
+ new replace_router_link_with_href_1.ReplaceRouterLinkWithHref(),
47
+ // Import moves
48
+ new javascript_1.ChangeImport({
49
+ oldModule: "@angular/common/http",
50
+ oldMember: "XhrFactory",
51
+ newModule: "@angular/common",
52
+ }),
53
+ // Search: removed APIs
54
+ new find_reflective_injector_usage_1.FindReflectiveInjectorUsage(),
55
+ new find_render_module_factory_usage_1.FindRenderModuleFactoryUsage(),
56
+ new find_browser_transfer_state_module_usage_1.FindBrowserTransferStateModuleUsage(),
57
+ new find_render_application_usage_1.FindRenderApplicationUsage(),
58
+ // Angular core packages
59
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular/*", newVersion: "16.x" }),
60
+ // Angular DevKit
61
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular-devkit/*", newVersion: "16.x" }),
62
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular/build", newVersion: "16.x" }),
63
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@schematics/angular", newVersion: "16.x" }),
64
+ // zone.js
65
+ new javascript_1.UpgradeDependencyVersion({ packageName: "zone.js", newVersion: "0.13.x" }),
66
+ // TypeScript
67
+ new javascript_1.UpgradeDependencyVersion({ packageName: "typescript", newVersion: "5.0.x" }),
68
+ ];
69
+ });
70
+ }
71
+ }
72
+ exports.UpgradeToAngular16 = UpgradeToAngular16;
73
+ //# sourceMappingURL=upgrade-to-angular-16.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-to-angular-16.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-16.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAuF;AACvF,mEAA2D;AAC3D,uEAAgE;AAChE,yDAAkD;AAClD,mFAA0E;AAC1E,6FAAqF;AACrF,iGAAwF;AACxF,iHAAuG;AACvG,2FAAmF;AAEnF,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,6HAA6H;YAC7H,iFAAiF;YACjF,qFAAqF,CAAC;IAiC9F,CAAC;IA/BS,UAAU;;YACZ,OAAO;gBACH,kCAAkC;gBAClC,IAAI,0CAAkB,EAAE;gBACxB,uBAAuB;gBACvB,IAAI,+CAAqB,EAAE;gBAC3B,IAAI,iCAAc,EAAE;gBACpB,IAAI,yDAAyB,EAAE;gBAC/B,eAAe;gBACf,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,sBAAsB;oBACjC,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,iBAAiB;iBAC/B,CAAC;gBACF,uBAAuB;gBACvB,IAAI,4DAA2B,EAAE;gBACjC,IAAI,+DAA4B,EAAE;gBAClC,IAAI,8EAAmC,EAAE;gBACzC,IAAI,0DAA0B,EAAE;gBAChC,wBAAwB;gBACxB,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAC7E,iBAAiB;gBACjB,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACpF,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACjF,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACtF,UAAU;gBACV,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC;gBAC5E,aAAa;gBACb,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACjF,CAAC;QACN,CAAC;KAAA;CACJ;AAvCD,gDAuCC"}
@@ -0,0 +1,8 @@
1
+ import { Recipe } from "@openrewrite/rewrite";
2
+ export declare class UpgradeToAngular17 extends Recipe {
3
+ readonly name = "org.openrewrite.angular.UpgradeToAngular17";
4
+ readonly displayName = "Upgrade to Angular 17";
5
+ readonly description: string;
6
+ recipeList(): Promise<Recipe[]>;
7
+ }
8
+ //# sourceMappingURL=upgrade-to-angular-17.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-to-angular-17.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-17.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAO5C,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAGuC;IAErD,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAqBxC"}
@@ -0,0 +1,59 @@
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.UpgradeToAngular17 = void 0;
18
+ const rewrite_1 = require("@openrewrite/rewrite");
19
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
20
+ const upgrade_to_angular_16_1 = require("./upgrade-to-angular-16");
21
+ const replace_deep_zone_js_imports_1 = require("./replace-deep-zone-js-imports");
22
+ const find_with_no_dom_reuse_usage_1 = require("../search/find-with-no-dom-reuse-usage");
23
+ const find_setup_testing_router_usage_1 = require("../search/find-setup-testing-router-usage");
24
+ class UpgradeToAngular17 extends rewrite_1.Recipe {
25
+ constructor() {
26
+ super(...arguments);
27
+ this.name = "org.openrewrite.angular.UpgradeToAngular17";
28
+ this.displayName = "Upgrade to Angular 17";
29
+ this.description = "Migrates Angular 16.x applications to Angular 17. " +
30
+ "This includes updating Angular package versions, replacing legacy deep `zone.js` imports, " +
31
+ "flagging the removed `withNoDomReuse` and `setupTestingRouter` APIs, " +
32
+ "and upgrading TypeScript and `zone.js` dependencies.";
33
+ }
34
+ recipeList() {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ return [
37
+ // First, run Angular 16 migration
38
+ new upgrade_to_angular_16_1.UpgradeToAngular16(),
39
+ // Code transformations
40
+ new replace_deep_zone_js_imports_1.ReplaceDeepZoneJsImports(),
41
+ // Search: removed APIs
42
+ new find_with_no_dom_reuse_usage_1.FindWithNoDomReuseUsage(),
43
+ new find_setup_testing_router_usage_1.FindSetupTestingRouterUsage(),
44
+ // Angular core packages
45
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular/*", newVersion: "17.x" }),
46
+ // Angular DevKit
47
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular-devkit/*", newVersion: "17.x" }),
48
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular/build", newVersion: "17.x" }),
49
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@schematics/angular", newVersion: "17.x" }),
50
+ // zone.js
51
+ new javascript_1.UpgradeDependencyVersion({ packageName: "zone.js", newVersion: "0.14.x" }),
52
+ // TypeScript
53
+ new javascript_1.UpgradeDependencyVersion({ packageName: "typescript", newVersion: "5.2.x" }),
54
+ ];
55
+ });
56
+ }
57
+ }
58
+ exports.UpgradeToAngular17 = UpgradeToAngular17;
59
+ //# sourceMappingURL=upgrade-to-angular-17.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-to-angular-17.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-17.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAyE;AACzE,mEAA2D;AAC3D,iFAAwE;AACxE,yFAA+E;AAC/E,+FAAsF;AAEtF,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,4FAA4F;YAC5F,uEAAuE;YACvE,sDAAsD,CAAC;IAuB/D,CAAC;IArBS,UAAU;;YACZ,OAAO;gBACH,kCAAkC;gBAClC,IAAI,0CAAkB,EAAE;gBACxB,uBAAuB;gBACvB,IAAI,uDAAwB,EAAE;gBAC9B,uBAAuB;gBACvB,IAAI,sDAAuB,EAAE;gBAC7B,IAAI,6DAA2B,EAAE;gBACjC,wBAAwB;gBACxB,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAC7E,iBAAiB;gBACjB,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACpF,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACjF,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACtF,UAAU;gBACV,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC;gBAC5E,aAAa;gBACb,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACjF,CAAC;QACN,CAAC;KAAA;CACJ;AA7BD,gDA6BC"}
@@ -0,0 +1,8 @@
1
+ import { Recipe } from "@openrewrite/rewrite";
2
+ export declare class UpgradeToAngular18 extends Recipe {
3
+ readonly name = "org.openrewrite.angular.UpgradeToAngular18";
4
+ readonly displayName = "Upgrade to Angular 18";
5
+ readonly description: string;
6
+ recipeList(): Promise<Recipe[]>;
7
+ }
8
+ //# sourceMappingURL=upgrade-to-angular-18.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-to-angular-18.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-18.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAY5C,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAG0C;IAExD,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CA0CxC"}
@@ -0,0 +1,85 @@
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.UpgradeToAngular18 = void 0;
18
+ const rewrite_1 = require("@openrewrite/rewrite");
19
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
20
+ const upgrade_to_angular_17_1 = require("./upgrade-to-angular-17");
21
+ const replace_async_with_wait_for_async_1 = require("./replace-async-with-wait-for-async");
22
+ const replace_http_client_module_1 = require("./replace-http-client-module");
23
+ const find_platform_worker_usage_1 = require("../search/find-platform-worker-usage");
24
+ const find_platform_dynamic_server_usage_1 = require("../search/find-platform-dynamic-server-usage");
25
+ const find_server_transfer_state_module_usage_1 = require("../search/find-server-transfer-state-module-usage");
26
+ const find_resource_cache_provider_usage_1 = require("../search/find-resource-cache-provider-usage");
27
+ const find_testability_pending_request_usage_1 = require("../search/find-testability-pending-request-usage");
28
+ const find_animation_driver_matches_element_1 = require("../search/find-animation-driver-matches-element");
29
+ class UpgradeToAngular18 extends rewrite_1.Recipe {
30
+ constructor() {
31
+ super(...arguments);
32
+ this.name = "org.openrewrite.angular.UpgradeToAngular18";
33
+ this.displayName = "Upgrade to Angular 18";
34
+ this.description = "Migrates Angular 17.x applications to Angular 18. " +
35
+ "This includes replacing the deprecated `async` test helper with `waitForAsync`, " +
36
+ "migrating `HttpClientModule` to `provideHttpClient()`, moving Transfer State APIs " +
37
+ "to `@angular/core`, and flagging removed platform APIs.";
38
+ }
39
+ recipeList() {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ return [
42
+ // First, run Angular 17 migration
43
+ new upgrade_to_angular_17_1.UpgradeToAngular17(),
44
+ // Code transformations
45
+ new replace_async_with_wait_for_async_1.ReplaceAsyncWithWaitForAsync(),
46
+ new replace_http_client_module_1.ReplaceHttpClientModule(),
47
+ // Import moves (Transfer State APIs)
48
+ new javascript_1.ChangeImport({
49
+ oldModule: "@angular/platform-browser",
50
+ oldMember: "StateKey",
51
+ newModule: "@angular/core",
52
+ }),
53
+ new javascript_1.ChangeImport({
54
+ oldModule: "@angular/platform-browser",
55
+ oldMember: "TransferState",
56
+ newModule: "@angular/core",
57
+ }),
58
+ new javascript_1.ChangeImport({
59
+ oldModule: "@angular/platform-browser",
60
+ oldMember: "makeStateKey",
61
+ newModule: "@angular/core",
62
+ }),
63
+ // Search: removed APIs
64
+ new find_platform_worker_usage_1.FindPlatformWorkerUsage(),
65
+ new find_platform_dynamic_server_usage_1.FindPlatformDynamicServerUsage(),
66
+ new find_server_transfer_state_module_usage_1.FindServerTransferStateModuleUsage(),
67
+ new find_resource_cache_provider_usage_1.FindResourceCacheProviderUsage(),
68
+ new find_testability_pending_request_usage_1.FindTestabilityPendingRequestUsage(),
69
+ new find_animation_driver_matches_element_1.FindAnimationDriverMatchesElement(),
70
+ // Angular core packages
71
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular/*", newVersion: "18.x" }),
72
+ // Angular DevKit
73
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular-devkit/*", newVersion: "18.x" }),
74
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular/build", newVersion: "18.x" }),
75
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@schematics/angular", newVersion: "18.x" }),
76
+ // zone.js
77
+ new javascript_1.UpgradeDependencyVersion({ packageName: "zone.js", newVersion: "0.14.x" }),
78
+ // TypeScript
79
+ new javascript_1.UpgradeDependencyVersion({ packageName: "typescript", newVersion: "5.5.x" }),
80
+ ];
81
+ });
82
+ }
83
+ }
84
+ exports.UpgradeToAngular18 = UpgradeToAngular18;
85
+ //# sourceMappingURL=upgrade-to-angular-18.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-to-angular-18.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-18.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAuF;AACvF,mEAA2D;AAC3D,2FAAiF;AACjF,6EAAqE;AACrE,qFAA6E;AAC7E,qGAA4F;AAC5F,+GAAqG;AACrG,qGAA4F;AAC5F,6GAAoG;AACpG,2GAAkG;AAElG,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,kFAAkF;YAClF,oFAAoF;YACpF,yDAAyD,CAAC;IA4ClE,CAAC;IA1CS,UAAU;;YACZ,OAAO;gBACH,kCAAkC;gBAClC,IAAI,0CAAkB,EAAE;gBACxB,uBAAuB;gBACvB,IAAI,gEAA4B,EAAE;gBAClC,IAAI,oDAAuB,EAAE;gBAC7B,qCAAqC;gBACrC,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,2BAA2B;oBACtC,SAAS,EAAE,UAAU;oBACrB,SAAS,EAAE,eAAe;iBAC7B,CAAC;gBACF,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,2BAA2B;oBACtC,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,eAAe;iBAC7B,CAAC;gBACF,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,2BAA2B;oBACtC,SAAS,EAAE,cAAc;oBACzB,SAAS,EAAE,eAAe;iBAC7B,CAAC;gBACF,uBAAuB;gBACvB,IAAI,oDAAuB,EAAE;gBAC7B,IAAI,mEAA8B,EAAE;gBACpC,IAAI,4EAAkC,EAAE;gBACxC,IAAI,mEAA8B,EAAE;gBACpC,IAAI,2EAAkC,EAAE;gBACxC,IAAI,yEAAiC,EAAE;gBACvC,wBAAwB;gBACxB,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAC7E,iBAAiB;gBACjB,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACpF,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACjF,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACtF,UAAU;gBACV,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC;gBAC5E,aAAa;gBACb,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACjF,CAAC;QACN,CAAC;KAAA;CACJ;AAlDD,gDAkDC"}
@@ -0,0 +1,8 @@
1
+ import { Recipe } from "@openrewrite/rewrite";
2
+ export declare class UpgradeToAngular19 extends Recipe {
3
+ readonly name = "org.openrewrite.angular.UpgradeToAngular19";
4
+ readonly displayName = "Upgrade to Angular 19";
5
+ readonly description: string;
6
+ recipeList(): Promise<Recipe[]>;
7
+ }
8
+ //# sourceMappingURL=upgrade-to-angular-19.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-to-angular-19.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-19.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAS5C,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAG8B;IAE5C,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CA4BxC"}
@@ -0,0 +1,68 @@
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.UpgradeToAngular19 = void 0;
18
+ const rewrite_1 = require("@openrewrite/rewrite");
19
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
20
+ const upgrade_to_angular_18_1 = require("./upgrade-to-angular-18");
21
+ const explicit_standalone_flag_1 = require("./explicit-standalone-flag");
22
+ const rename_pending_tasks_1 = require("./rename-pending-tasks");
23
+ const remove_browser_module_with_server_transition_1 = require("./remove-browser-module-with-server-transition");
24
+ const find_effect_timing_usage_1 = require("../search/find-effect-timing-usage");
25
+ const find_empty_projectable_nodes_1 = require("../search/find-empty-projectable-nodes");
26
+ class UpgradeToAngular19 extends rewrite_1.Recipe {
27
+ constructor() {
28
+ super(...arguments);
29
+ this.name = "org.openrewrite.angular.UpgradeToAngular19";
30
+ this.displayName = "Upgrade to Angular 19";
31
+ this.description = "Migrates Angular 18.x applications to Angular 19. " +
32
+ "This includes updating Angular package versions, adjusting the standalone default, " +
33
+ "renaming `ExperimentalPendingTasks` to `PendingTasks`, moving the `ApplicationConfig` import " +
34
+ "to `@angular/core`, and updating `zone.js`.";
35
+ }
36
+ recipeList() {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ return [
39
+ // First, run Angular 18 migration
40
+ new upgrade_to_angular_18_1.UpgradeToAngular18(),
41
+ // Code transformations
42
+ new explicit_standalone_flag_1.ExplicitStandaloneFlag(),
43
+ new rename_pending_tasks_1.RenamePendingTasks(),
44
+ new javascript_1.ChangeImport({
45
+ oldModule: "@angular/platform-browser",
46
+ oldMember: "ApplicationConfig",
47
+ newModule: "@angular/core",
48
+ }),
49
+ new remove_browser_module_with_server_transition_1.RemoveBrowserModuleWithServerTransition(),
50
+ // Behavioral change warnings
51
+ new find_effect_timing_usage_1.FindEffectTimingUsage(),
52
+ new find_empty_projectable_nodes_1.FindEmptyProjectableNodes(),
53
+ // Angular core packages
54
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular/*", newVersion: "19.x" }),
55
+ // Angular DevKit
56
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular-devkit/*", newVersion: "19.x" }),
57
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular/build", newVersion: "19.x" }),
58
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@schematics/angular", newVersion: "19.x" }),
59
+ // zone.js
60
+ new javascript_1.UpgradeDependencyVersion({ packageName: "zone.js", newVersion: "0.15.x" }),
61
+ // TypeScript
62
+ new javascript_1.UpgradeDependencyVersion({ packageName: "typescript", newVersion: "5.6.x" }),
63
+ ];
64
+ });
65
+ }
66
+ }
67
+ exports.UpgradeToAngular19 = UpgradeToAngular19;
68
+ //# sourceMappingURL=upgrade-to-angular-19.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-to-angular-19.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-19.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAuF;AACvF,mEAA2D;AAC3D,yEAAkE;AAClE,iEAA0D;AAC1D,iHAAuG;AACvG,iFAAyE;AACzE,yFAAiF;AAEjF,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,qFAAqF;YACrF,+FAA+F;YAC/F,6CAA6C,CAAC;IA8BtD,CAAC;IA5BS,UAAU;;YACZ,OAAO;gBACH,kCAAkC;gBAClC,IAAI,0CAAkB,EAAE;gBACxB,uBAAuB;gBACvB,IAAI,iDAAsB,EAAE;gBAC5B,IAAI,yCAAkB,EAAE;gBACxB,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,2BAA2B;oBACtC,SAAS,EAAE,mBAAmB;oBAC9B,SAAS,EAAE,eAAe;iBAC7B,CAAC;gBACF,IAAI,sFAAuC,EAAE;gBAC7C,6BAA6B;gBAC7B,IAAI,gDAAqB,EAAE;gBAC3B,IAAI,wDAAyB,EAAE;gBAC/B,wBAAwB;gBACxB,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAC7E,iBAAiB;gBACjB,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACpF,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACjF,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACtF,UAAU;gBACV,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC;gBAC5E,aAAa;gBACb,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACjF,CAAC;QACN,CAAC;KAAA;CACJ;AApCD,gDAoCC"}
@@ -0,0 +1,8 @@
1
+ import { Recipe } from "@openrewrite/rewrite";
2
+ export declare class UpgradeToAngular20 extends Recipe {
3
+ readonly name = "org.openrewrite.angular.UpgradeToAngular20";
4
+ readonly displayName = "Upgrade to Angular 20";
5
+ readonly description: string;
6
+ recipeList(): Promise<Recipe[]>;
7
+ }
8
+ //# sourceMappingURL=upgrade-to-angular-20.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-to-angular-20.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-20.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAW5C,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAEoE;IAElF,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAsBxC"}
@@ -0,0 +1,63 @@
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.UpgradeToAngular20 = void 0;
18
+ const rewrite_1 = require("@openrewrite/rewrite");
19
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
20
+ const upgrade_to_angular_19_1 = require("./upgrade-to-angular-19");
21
+ const rename_zoneless_provider_1 = require("./rename-zoneless-provider");
22
+ const rename_check_no_changes_1 = require("./rename-check-no-changes");
23
+ const rename_after_render_1 = require("./rename-after-render");
24
+ const replace_inject_flags_1 = require("./replace-inject-flags");
25
+ const move_document_to_core_1 = require("./move-document-to-core");
26
+ const remove_standalone_true_1 = require("./remove-standalone-true");
27
+ const remove_zone_js_polyfill_1 = require("./remove-zone-js-polyfill");
28
+ class UpgradeToAngular20 extends rewrite_1.Recipe {
29
+ constructor() {
30
+ super(...arguments);
31
+ this.name = "org.openrewrite.angular.UpgradeToAngular20";
32
+ this.displayName = "Upgrade to Angular 20";
33
+ this.description = "Migrates Angular 19.x applications to Angular 20. " +
34
+ "This includes running the Angular 19 migration first, then updating Angular package versions, " +
35
+ "renaming experimental APIs promoted to stable, and upgrading TypeScript to 5.8.x.";
36
+ }
37
+ recipeList() {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ return [
40
+ // First, run Angular 19 migration
41
+ new upgrade_to_angular_19_1.UpgradeToAngular19(),
42
+ // Code transformations
43
+ new rename_zoneless_provider_1.RenameZonelessProvider(),
44
+ new rename_check_no_changes_1.RenameCheckNoChanges(),
45
+ new rename_after_render_1.RenameAfterRender(),
46
+ new replace_inject_flags_1.ReplaceInjectFlags(),
47
+ new move_document_to_core_1.MoveDocumentImport(),
48
+ new remove_standalone_true_1.RemoveStandaloneTrue(),
49
+ new remove_zone_js_polyfill_1.RemoveZoneJsPolyfill(),
50
+ // Angular core packages
51
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular/*", newVersion: "20.x" }),
52
+ // Angular DevKit
53
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular-devkit/*", newVersion: "20.x" }),
54
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular/build", newVersion: "20.x" }),
55
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@schematics/angular", newVersion: "20.x" }),
56
+ // TypeScript
57
+ new javascript_1.UpgradeDependencyVersion({ packageName: "typescript", newVersion: "5.8.x" }),
58
+ ];
59
+ });
60
+ }
61
+ }
62
+ exports.UpgradeToAngular20 = UpgradeToAngular20;
63
+ //# sourceMappingURL=upgrade-to-angular-20.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-to-angular-20.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-20.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAyE;AACzE,mEAA2D;AAC3D,yEAAkE;AAClE,uEAA+D;AAC/D,+DAAwD;AACxD,iEAA0D;AAC1D,mEAA2D;AAC3D,qEAA8D;AAC9D,uEAA+D;AAE/D,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,gGAAgG;YAChG,mFAAmF,CAAC;IAwB5F,CAAC;IAtBS,UAAU;;YACZ,OAAO;gBACH,kCAAkC;gBAClC,IAAI,0CAAkB,EAAE;gBACxB,uBAAuB;gBACvB,IAAI,iDAAsB,EAAE;gBAC5B,IAAI,8CAAoB,EAAE;gBAC1B,IAAI,uCAAiB,EAAE;gBACvB,IAAI,yCAAkB,EAAE;gBACxB,IAAI,0CAAkB,EAAE;gBACxB,IAAI,6CAAoB,EAAE;gBAC1B,IAAI,8CAAoB,EAAE;gBAC1B,wBAAwB;gBACxB,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAC7E,iBAAiB;gBACjB,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACpF,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACjF,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACtF,aAAa;gBACb,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACjF,CAAC;QACN,CAAC;KAAA;CACJ;AA7BD,gDA6BC"}
@@ -0,0 +1,8 @@
1
+ import { Recipe } from "@openrewrite/rewrite";
2
+ export declare class UpgradeToAngular21 extends Recipe {
3
+ readonly name = "org.openrewrite.angular.UpgradeToAngular21";
4
+ readonly displayName = "Upgrade to Angular 21";
5
+ readonly description: string;
6
+ recipeList(): Promise<Recipe[]>;
7
+ }
8
+ //# sourceMappingURL=upgrade-to-angular-21.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-to-angular-21.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-21.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAa5C,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAGqB;IAEnC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAyBxC"}
@@ -0,0 +1,69 @@
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.UpgradeToAngular21 = void 0;
18
+ const rewrite_1 = require("@openrewrite/rewrite");
19
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
20
+ const upgrade_to_angular_20_1 = require("./upgrade-to-angular-20");
21
+ const find_karma_usage_1 = require("../search/find-karma-usage");
22
+ const find_common_module_usage_1 = require("../search/find-common-module-usage");
23
+ const find_ng_class_usage_1 = require("../search/find-ng-class-usage");
24
+ const find_ng_style_usage_1 = require("../search/find-ng-style-usage");
25
+ const find_fake_async_usage_1 = require("../search/find-fake-async-usage");
26
+ const migrate_constructor_to_inject_1 = require("./migrate-constructor-to-inject");
27
+ const migrate_input_to_signal_1 = require("./migrate-input-to-signal");
28
+ const migrate_output_to_signal_1 = require("./migrate-output-to-signal");
29
+ const migrate_query_to_signal_1 = require("./migrate-query-to-signal");
30
+ class UpgradeToAngular21 extends rewrite_1.Recipe {
31
+ constructor() {
32
+ super(...arguments);
33
+ this.name = "org.openrewrite.angular.UpgradeToAngular21";
34
+ this.displayName = "Upgrade to Angular 21";
35
+ this.description = "Migrates Angular 20.x applications to Angular 21. " +
36
+ "This includes running the Angular 20 migration first, flagging Karma test runner usage " +
37
+ "for Vitest migration, deprecated NgClass, zone.js-dependent test helpers, " +
38
+ "and upgrading TypeScript to 5.9.x.";
39
+ }
40
+ recipeList() {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ return [
43
+ // First, run Angular 20 migration
44
+ new upgrade_to_angular_20_1.UpgradeToAngular20(),
45
+ // Deprecation and behavioral change warnings
46
+ new find_karma_usage_1.FindKarmaUsage(),
47
+ new find_common_module_usage_1.FindCommonModuleUsage(),
48
+ new find_ng_class_usage_1.FindNgClassUsage(),
49
+ new find_ng_style_usage_1.FindNgStyleUsage(),
50
+ new find_fake_async_usage_1.FindFakeAsyncUsage(),
51
+ // Constructor DI → inject()
52
+ new migrate_constructor_to_inject_1.MigrateConstructorToInject(),
53
+ new migrate_input_to_signal_1.MigrateInputToSignal(),
54
+ new migrate_output_to_signal_1.MigrateOutputToSignal(),
55
+ new migrate_query_to_signal_1.MigrateQueryToSignal(),
56
+ // Angular core packages
57
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular/*", newVersion: "21.x" }),
58
+ // Angular DevKit
59
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular-devkit/*", newVersion: "21.x" }),
60
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@angular/build", newVersion: "21.x" }),
61
+ new javascript_1.UpgradeDependencyVersion({ packageName: "@schematics/angular", newVersion: "21.x" }),
62
+ // TypeScript
63
+ new javascript_1.UpgradeDependencyVersion({ packageName: "typescript", newVersion: "5.9.x" }),
64
+ ];
65
+ });
66
+ }
67
+ }
68
+ exports.UpgradeToAngular21 = UpgradeToAngular21;
69
+ //# sourceMappingURL=upgrade-to-angular-21.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-to-angular-21.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-21.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAyE;AACzE,mEAA2D;AAC3D,iEAA0D;AAC1D,iFAAyE;AACzE,uEAA+D;AAC/D,uEAA+D;AAC/D,2EAAmE;AACnE,mFAA2E;AAC3E,uEAA+D;AAC/D,yEAAiE;AACjE,uEAA+D;AAE/D,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,yFAAyF;YACzF,4EAA4E;YAC5E,oCAAoC,CAAC;IA2B7C,CAAC;IAzBS,UAAU;;YACZ,OAAO;gBACH,kCAAkC;gBAClC,IAAI,0CAAkB,EAAE;gBACxB,6CAA6C;gBAC7C,IAAI,iCAAc,EAAE;gBACpB,IAAI,gDAAqB,EAAE;gBAC3B,IAAI,sCAAgB,EAAE;gBACtB,IAAI,sCAAgB,EAAE;gBACtB,IAAI,0CAAkB,EAAE;gBACxB,4BAA4B;gBAC5B,IAAI,0DAA0B,EAAE;gBAChC,IAAI,8CAAoB,EAAE;gBAC1B,IAAI,gDAAqB,EAAE;gBAC3B,IAAI,8CAAoB,EAAE;gBAC1B,wBAAwB;gBACxB,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAC7E,iBAAiB;gBACjB,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACpF,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACjF,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACtF,aAAa;gBACb,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACjF,CAAC;QACN,CAAC;KAAA;CACJ;AAjCD,gDAiCC"}