@openrewrite/recipes-react 0.2.9

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 (251) hide show
  1. package/dist/index.d.ts +4 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +130 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/migration/change-component-prop-value.d.ts +20 -0
  6. package/dist/migration/change-component-prop-value.d.ts.map +1 -0
  7. package/dist/migration/change-component-prop-value.js +217 -0
  8. package/dist/migration/change-component-prop-value.js.map +1 -0
  9. package/dist/react-native/view-prop-types.d.ts +8 -0
  10. package/dist/react-native/view-prop-types.d.ts.map +1 -0
  11. package/dist/react-native/view-prop-types.js +65 -0
  12. package/dist/react-native/view-prop-types.js.map +1 -0
  13. package/dist/react16/error-boundaries.d.ts +8 -0
  14. package/dist/react16/error-boundaries.d.ts.map +1 -0
  15. package/dist/react16/error-boundaries.js +42 -0
  16. package/dist/react16/error-boundaries.js.map +1 -0
  17. package/dist/react16/find-dom-node.d.ts +8 -0
  18. package/dist/react16/find-dom-node.d.ts.map +1 -0
  19. package/dist/react16/find-dom-node.js +48 -0
  20. package/dist/react16/find-dom-node.js.map +1 -0
  21. package/dist/react16/react-dom-factories.d.ts +8 -0
  22. package/dist/react16/react-dom-factories.d.ts.map +1 -0
  23. package/dist/react16/react-dom-factories.js +72 -0
  24. package/dist/react16/react-dom-factories.js.map +1 -0
  25. package/dist/react16/react-prop-types.d.ts +8 -0
  26. package/dist/react16/react-prop-types.d.ts.map +1 -0
  27. package/dist/react16/react-prop-types.js +69 -0
  28. package/dist/react16/react-prop-types.js.map +1 -0
  29. package/dist/react16/react-to-react-dom.d.ts +8 -0
  30. package/dist/react16/react-to-react-dom.d.ts.map +1 -0
  31. package/dist/react16/react-to-react-dom.js +97 -0
  32. package/dist/react16/react-to-react-dom.js.map +1 -0
  33. package/dist/react16/replace-create-factory.d.ts +8 -0
  34. package/dist/react16/replace-create-factory.d.ts.map +1 -0
  35. package/dist/react16/replace-create-factory.js +69 -0
  36. package/dist/react16/replace-create-factory.js.map +1 -0
  37. package/dist/react16/upgrade-to-react-16.d.ts +8 -0
  38. package/dist/react16/upgrade-to-react-16.d.ts.map +1 -0
  39. package/dist/react16/upgrade-to-react-16.js +41 -0
  40. package/dist/react16/upgrade-to-react-16.js.map +1 -0
  41. package/dist/react17/remove-event-persist.d.ts +8 -0
  42. package/dist/react17/remove-event-persist.d.ts.map +1 -0
  43. package/dist/react17/remove-event-persist.js +114 -0
  44. package/dist/react17/remove-event-persist.js.map +1 -0
  45. package/dist/react17/rename-unsafe-lifecycles.d.ts +8 -0
  46. package/dist/react17/rename-unsafe-lifecycles.d.ts.map +1 -0
  47. package/dist/react17/rename-unsafe-lifecycles.js +48 -0
  48. package/dist/react17/rename-unsafe-lifecycles.js.map +1 -0
  49. package/dist/react17/update-react-imports.d.ts +8 -0
  50. package/dist/react17/update-react-imports.d.ts.map +1 -0
  51. package/dist/react17/update-react-imports.js +40 -0
  52. package/dist/react17/update-react-imports.js.map +1 -0
  53. package/dist/react17/upgrade-to-react-17.d.ts +8 -0
  54. package/dist/react17/upgrade-to-react-17.d.ts.map +1 -0
  55. package/dist/react17/upgrade-to-react-17.js +37 -0
  56. package/dist/react17/upgrade-to-react-17.js.map +1 -0
  57. package/dist/react18/remove-unstable-batched-updates.d.ts +8 -0
  58. package/dist/react18/remove-unstable-batched-updates.d.ts.map +1 -0
  59. package/dist/react18/remove-unstable-batched-updates.js +170 -0
  60. package/dist/react18/remove-unstable-batched-updates.js.map +1 -0
  61. package/dist/react18/replace-reactdom-render.d.ts +8 -0
  62. package/dist/react18/replace-reactdom-render.d.ts.map +1 -0
  63. package/dist/react18/replace-reactdom-render.js +55 -0
  64. package/dist/react18/replace-reactdom-render.js.map +1 -0
  65. package/dist/react18/replace-render-callback.d.ts +8 -0
  66. package/dist/react18/replace-render-callback.d.ts.map +1 -0
  67. package/dist/react18/replace-render-callback.js +60 -0
  68. package/dist/react18/replace-render-callback.js.map +1 -0
  69. package/dist/react18/replace-unmount-component-at-node.d.ts +8 -0
  70. package/dist/react18/replace-unmount-component-at-node.d.ts.map +1 -0
  71. package/dist/react18/replace-unmount-component-at-node.js +54 -0
  72. package/dist/react18/replace-unmount-component-at-node.js.map +1 -0
  73. package/dist/react18/upgrade-to-react-18.d.ts +8 -0
  74. package/dist/react18/upgrade-to-react-18.d.ts.map +1 -0
  75. package/dist/react18/upgrade-to-react-18.js +39 -0
  76. package/dist/react18/upgrade-to-react-18.js.map +1 -0
  77. package/dist/react19/deprecated-react-types.d.ts +8 -0
  78. package/dist/react19/deprecated-react-types.d.ts.map +1 -0
  79. package/dist/react19/deprecated-react-types.js +135 -0
  80. package/dist/react19/deprecated-react-types.js.map +1 -0
  81. package/dist/react19/find-context-consumer.d.ts +9 -0
  82. package/dist/react19/find-context-consumer.d.ts.map +1 -0
  83. package/dist/react19/find-context-consumer.js +128 -0
  84. package/dist/react19/find-context-consumer.js.map +1 -0
  85. package/dist/react19/find-deprecated-reactdom-apis.d.ts +9 -0
  86. package/dist/react19/find-deprecated-reactdom-apis.d.ts.map +1 -0
  87. package/dist/react19/find-deprecated-reactdom-apis.js +132 -0
  88. package/dist/react19/find-deprecated-reactdom-apis.js.map +1 -0
  89. package/dist/react19/find-element-ref.d.ts +9 -0
  90. package/dist/react19/find-element-ref.d.ts.map +1 -0
  91. package/dist/react19/find-element-ref.js +88 -0
  92. package/dist/react19/find-element-ref.js.map +1 -0
  93. package/dist/react19/find-legacy-context-api.d.ts +9 -0
  94. package/dist/react19/find-legacy-context-api.d.ts.map +1 -0
  95. package/dist/react19/find-legacy-context-api.js +163 -0
  96. package/dist/react19/find-legacy-context-api.js.map +1 -0
  97. package/dist/react19/no-implicit-ref-callback-return.d.ts +8 -0
  98. package/dist/react19/no-implicit-ref-callback-return.d.ts.map +1 -0
  99. package/dist/react19/no-implicit-ref-callback-return.js +107 -0
  100. package/dist/react19/no-implicit-ref-callback-return.js.map +1 -0
  101. package/dist/react19/remove-context-provider.d.ts +8 -0
  102. package/dist/react19/remove-context-provider.d.ts.map +1 -0
  103. package/dist/react19/remove-context-provider.js +59 -0
  104. package/dist/react19/remove-context-provider.js.map +1 -0
  105. package/dist/react19/remove-forward-ref.d.ts +8 -0
  106. package/dist/react19/remove-forward-ref.d.ts.map +1 -0
  107. package/dist/react19/remove-forward-ref.js +73 -0
  108. package/dist/react19/remove-forward-ref.js.map +1 -0
  109. package/dist/react19/remove-prop-types.d.ts +8 -0
  110. package/dist/react19/remove-prop-types.d.ts.map +1 -0
  111. package/dist/react19/remove-prop-types.js +76 -0
  112. package/dist/react19/remove-prop-types.js.map +1 -0
  113. package/dist/react19/remove-react-fc.d.ts +8 -0
  114. package/dist/react19/remove-react-fc.d.ts.map +1 -0
  115. package/dist/react19/remove-react-fc.js +149 -0
  116. package/dist/react19/remove-react-fc.js.map +1 -0
  117. package/dist/react19/replace-act-import.d.ts +9 -0
  118. package/dist/react19/replace-act-import.d.ts.map +1 -0
  119. package/dist/react19/replace-act-import.js +34 -0
  120. package/dist/react19/replace-act-import.js.map +1 -0
  121. package/dist/react19/replace-default-props.d.ts +8 -0
  122. package/dist/react19/replace-default-props.d.ts.map +1 -0
  123. package/dist/react19/replace-default-props.js +195 -0
  124. package/dist/react19/replace-default-props.js.map +1 -0
  125. package/dist/react19/replace-react-shallow-renderer.d.ts +8 -0
  126. package/dist/react19/replace-react-shallow-renderer.d.ts.map +1 -0
  127. package/dist/react19/replace-react-shallow-renderer.js +69 -0
  128. package/dist/react19/replace-react-shallow-renderer.js.map +1 -0
  129. package/dist/react19/replace-reactdom-hydrate.d.ts +8 -0
  130. package/dist/react19/replace-reactdom-hydrate.d.ts.map +1 -0
  131. package/dist/react19/replace-reactdom-hydrate.js +55 -0
  132. package/dist/react19/replace-reactdom-hydrate.js.map +1 -0
  133. package/dist/react19/replace-string-ref.d.ts +8 -0
  134. package/dist/react19/replace-string-ref.d.ts.map +1 -0
  135. package/dist/react19/replace-string-ref.js +75 -0
  136. package/dist/react19/replace-string-ref.js.map +1 -0
  137. package/dist/react19/replace-use-form-state.d.ts +8 -0
  138. package/dist/react19/replace-use-form-state.d.ts.map +1 -0
  139. package/dist/react19/replace-use-form-state.js +54 -0
  140. package/dist/react19/replace-use-form-state.js.map +1 -0
  141. package/dist/react19/upgrade-to-react-19.d.ts +8 -0
  142. package/dist/react19/upgrade-to-react-19.d.ts.map +1 -0
  143. package/dist/react19/upgrade-to-react-19.js +59 -0
  144. package/dist/react19/upgrade-to-react-19.js.map +1 -0
  145. package/dist/react19/use-context-hook.d.ts +8 -0
  146. package/dist/react19/use-context-hook.d.ts.map +1 -0
  147. package/dist/react19/use-context-hook.js +54 -0
  148. package/dist/react19/use-context-hook.js.map +1 -0
  149. package/dist/react19/use-ref-required-initial.d.ts +8 -0
  150. package/dist/react19/use-ref-required-initial.d.ts.map +1 -0
  151. package/dist/react19/use-ref-required-initial.js +74 -0
  152. package/dist/react19/use-ref-required-initial.js.map +1 -0
  153. package/dist/refactoring/class-to-functional.d.ts +8 -0
  154. package/dist/refactoring/class-to-functional.d.ts.map +1 -0
  155. package/dist/refactoring/class-to-functional.js +205 -0
  156. package/dist/refactoring/class-to-functional.js.map +1 -0
  157. package/dist/refactoring/create-class-to-es6.d.ts +8 -0
  158. package/dist/refactoring/create-class-to-es6.d.ts.map +1 -0
  159. package/dist/refactoring/create-class-to-es6.js +289 -0
  160. package/dist/refactoring/create-class-to-es6.js.map +1 -0
  161. package/dist/refactoring/create-element-to-jsx.d.ts +8 -0
  162. package/dist/refactoring/create-element-to-jsx.d.ts.map +1 -0
  163. package/dist/refactoring/create-element-to-jsx.js +167 -0
  164. package/dist/refactoring/create-element-to-jsx.js.map +1 -0
  165. package/dist/refactoring/manual-bind-to-arrow.d.ts +8 -0
  166. package/dist/refactoring/manual-bind-to-arrow.d.ts.map +1 -0
  167. package/dist/refactoring/manual-bind-to-arrow.js +134 -0
  168. package/dist/refactoring/manual-bind-to-arrow.js.map +1 -0
  169. package/dist/refactoring/pure-render-mixin.d.ts +8 -0
  170. package/dist/refactoring/pure-render-mixin.d.ts.map +1 -0
  171. package/dist/refactoring/pure-render-mixin.js +253 -0
  172. package/dist/refactoring/pure-render-mixin.js.map +1 -0
  173. package/dist/refactoring/sort-comp.d.ts +8 -0
  174. package/dist/refactoring/sort-comp.d.ts.map +1 -0
  175. package/dist/refactoring/sort-comp.js +128 -0
  176. package/dist/refactoring/sort-comp.js.map +1 -0
  177. package/dist/search/find-hook-usage.d.ts +9 -0
  178. package/dist/search/find-hook-usage.d.ts.map +1 -0
  179. package/dist/search/find-hook-usage.js +262 -0
  180. package/dist/search/find-hook-usage.js.map +1 -0
  181. package/dist/search/find-prop-usage.d.ts +15 -0
  182. package/dist/search/find-prop-usage.d.ts.map +1 -0
  183. package/dist/search/find-prop-usage.js +177 -0
  184. package/dist/search/find-prop-usage.js.map +1 -0
  185. package/dist/search/find-react-component.d.ts +15 -0
  186. package/dist/search/find-react-component.d.ts.map +1 -0
  187. package/dist/search/find-react-component.js +260 -0
  188. package/dist/search/find-react-component.js.map +1 -0
  189. package/dist/search/find-server-rendering-usage.d.ts +9 -0
  190. package/dist/search/find-server-rendering-usage.d.ts.map +1 -0
  191. package/dist/search/find-server-rendering-usage.js +131 -0
  192. package/dist/search/find-server-rendering-usage.js.map +1 -0
  193. package/dist/simplify-object-pattern-property.d.ts +8 -0
  194. package/dist/simplify-object-pattern-property.d.ts.map +1 -0
  195. package/dist/simplify-object-pattern-property.js +59 -0
  196. package/dist/simplify-object-pattern-property.js.map +1 -0
  197. package/dist/simplify-react-imports.d.ts +8 -0
  198. package/dist/simplify-react-imports.d.ts.map +1 -0
  199. package/dist/simplify-react-imports.js +199 -0
  200. package/dist/simplify-react-imports.js.map +1 -0
  201. package/package.json +39 -0
  202. package/src/index.ts +149 -0
  203. package/src/migration/change-component-prop-value.ts +268 -0
  204. package/src/react-native/view-prop-types.ts +63 -0
  205. package/src/react16/error-boundaries.ts +46 -0
  206. package/src/react16/find-dom-node.ts +55 -0
  207. package/src/react16/react-dom-factories.ts +99 -0
  208. package/src/react16/react-prop-types.ts +71 -0
  209. package/src/react16/react-to-react-dom.ts +104 -0
  210. package/src/react16/replace-create-factory.ts +96 -0
  211. package/src/react16/upgrade-to-react-16.ts +37 -0
  212. package/src/react17/remove-event-persist.ts +121 -0
  213. package/src/react17/rename-unsafe-lifecycles.ts +57 -0
  214. package/src/react17/update-react-imports.ts +50 -0
  215. package/src/react17/upgrade-to-react-17.ts +30 -0
  216. package/src/react18/remove-unstable-batched-updates.ts +192 -0
  217. package/src/react18/replace-reactdom-render.ts +68 -0
  218. package/src/react18/replace-render-callback.ts +66 -0
  219. package/src/react18/replace-unmount-component-at-node.ts +66 -0
  220. package/src/react18/upgrade-to-react-18.ts +33 -0
  221. package/src/react19/deprecated-react-types.ts +120 -0
  222. package/src/react19/find-context-consumer.ts +127 -0
  223. package/src/react19/find-deprecated-reactdom-apis.ts +125 -0
  224. package/src/react19/find-element-ref.ts +86 -0
  225. package/src/react19/find-legacy-context-api.ts +157 -0
  226. package/src/react19/no-implicit-ref-callback-return.ts +123 -0
  227. package/src/react19/remove-context-provider.ts +87 -0
  228. package/src/react19/remove-forward-ref.ts +69 -0
  229. package/src/react19/remove-prop-types.ts +86 -0
  230. package/src/react19/remove-react-fc.ts +247 -0
  231. package/src/react19/replace-act-import.ts +36 -0
  232. package/src/react19/replace-default-props.ts +220 -0
  233. package/src/react19/replace-react-shallow-renderer.ts +75 -0
  234. package/src/react19/replace-reactdom-hydrate.ts +67 -0
  235. package/src/react19/replace-string-ref.ts +89 -0
  236. package/src/react19/replace-use-form-state.ts +66 -0
  237. package/src/react19/upgrade-to-react-19.ts +66 -0
  238. package/src/react19/use-context-hook.ts +67 -0
  239. package/src/react19/use-ref-required-initial.ts +75 -0
  240. package/src/refactoring/class-to-functional.ts +229 -0
  241. package/src/refactoring/create-class-to-es6.ts +309 -0
  242. package/src/refactoring/create-element-to-jsx.ts +200 -0
  243. package/src/refactoring/manual-bind-to-arrow.ts +139 -0
  244. package/src/refactoring/pure-render-mixin.ts +346 -0
  245. package/src/refactoring/sort-comp.ts +135 -0
  246. package/src/search/find-hook-usage.ts +226 -0
  247. package/src/search/find-prop-usage.ts +176 -0
  248. package/src/search/find-react-component.ts +254 -0
  249. package/src/search/find-server-rendering-usage.ts +120 -0
  250. package/src/simplify-object-pattern-property.ts +71 -0
  251. package/src/simplify-react-imports.ts +241 -0
@@ -0,0 +1,4 @@
1
+ import { RecipeMarketplace } from "@openrewrite/rewrite";
2
+ export declare function activate(marketplace: RecipeMarketplace): Promise<void>;
3
+ export { ChangeComponentPropValue } from './migration/change-component-prop-value';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAiFvF,wBAAsB,QAAQ,CAAC,WAAW,EAAE,iBAAiB,iBAiE5D;AAED,OAAO,EAAC,wBAAwB,EAAC,MAAM,yCAAyC,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,130 @@
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.ChangeComponentPropValue = void 0;
13
+ exports.activate = activate;
14
+ const rewrite_1 = require("@openrewrite/rewrite");
15
+ const remove_forward_ref_1 = require("./react19/remove-forward-ref");
16
+ const remove_react_fc_1 = require("./react19/remove-react-fc");
17
+ const replace_act_import_1 = require("./react19/replace-act-import");
18
+ const remove_context_provider_1 = require("./react19/remove-context-provider");
19
+ const use_context_hook_1 = require("./react19/use-context-hook");
20
+ const replace_use_form_state_1 = require("./react19/replace-use-form-state");
21
+ const replace_string_ref_1 = require("./react19/replace-string-ref");
22
+ const replace_default_props_1 = require("./react19/replace-default-props");
23
+ const replace_reactdom_hydrate_1 = require("./react19/replace-reactdom-hydrate");
24
+ const use_ref_required_initial_1 = require("./react19/use-ref-required-initial");
25
+ const remove_prop_types_1 = require("./react19/remove-prop-types");
26
+ const no_implicit_ref_callback_return_1 = require("./react19/no-implicit-ref-callback-return");
27
+ const deprecated_react_types_1 = require("./react19/deprecated-react-types");
28
+ const find_legacy_context_api_1 = require("./react19/find-legacy-context-api");
29
+ const find_deprecated_reactdom_apis_1 = require("./react19/find-deprecated-reactdom-apis");
30
+ const find_context_consumer_1 = require("./react19/find-context-consumer");
31
+ const upgrade_to_react_19_1 = require("./react19/upgrade-to-react-19");
32
+ const find_element_ref_1 = require("./react19/find-element-ref");
33
+ const replace_react_shallow_renderer_1 = require("./react19/replace-react-shallow-renderer");
34
+ const replace_reactdom_render_1 = require("./react18/replace-reactdom-render");
35
+ const remove_unstable_batched_updates_1 = require("./react18/remove-unstable-batched-updates");
36
+ const replace_unmount_component_at_node_1 = require("./react18/replace-unmount-component-at-node");
37
+ const replace_render_callback_1 = require("./react18/replace-render-callback");
38
+ const upgrade_to_react_18_1 = require("./react18/upgrade-to-react-18");
39
+ const rename_unsafe_lifecycles_1 = require("./react17/rename-unsafe-lifecycles");
40
+ const update_react_imports_1 = require("./react17/update-react-imports");
41
+ const remove_event_persist_1 = require("./react17/remove-event-persist");
42
+ const upgrade_to_react_17_1 = require("./react17/upgrade-to-react-17");
43
+ const error_boundaries_1 = require("./react16/error-boundaries");
44
+ const find_dom_node_1 = require("./react16/find-dom-node");
45
+ const react_prop_types_1 = require("./react16/react-prop-types");
46
+ const react_dom_factories_1 = require("./react16/react-dom-factories");
47
+ const react_to_react_dom_1 = require("./react16/react-to-react-dom");
48
+ const replace_create_factory_1 = require("./react16/replace-create-factory");
49
+ const upgrade_to_react_16_1 = require("./react16/upgrade-to-react-16");
50
+ const create_class_to_es6_1 = require("./refactoring/create-class-to-es6");
51
+ const class_to_functional_1 = require("./refactoring/class-to-functional");
52
+ const manual_bind_to_arrow_1 = require("./refactoring/manual-bind-to-arrow");
53
+ const create_element_to_jsx_1 = require("./refactoring/create-element-to-jsx");
54
+ const sort_comp_1 = require("./refactoring/sort-comp");
55
+ const pure_render_mixin_1 = require("./refactoring/pure-render-mixin");
56
+ const view_prop_types_1 = require("./react-native/view-prop-types");
57
+ const find_react_component_1 = require("./search/find-react-component");
58
+ const find_hook_usage_1 = require("./search/find-hook-usage");
59
+ const find_prop_usage_1 = require("./search/find-prop-usage");
60
+ const find_server_rendering_usage_1 = require("./search/find-server-rendering-usage");
61
+ const simplify_react_imports_1 = require("./simplify-react-imports");
62
+ const simplify_object_pattern_property_1 = require("./simplify-object-pattern-property");
63
+ const change_component_prop_value_1 = require("./migration/change-component-prop-value");
64
+ const React = [...rewrite_1.JavaScript, { displayName: "React" }];
65
+ const ReactMigrate = [...React, { displayName: "Migrate" }];
66
+ const React16 = [...ReactMigrate, { displayName: "React 16" }];
67
+ const React17 = [...ReactMigrate, { displayName: "React 17" }];
68
+ const React18 = [...ReactMigrate, { displayName: "React 18" }];
69
+ const React19 = [...ReactMigrate, { displayName: "React 19" }];
70
+ const ReactMigration = [...React, { displayName: "Migration" }];
71
+ const ReactRefactoring = [...React, { displayName: "Refactoring" }];
72
+ const ReactNative = [...React, { displayName: "React Native" }];
73
+ const ReactSearch = [...React, { displayName: "Search" }];
74
+ const JavaScriptCleanup = [...rewrite_1.JavaScript, { displayName: "Cleanup" }];
75
+ function activate(marketplace) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ yield marketplace.install(remove_forward_ref_1.RemoveForwardRef, React19);
78
+ yield marketplace.install(remove_react_fc_1.RemoveReactFC, React19);
79
+ yield marketplace.install(replace_act_import_1.ReplaceActImport, React19);
80
+ yield marketplace.install(remove_context_provider_1.RemoveContextProvider, React19);
81
+ yield marketplace.install(use_context_hook_1.UseContextHook, React19);
82
+ yield marketplace.install(replace_use_form_state_1.ReplaceUseFormState, React19);
83
+ yield marketplace.install(replace_string_ref_1.ReplaceStringRef, React19);
84
+ yield marketplace.install(replace_default_props_1.ReplaceDefaultProps, React19);
85
+ yield marketplace.install(replace_reactdom_hydrate_1.ReplaceReactDomHydrate, React19);
86
+ yield marketplace.install(use_ref_required_initial_1.UseRefRequiredInitial, React19);
87
+ yield marketplace.install(remove_prop_types_1.RemovePropTypes, React19);
88
+ yield marketplace.install(no_implicit_ref_callback_return_1.NoImplicitRefCallbackReturn, React19);
89
+ yield marketplace.install(deprecated_react_types_1.DeprecatedReactTypes, React19);
90
+ yield marketplace.install(find_legacy_context_api_1.FindLegacyContextAPI, React19);
91
+ yield marketplace.install(find_deprecated_reactdom_apis_1.FindDeprecatedReactDomAPIs, React19);
92
+ yield marketplace.install(find_context_consumer_1.FindContextConsumer, React19);
93
+ yield marketplace.install(find_element_ref_1.FindElementRef, React19);
94
+ yield marketplace.install(replace_react_shallow_renderer_1.ReplaceReactShallowRenderer, React19);
95
+ yield marketplace.install(upgrade_to_react_19_1.UpgradeToReact19, ReactMigrate);
96
+ yield marketplace.install(replace_reactdom_render_1.ReplaceReactDomRender, React18);
97
+ yield marketplace.install(remove_unstable_batched_updates_1.RemoveUnstableBatchedUpdates, React18);
98
+ yield marketplace.install(replace_unmount_component_at_node_1.ReplaceUnmountComponentAtNode, React18);
99
+ yield marketplace.install(replace_render_callback_1.ReplaceRenderCallback, React18);
100
+ yield marketplace.install(upgrade_to_react_18_1.UpgradeToReact18, ReactMigrate);
101
+ yield marketplace.install(rename_unsafe_lifecycles_1.RenameUnsafeLifecycles, React17);
102
+ yield marketplace.install(update_react_imports_1.UpdateReactImports, React17);
103
+ yield marketplace.install(remove_event_persist_1.RemoveEventPersist, React17);
104
+ yield marketplace.install(upgrade_to_react_17_1.UpgradeToReact17, ReactMigrate);
105
+ yield marketplace.install(error_boundaries_1.ErrorBoundaries, React16);
106
+ yield marketplace.install(find_dom_node_1.FindDomNode, React16);
107
+ yield marketplace.install(react_prop_types_1.ReactPropTypes, React16);
108
+ yield marketplace.install(react_dom_factories_1.ReactDomFactories, React16);
109
+ yield marketplace.install(react_to_react_dom_1.ReactToReactDom, React16);
110
+ yield marketplace.install(replace_create_factory_1.ReplaceCreateFactory, React16);
111
+ yield marketplace.install(upgrade_to_react_16_1.UpgradeToReact16, ReactMigrate);
112
+ yield marketplace.install(create_class_to_es6_1.CreateClassToES6, ReactRefactoring);
113
+ yield marketplace.install(class_to_functional_1.ClassToFunctional, ReactRefactoring);
114
+ yield marketplace.install(manual_bind_to_arrow_1.ManualBindToArrow, ReactRefactoring);
115
+ yield marketplace.install(create_element_to_jsx_1.CreateElementToJsx, ReactRefactoring);
116
+ yield marketplace.install(sort_comp_1.SortComp, ReactRefactoring);
117
+ yield marketplace.install(pure_render_mixin_1.PureRenderMixin, ReactRefactoring);
118
+ yield marketplace.install(view_prop_types_1.ViewPropTypes, ReactNative);
119
+ yield marketplace.install(find_react_component_1.FindReactComponent, ReactSearch);
120
+ yield marketplace.install(find_hook_usage_1.FindHookUsage, ReactSearch);
121
+ yield marketplace.install(find_prop_usage_1.FindPropUsage, ReactSearch);
122
+ yield marketplace.install(find_server_rendering_usage_1.FindServerRenderingUsage, ReactSearch);
123
+ yield marketplace.install(simplify_react_imports_1.SimplifyReactImports, React);
124
+ yield marketplace.install(simplify_object_pattern_property_1.SimplifyObjectPatternProperty, JavaScriptCleanup);
125
+ yield marketplace.install(change_component_prop_value_1.ChangeComponentPropValue, ReactMigration);
126
+ });
127
+ }
128
+ var change_component_prop_value_2 = require("./migration/change-component-prop-value");
129
+ Object.defineProperty(exports, "ChangeComponentPropValue", { enumerable: true, get: function () { return change_component_prop_value_2.ChangeComponentPropValue; } });
130
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAiFA,4BAiEC;AAlJD,kDAAuF;AAGvF,qEAA8D;AAC9D,+DAAwD;AACxD,qEAA8D;AAC9D,+EAAwE;AACxE,iEAA0D;AAC1D,6EAAqE;AACrE,qEAA8D;AAC9D,2EAAoE;AACpE,iFAA0E;AAC1E,iFAAyE;AACzE,mEAA4D;AAC5D,+FAAsF;AACtF,6EAAsE;AACtE,+EAAuE;AACvE,2FAAmF;AACnF,2EAAoE;AACpE,uEAA+D;AAE/D,iEAA0D;AAC1D,6FAAqF;AAGrF,+EAAwE;AACxE,+FAAuF;AACvF,mGAA0F;AAC1F,+EAAwE;AACxE,uEAA+D;AAG/D,iFAA0E;AAC1E,yEAAkE;AAClE,yEAAkE;AAClE,uEAA+D;AAG/D,iEAA2D;AAC3D,2DAAoD;AACpD,iEAA0D;AAC1D,uEAAgE;AAChE,qEAA6D;AAC7D,6EAAsE;AACtE,uEAA+D;AAG/D,2EAAmE;AACnE,2EAAoE;AACpE,6EAAqE;AACrE,+EAAuE;AACvE,uDAAiD;AACjD,uEAAgE;AAGhE,oEAA6D;AAG7D,wEAAiE;AACjE,8DAAuD;AACvD,8DAAuD;AACvD,sFAA8E;AAG9E,qEAA8D;AAC9D,yFAAiF;AACjF,yFAAiF;AAGjF,MAAM,KAAK,GAAyB,CAAC,GAAG,oBAAU,EAAE,EAAC,WAAW,EAAE,OAAO,EAAC,CAAC,CAAC;AAC5E,MAAM,YAAY,GAAyB,CAAC,GAAG,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAC,CAAC,CAAC;AAChF,MAAM,OAAO,GAAyB,CAAC,GAAG,YAAY,EAAE,EAAC,WAAW,EAAE,UAAU,EAAC,CAAC,CAAC;AACnF,MAAM,OAAO,GAAyB,CAAC,GAAG,YAAY,EAAE,EAAC,WAAW,EAAE,UAAU,EAAC,CAAC,CAAC;AACnF,MAAM,OAAO,GAAyB,CAAC,GAAG,YAAY,EAAE,EAAC,WAAW,EAAE,UAAU,EAAC,CAAC,CAAC;AACnF,MAAM,OAAO,GAAyB,CAAC,GAAG,YAAY,EAAE,EAAC,WAAW,EAAE,UAAU,EAAC,CAAC,CAAC;AACnF,MAAM,cAAc,GAAyB,CAAC,GAAG,KAAK,EAAE,EAAC,WAAW,EAAE,WAAW,EAAC,CAAC,CAAC;AACpF,MAAM,gBAAgB,GAAyB,CAAC,GAAG,KAAK,EAAE,EAAC,WAAW,EAAE,aAAa,EAAC,CAAC,CAAC;AACxF,MAAM,WAAW,GAAyB,CAAC,GAAG,KAAK,EAAE,EAAC,WAAW,EAAE,cAAc,EAAC,CAAC,CAAC;AACpF,MAAM,WAAW,GAAyB,CAAC,GAAG,KAAK,EAAE,EAAC,WAAW,EAAE,QAAQ,EAAC,CAAC,CAAC;AAC9E,MAAM,iBAAiB,GAAyB,CAAC,GAAG,oBAAU,EAAE,EAAC,WAAW,EAAE,SAAS,EAAC,CAAC,CAAC;AAE1F,SAAsB,QAAQ,CAAC,WAA8B;;QAEzD,MAAM,WAAW,CAAC,OAAO,CAAC,qCAAgB,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,WAAW,CAAC,OAAO,CAAC,+BAAa,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,WAAW,CAAC,OAAO,CAAC,qCAAgB,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,WAAW,CAAC,OAAO,CAAC,+CAAqB,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,WAAW,CAAC,OAAO,CAAC,iCAAc,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,WAAW,CAAC,OAAO,CAAC,4CAAmB,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,WAAW,CAAC,OAAO,CAAC,qCAAgB,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,WAAW,CAAC,OAAO,CAAC,2CAAmB,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,WAAW,CAAC,OAAO,CAAC,iDAAsB,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,WAAW,CAAC,OAAO,CAAC,gDAAqB,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,WAAW,CAAC,OAAO,CAAC,mCAAe,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,WAAW,CAAC,OAAO,CAAC,6DAA2B,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,WAAW,CAAC,OAAO,CAAC,6CAAoB,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,WAAW,CAAC,OAAO,CAAC,8CAAoB,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,WAAW,CAAC,OAAO,CAAC,0DAA0B,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,WAAW,CAAC,OAAO,CAAC,2CAAmB,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,WAAW,CAAC,OAAO,CAAC,iCAAc,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,WAAW,CAAC,OAAO,CAAC,4DAA2B,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,WAAW,CAAC,OAAO,CAAC,sCAAgB,EAAE,YAAY,CAAC,CAAC;QAG1D,MAAM,WAAW,CAAC,OAAO,CAAC,+CAAqB,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,WAAW,CAAC,OAAO,CAAC,8DAA4B,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,WAAW,CAAC,OAAO,CAAC,iEAA6B,EAAE,OAAO,CAAC,CAAC;QAClE,MAAM,WAAW,CAAC,OAAO,CAAC,+CAAqB,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,WAAW,CAAC,OAAO,CAAC,sCAAgB,EAAE,YAAY,CAAC,CAAC;QAG1D,MAAM,WAAW,CAAC,OAAO,CAAC,iDAAsB,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,WAAW,CAAC,OAAO,CAAC,yCAAkB,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,WAAW,CAAC,OAAO,CAAC,yCAAkB,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,WAAW,CAAC,OAAO,CAAC,sCAAgB,EAAE,YAAY,CAAC,CAAC;QAG1D,MAAM,WAAW,CAAC,OAAO,CAAC,kCAAe,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,WAAW,CAAC,OAAO,CAAC,2BAAW,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,WAAW,CAAC,OAAO,CAAC,iCAAc,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,WAAW,CAAC,OAAO,CAAC,uCAAiB,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,WAAW,CAAC,OAAO,CAAC,oCAAe,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,WAAW,CAAC,OAAO,CAAC,6CAAoB,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,WAAW,CAAC,OAAO,CAAC,sCAAgB,EAAE,YAAY,CAAC,CAAC;QAG1D,MAAM,WAAW,CAAC,OAAO,CAAC,sCAAgB,EAAE,gBAAgB,CAAC,CAAC;QAC9D,MAAM,WAAW,CAAC,OAAO,CAAC,uCAAiB,EAAE,gBAAgB,CAAC,CAAC;QAC/D,MAAM,WAAW,CAAC,OAAO,CAAC,wCAAiB,EAAE,gBAAgB,CAAC,CAAC;QAC/D,MAAM,WAAW,CAAC,OAAO,CAAC,0CAAkB,EAAE,gBAAgB,CAAC,CAAC;QAChE,MAAM,WAAW,CAAC,OAAO,CAAC,oBAAQ,EAAE,gBAAgB,CAAC,CAAC;QACtD,MAAM,WAAW,CAAC,OAAO,CAAC,mCAAe,EAAE,gBAAgB,CAAC,CAAC;QAG7D,MAAM,WAAW,CAAC,OAAO,CAAC,+BAAa,EAAE,WAAW,CAAC,CAAC;QAGtD,MAAM,WAAW,CAAC,OAAO,CAAC,yCAAkB,EAAE,WAAW,CAAC,CAAC;QAC3D,MAAM,WAAW,CAAC,OAAO,CAAC,+BAAa,EAAE,WAAW,CAAC,CAAC;QACtD,MAAM,WAAW,CAAC,OAAO,CAAC,+BAAa,EAAE,WAAW,CAAC,CAAC;QACtD,MAAM,WAAW,CAAC,OAAO,CAAC,sDAAwB,EAAE,WAAW,CAAC,CAAC;QAGjE,MAAM,WAAW,CAAC,OAAO,CAAC,6CAAoB,EAAE,KAAK,CAAC,CAAC;QACvD,MAAM,WAAW,CAAC,OAAO,CAAC,gEAA6B,EAAE,iBAAiB,CAAC,CAAC;QAC5E,MAAM,WAAW,CAAC,OAAO,CAAC,sDAAwB,EAAE,cAAc,CAAC,CAAC;IACxE,CAAC;CAAA;AAED,uFAAiF;AAAzE,uIAAA,wBAAwB,OAAA"}
@@ -0,0 +1,20 @@
1
+ import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ export declare class ChangeComponentPropValue extends Recipe {
3
+ readonly name = "org.openrewrite.react.migration.change-component-prop-value";
4
+ readonly displayName: string;
5
+ readonly description: string;
6
+ componentName: string;
7
+ propName: string;
8
+ oldValue?: string;
9
+ newValue: string;
10
+ regex?: boolean;
11
+ constructor(options?: {
12
+ componentName?: string;
13
+ propName?: string;
14
+ oldValue?: string;
15
+ newValue?: string;
16
+ regex?: boolean;
17
+ });
18
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
19
+ }
20
+ //# sourceMappingURL=change-component-prop-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-component-prop-value.d.ts","sourceRoot":"","sources":["../../src/migration/change-component-prop-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAU,MAAM,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AA6CnF,qBAAa,wBAAyB,SAAQ,MAAM;IAChD,QAAQ,CAAC,IAAI,iEAAiE;IAC9E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAuC;IACnE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAkJ;IAO9K,aAAa,EAAG,MAAM,CAAC;IAOvB,QAAQ,EAAG,MAAM,CAAC;IAQlB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAOlB,QAAQ,EAAG,MAAM,CAAC;IAOlB,KAAK,CAAC,EAAE,OAAO,CAAC;gBAEJ,OAAO,CAAC,EAAE;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;KACnB;IAIK,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CA2K9D"}
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
+ return new (P || (P = Promise))(function (resolve, reject) {
11
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
15
+ });
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ChangeComponentPropValue = void 0;
19
+ const rewrite_1 = require("@openrewrite/rewrite");
20
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
21
+ const java_1 = require("@openrewrite/rewrite/java");
22
+ const mutative_1 = require("mutative");
23
+ class ChangeComponentPropValue extends rewrite_1.Recipe {
24
+ constructor(options) {
25
+ super(options);
26
+ this.name = "org.openrewrite.react.migration.change-component-prop-value";
27
+ this.displayName = "Change React component prop value";
28
+ this.description = "Changes literal prop values on React components. Useful for library upgrades where prop values were renamed (e.g., Material-UI, Ant Design).";
29
+ }
30
+ editor() {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ var _a;
33
+ const componentName = this.componentName;
34
+ const propName = this.propName;
35
+ const oldValue = this.oldValue;
36
+ const newValue = this.newValue;
37
+ const isRegex = (_a = this.regex) !== null && _a !== void 0 ? _a : false;
38
+ let matcher;
39
+ if (!oldValue) {
40
+ matcher = (value) => newValue;
41
+ }
42
+ else if (isRegex) {
43
+ let pattern = oldValue;
44
+ let flags = '';
45
+ const regexMatch = oldValue.match(/^\/(.+?)\/([gimsuvy]*)$/);
46
+ if (regexMatch) {
47
+ pattern = regexMatch[1];
48
+ flags = regexMatch[2];
49
+ }
50
+ const regex = new RegExp(pattern, flags);
51
+ matcher = (value) => {
52
+ const match = value.match(regex);
53
+ if (match) {
54
+ return newValue.replace(/\$(\d+)/g, (_, num) => match[parseInt(num)] || '');
55
+ }
56
+ return null;
57
+ };
58
+ }
59
+ else {
60
+ matcher = (value) => value === oldValue ? newValue : null;
61
+ }
62
+ return new class extends javascript_1.JavaScriptVisitor {
63
+ constructor() {
64
+ super(...arguments);
65
+ this.componentAliases = new Map();
66
+ }
67
+ visitCompilationUnit(cu, p) {
68
+ const _super = Object.create(null, {
69
+ visitCompilationUnit: { get: () => super.visitCompilationUnit }
70
+ });
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ this.componentAliases.clear();
73
+ return _super.visitCompilationUnit.call(this, cu, p);
74
+ });
75
+ }
76
+ visitImportSpecifier(spec, p) {
77
+ const _super = Object.create(null, {
78
+ visitImportSpecifier: { get: () => super.visitImportSpecifier }
79
+ });
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ const specifier = spec.specifier;
82
+ if (specifier.kind === javascript_1.JS.Kind.Alias) {
83
+ const alias = specifier;
84
+ const propertyName = alias.propertyName.element;
85
+ if ((0, java_1.isIdentifier)(propertyName) && propertyName.simpleName === componentName) {
86
+ const aliasIdent = alias.alias;
87
+ if ((0, java_1.isIdentifier)(aliasIdent)) {
88
+ this.componentAliases.set(aliasIdent.simpleName, componentName);
89
+ }
90
+ }
91
+ }
92
+ else if ((0, java_1.isIdentifier)(specifier) && specifier.simpleName === componentName) {
93
+ this.componentAliases.set(componentName, componentName);
94
+ }
95
+ return _super.visitImportSpecifier.call(this, spec, p);
96
+ });
97
+ }
98
+ visitImportClause(clause, p) {
99
+ const _super = Object.create(null, {
100
+ visitImportClause: { get: () => super.visitImportClause }
101
+ });
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ if (clause.name) {
104
+ const identifier = clause.name.element;
105
+ if ((0, java_1.isIdentifier)(identifier) && identifier.simpleName === componentName) {
106
+ this.componentAliases.set(componentName, componentName);
107
+ }
108
+ }
109
+ return _super.visitImportClause.call(this, clause, p);
110
+ });
111
+ }
112
+ visitJsxAttribute(attribute, p) {
113
+ const _super = Object.create(null, {
114
+ visitJsxAttribute: { get: () => super.visitJsxAttribute }
115
+ });
116
+ return __awaiter(this, void 0, void 0, function* () {
117
+ const attr = yield _super.visitJsxAttribute.call(this, attribute, p);
118
+ const key = attr.key;
119
+ if (!(0, java_1.isIdentifier)(key) || key.simpleName !== propName) {
120
+ return attr;
121
+ }
122
+ const tag = this.cursor.firstEnclosing((t) => t.kind === javascript_1.JS.Kind.JsxTag);
123
+ if (!tag) {
124
+ return attr;
125
+ }
126
+ if (!this.isTargetComponent(tag)) {
127
+ return attr;
128
+ }
129
+ if (!attr.value) {
130
+ return attr;
131
+ }
132
+ const value = attr.value.element;
133
+ const newValue = this.getReplacementValue(value);
134
+ if (!newValue) {
135
+ return attr;
136
+ }
137
+ return (0, mutative_1.create)(attr, draft => {
138
+ if (draft.value) {
139
+ draft.value.element = newValue;
140
+ }
141
+ });
142
+ });
143
+ }
144
+ isTargetComponent(tag) {
145
+ const openName = tag.openName.element;
146
+ if ((0, java_1.isIdentifier)(openName)) {
147
+ const tagName = openName.simpleName;
148
+ return tagName === componentName ||
149
+ this.componentAliases.get(tagName) === componentName;
150
+ }
151
+ else if (openName.kind === java_1.J.Kind.FieldAccess) {
152
+ const fieldAccess = openName;
153
+ const nameIdent = fieldAccess.name.element;
154
+ if ((0, java_1.isIdentifier)(nameIdent)) {
155
+ return nameIdent.simpleName === componentName;
156
+ }
157
+ }
158
+ return false;
159
+ }
160
+ getReplacementValue(value) {
161
+ if (value.kind === java_1.J.Kind.Literal) {
162
+ const literal = value;
163
+ const literalValue = literal.value;
164
+ if (typeof literalValue === 'string') {
165
+ const replacement = matcher(literalValue);
166
+ if (replacement !== null) {
167
+ return (0, mutative_1.create)(literal, draft => {
168
+ draft.value = replacement;
169
+ draft.valueSource = `"${replacement}"`;
170
+ });
171
+ }
172
+ }
173
+ }
174
+ return null;
175
+ }
176
+ }();
177
+ });
178
+ }
179
+ }
180
+ exports.ChangeComponentPropValue = ChangeComponentPropValue;
181
+ __decorate([
182
+ (0, rewrite_1.Option)({
183
+ displayName: "Component name",
184
+ description: "The name of the React component to target",
185
+ example: "Button"
186
+ })
187
+ ], ChangeComponentPropValue.prototype, "componentName", void 0);
188
+ __decorate([
189
+ (0, rewrite_1.Option)({
190
+ displayName: "Prop name",
191
+ description: "The name of the prop whose value should be changed",
192
+ example: "variant"
193
+ })
194
+ ], ChangeComponentPropValue.prototype, "propName", void 0);
195
+ __decorate([
196
+ (0, rewrite_1.Option)({
197
+ displayName: "Old value",
198
+ description: "The old value to match. If `regex` is `true`, interpreted as a regular expression pattern. Supports `/pattern/flags` format for specifying regex flags (e.g., `/pattern/i` for case-insensitive). If not provided, matches all values.",
199
+ example: "outlined",
200
+ required: false
201
+ })
202
+ ], ChangeComponentPropValue.prototype, "oldValue", void 0);
203
+ __decorate([
204
+ (0, rewrite_1.Option)({
205
+ displayName: "New value",
206
+ description: "The new value to replace with. Can use `$1`, `$2`, etc. to reference capture groups if `regex` is `true`.",
207
+ example: "outlined-primary"
208
+ })
209
+ ], ChangeComponentPropValue.prototype, "newValue", void 0);
210
+ __decorate([
211
+ (0, rewrite_1.Option)({
212
+ displayName: "Regex",
213
+ description: "If `true`, `oldValue` is interpreted as a regex pattern. Capture groups can be referenced in newValue using `$1`, `$2`, etc.",
214
+ required: false
215
+ })
216
+ ], ChangeComponentPropValue.prototype, "regex", void 0);
217
+ //# sourceMappingURL=change-component-prop-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-component-prop-value.js","sourceRoot":"","sources":["../../src/migration/change-component-prop-value.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ export declare class ViewPropTypes extends Recipe {
3
+ readonly name = "org.openrewrite.react.native.view-prop-types";
4
+ readonly displayName: string;
5
+ readonly description: string;
6
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
7
+ }
8
+ //# sourceMappingURL=view-prop-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-prop-types.d.ts","sourceRoot":"","sources":["../../src/react-native/view-prop-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAwB3E,qBAAa,aAAc,SAAQ,MAAM;IACrC,QAAQ,CAAC,IAAI,kDAAkD;IAC/D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAmD;IAC/E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAmH;IAEzI,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CAiC9D"}
@@ -0,0 +1,65 @@
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.ViewPropTypes = 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 ViewPropTypes extends rewrite_1.Recipe {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.name = "org.openrewrite.react.native.view-prop-types";
20
+ this.displayName = "Replace `View.propTypes` with `ViewPropTypes`";
21
+ this.description = "Migrates deprecated `View.propTypes` references to `ViewPropTypes` from `deprecated-react-native-prop-types`.";
22
+ }
23
+ editor() {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ return new class extends javascript_1.JavaScriptVisitor {
26
+ constructor() {
27
+ super(...arguments);
28
+ this.transformed = false;
29
+ }
30
+ visitJsCompilationUnit(cu, ctx) {
31
+ const _super = Object.create(null, {
32
+ visitJsCompilationUnit: { get: () => super.visitJsCompilationUnit }
33
+ });
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ this.transformed = false;
36
+ let result = yield _super.visitJsCompilationUnit.call(this, cu, ctx);
37
+ if (this.transformed) {
38
+ (0, javascript_1.maybeAddImport)(this, { module: "deprecated-react-native-prop-types", member: "ViewPropTypes", onlyIfReferenced: false });
39
+ (0, javascript_1.maybeRemoveImport)(this, "react-native", "View");
40
+ }
41
+ return result;
42
+ });
43
+ }
44
+ visitFieldAccess(fieldAccess, ctx) {
45
+ const _super = Object.create(null, {
46
+ visitFieldAccess: { get: () => super.visitFieldAccess }
47
+ });
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ let fa = yield _super.visitFieldAccess.call(this, fieldAccess, ctx);
50
+ if (fa.target.kind !== java_1.J.Kind.Identifier)
51
+ return fa;
52
+ if (fa.target.simpleName !== 'View')
53
+ return fa;
54
+ if (fa.name.element.simpleName !== 'propTypes')
55
+ return fa;
56
+ this.transformed = true;
57
+ return Object.assign(Object.assign({}, fa.target), { simpleName: 'ViewPropTypes', prefix: fa.prefix });
58
+ });
59
+ }
60
+ }();
61
+ });
62
+ }
63
+ }
64
+ exports.ViewPropTypes = ViewPropTypes;
65
+ //# sourceMappingURL=view-prop-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-prop-types.js","sourceRoot":"","sources":["../../src/react-native/view-prop-types.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA2E;AAC3E,gEAAqG;AACrG,oDAA4C;AAsB5C,MAAa,aAAc,SAAQ,gBAAM;IAAzC;;QACa,SAAI,GAAG,8CAA8C,CAAC;QACtD,gBAAW,GAAW,+CAA+C,CAAC;QACtE,gBAAW,GAAW,+GAA+G,CAAC;IAmCnJ,CAAC;IAjCS,MAAM;;YACR,OAAO,IAAI,KAAM,SAAQ,8BAAmC;gBAAjD;;oBACC,gBAAW,GAAG,KAAK,CAAC;gBA6BhC,CAAC;gBA3BkB,sBAAsB,CAAC,EAAO,EAAE,GAAqB;;;;;wBAChE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;wBACzB,IAAI,MAAM,GAAG,MAAM,OAAM,sBAAsB,YAAC,EAAE,EAAE,GAAG,CAAC,CAAC;wBACzD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;4BACnB,IAAA,2BAAc,EAAC,IAAI,EAAE,EAAC,MAAM,EAAE,oCAAoC,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,KAAK,EAAC,CAAC,CAAC;4BACvH,IAAA,8BAAiB,EAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;wBACpD,CAAC;wBACD,OAAO,MAAM,CAAC;oBAClB,CAAC;iBAAA;gBAEc,gBAAgB,CAAC,WAA0B,EAAE,GAAqB;;;;;wBAC7E,IAAI,EAAE,GAAG,MAAM,OAAM,gBAAgB,YAAC,WAAW,EAAE,GAAG,CAAkB,CAAC;wBAGzE,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,UAAU;4BAAE,OAAO,EAAE,CAAC;wBACpD,IAAK,EAAE,CAAC,MAAuB,CAAC,UAAU,KAAK,MAAM;4BAAE,OAAO,EAAE,CAAC;wBACjE,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,WAAW;4BAAE,OAAO,EAAE,CAAC;wBAE1D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;wBAGxB,OAAO,gCACA,EAAE,CAAC,MAAM,KACZ,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,EAAE,CAAC,MAAM,GACJ,CAAC;oBACtB,CAAC;iBAAA;aACJ,EAAE,CAAC;QACR,CAAC;KAAA;CACJ;AAtCD,sCAsCC"}
@@ -0,0 +1,8 @@
1
+ import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ export declare class ErrorBoundaries extends Recipe {
3
+ readonly name = "org.openrewrite.react.16.error-boundaries";
4
+ readonly displayName: string;
5
+ readonly description: string;
6
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
7
+ }
8
+ //# sourceMappingURL=error-boundaries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-boundaries.d.ts","sourceRoot":"","sources":["../../src/react16/error-boundaries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAwB3E,qBAAa,eAAgB,SAAQ,MAAM;IACvC,QAAQ,CAAC,IAAI,+CAA+C;IAC5D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAA0D;IACtF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAgH;IAEtI,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CAgB9D"}
@@ -0,0 +1,42 @@
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.ErrorBoundaries = void 0;
13
+ const rewrite_1 = require("@openrewrite/rewrite");
14
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
15
+ class ErrorBoundaries extends rewrite_1.Recipe {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.name = "org.openrewrite.react.16.error-boundaries";
19
+ this.displayName = "Rename `unstable_handleError` to `componentDidCatch`";
20
+ this.description = "Renames the unstable error boundary method to the official `componentDidCatch` API introduced in React 16.";
21
+ }
22
+ editor() {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ return new class extends javascript_1.JavaScriptVisitor {
25
+ visitIdentifier(ident, ctx) {
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, ident, ctx);
31
+ if (id.simpleName === 'unstable_handleError') {
32
+ return Object.assign(Object.assign({}, id), { simpleName: 'componentDidCatch' });
33
+ }
34
+ return id;
35
+ });
36
+ }
37
+ }();
38
+ });
39
+ }
40
+ }
41
+ exports.ErrorBoundaries = ErrorBoundaries;
42
+ //# sourceMappingURL=error-boundaries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-boundaries.js","sourceRoot":"","sources":["../../src/react16/error-boundaries.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA2E;AAC3E,gEAAkE;AAuBlE,MAAa,eAAgB,SAAQ,gBAAM;IAA3C;;QACa,SAAI,GAAG,2CAA2C,CAAC;QACnD,gBAAW,GAAW,sDAAsD,CAAC;QAC7E,gBAAW,GAAW,4GAA4G,CAAC;IAkBhJ,CAAC;IAhBS,MAAM;;YACR,OAAO,IAAI,KAAM,SAAQ,8BAAmC;gBACzC,eAAe,CAAC,KAAmB,EAAE,GAAqB;;;;;wBACrE,IAAI,EAAE,GAAG,MAAM,OAAM,eAAe,YAAC,KAAK,EAAE,GAAG,CAAiB,CAAC;wBAEjE,IAAI,EAAE,CAAC,UAAU,KAAK,sBAAsB,EAAE,CAAC;4BAC3C,OAAO,gCACA,EAAE,KACL,UAAU,EAAE,mBAAmB,GAClB,CAAC;wBACtB,CAAC;wBAED,OAAO,EAAE,CAAC;oBACd,CAAC;iBAAA;aACJ,EAAE,CAAC;QACR,CAAC;KAAA;CACJ;AArBD,0CAqBC"}
@@ -0,0 +1,8 @@
1
+ import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ export declare class FindDomNode extends Recipe {
3
+ readonly name = "org.openrewrite.react.16.find-dom-node";
4
+ readonly displayName: string;
5
+ readonly description: string;
6
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
7
+ }
8
+ //# sourceMappingURL=find-dom-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-dom-node.d.ts","sourceRoot":"","sources":["../../src/react16/find-dom-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AA4B3E,qBAAa,WAAY,SAAQ,MAAM;IACnC,QAAQ,CAAC,IAAI,4CAA4C;IACzD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAuD;IACnF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAwE;IAE9F,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CAqB9D"}
@@ -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.FindDomNode = void 0;
13
+ const rewrite_1 = require("@openrewrite/rewrite");
14
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
15
+ class FindDomNode extends rewrite_1.Recipe {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.name = "org.openrewrite.react.16.find-dom-node";
19
+ this.displayName = "Replace `getDOMNode()` with `React.findDOMNode()`";
20
+ this.description = "Migrates deprecated `getDOMNode()` calls to `React.findDOMNode()`.";
21
+ }
22
+ editor() {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ const target = (0, javascript_1.capture)();
25
+ const rule = (0, javascript_1.rewrite)(() => ({
26
+ before: (0, javascript_1.pattern) `${target}.getDOMNode()`,
27
+ after: (0, javascript_1.template) `React.findDOMNode(${target})`
28
+ }));
29
+ return new class extends javascript_1.JavaScriptVisitor {
30
+ visitMethodInvocation(method, p) {
31
+ const _super = Object.create(null, {
32
+ visitMethodInvocation: { get: () => super.visitMethodInvocation }
33
+ });
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ let m = yield _super.visitMethodInvocation.call(this, method, p);
36
+ const result = yield rule.tryOn(this.cursor, m);
37
+ if (result) {
38
+ return result;
39
+ }
40
+ return m;
41
+ });
42
+ }
43
+ }();
44
+ });
45
+ }
46
+ }
47
+ exports.FindDomNode = FindDomNode;
48
+ //# sourceMappingURL=find-dom-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-dom-node.js","sourceRoot":"","sources":["../../src/react16/find-dom-node.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA2E;AAC3E,gEAMyC;AAqBzC,MAAa,WAAY,SAAQ,gBAAM;IAAvC;;QACa,SAAI,GAAG,wCAAwC,CAAC;QAChD,gBAAW,GAAW,mDAAmD,CAAC;QAC1E,gBAAW,GAAW,oEAAoE,CAAC;IAuBxG,CAAC;IArBS,MAAM;;YACR,MAAM,MAAM,GAAG,IAAA,oBAAO,GAAc,CAAC;YAErC,MAAM,IAAI,GAAG,IAAA,oBAAO,EAAC,GAAG,EAAE,CAAC,CAAC;gBACxB,MAAM,EAAE,IAAA,oBAAO,EAAA,GAAG,MAAM,eAAe;gBACvC,KAAK,EAAE,IAAA,qBAAQ,EAAA,qBAAqB,MAAM,GAAG;aAChD,CAAC,CAAC,CAAC;YAEJ,OAAO,IAAI,KAAM,SAAQ,8BAAmC;gBACzC,qBAAqB,CAAC,MAA0B,EAAE,CAAmB;;;;;wBAChF,IAAI,CAAC,GAAG,MAAM,OAAM,qBAAqB,YAAC,MAAM,EAAE,CAAC,CAAuB,CAAC;wBAE3E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAE,CAAC,CAAC;wBACjD,IAAI,MAAM,EAAE,CAAC;4BACT,OAAO,MAAM,CAAC;wBAClB,CAAC;wBAED,OAAO,CAAC,CAAC;oBACb,CAAC;iBAAA;aACJ,EAAE,CAAC;QACR,CAAC;KAAA;CACJ;AA1BD,kCA0BC"}
@@ -0,0 +1,8 @@
1
+ import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ export declare class ReactDomFactories extends Recipe {
3
+ readonly name = "org.openrewrite.react.16.react-dom-factories";
4
+ readonly displayName: string;
5
+ readonly description: string;
6
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
7
+ }
8
+ //# sourceMappingURL=react-dom-factories.d.ts.map