A framework for building native applications using React
Switch Babel parsing from legacy Flow plugin to hermes-parser (#46696)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/46696 Following D62161923, we began to lose sync with modern Flow syntax when Metro's `transformer.hermesParser` option is disabled. This config option loads Babel for transformation (instead of `hermes-parser`), which requires a Babel plugin to parse (not strip) Flow syntax. This diff migrates us away from `babel/plugin-syntax-flow` (see also https://github.com/babel/babel/issues/16264) and uses the modern [`babel-plugin-syntax-hermes-parser`](https://www.npmjs.com/package/babel-plugin-syntax-hermes-parser) instead (a component of the modern Hermes Parser stack). Following this change, new projects that unset `transformer.hermesParser` will compile. Resolves https://github.com/facebook/react-native/issues/46601. Changelog: [General][Fixed] - Fix parsing of modern Flow syntax when `transformer.hermesParser = false` is configured in Metro config Reviewed By: cipolleschi Differential Revision: D63535216 fbshipit-source-id: d2c6ddec030d89e2698e03b76194cf3568d04e6b
A
Alex Hunt committed
1387f521fdd8f187eab7a4a6a05d4d75a96b4f88
Parent: dc8bc45
Committed by Facebook GitHub Bot <[email protected]>
on 9/27/2024, 5:20:19 PM