From f2518d43746fbf712b8cb0ca920f134005c1faec Mon Sep 17 00:00:00 2001 From: Tim Yung Date: Fri, 18 Apr 2025 17:14:47 -0700 Subject: [PATCH] RN/Metro: Configure Transformer for React 19 (#50809) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/50809 Configures `react-native/metro-babel-transformer` (used by `react-native/babel-preset`) to parse source using `hermes-parser` to target React 19. This changes components written with Component Syntax to stop generating `forwardRef` calls (because `ref` is now a prop). Most of this was already accomplished in https://github.com/facebook/react-native/pull/50377 ({D72070021}), but this call site was missed. Changelog: [General][Changed] - Configured Hermes Parser to target React 19, resulting in Component Syntax no longer producing `forwardRef` calls. Reviewed By: elicwhite Differential Revision: D73279825 fbshipit-source-id: c0d64cb8c0adb22b78c5fbed1b2c386c8b3f3ede --- packages/react-native-babel-transformer/src/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/react-native-babel-transformer/src/index.js b/packages/react-native-babel-transformer/src/index.js index b82be63b12f..9e2b7709ad6 100644 --- a/packages/react-native-babel-transformer/src/index.js +++ b/packages/react-native-babel-transformer/src/index.js @@ -210,6 +210,7 @@ const transform /*: BabelTransformer['transform'] */ = ({ : // $FlowFixMe[incompatible-exact] require('hermes-parser').parse(src, { babel: true, + reactRuntimeTarget: '19', sourceType: babelConfig.sourceType, });