From 304179d2977336c9ebd1606cf11cd13d4eb2dce8 Mon Sep 17 00:00:00 2001 From: Rob Hogan Date: Tue, 19 Nov 2024 02:43:03 -0800 Subject: [PATCH] metro-config: Revert setting `hermesParser: true` in default Metro config (#47670) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/47670 Now that we have `babel-plugin-syntax-hermes-parser` in `react-native/babel-preset` (since D63535216), it's no longer necessary to use `hermes-parser` directly in Metro in order to use newer Flow syntax. Babel with `babel-plugin-syntax-hermes-parser` is generally preferable, because it intelligently falls back to parsing with Babel for any non-`flow` files. See https://github.com/facebook/hermes/issues/1549 for context. Changelog: [General][Fixed] metro-config: Don't use `hermes-parser` by default, prefer `babel-plugin-syntax-hermes-parser`, which supports other syntax plugins. Reviewed By: huntie Differential Revision: D66002056 fbshipit-source-id: cf48acec347e2c0791872f8ca4b53f5f8af1c783 --- packages/metro-config/src/index.flow.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/metro-config/src/index.flow.js b/packages/metro-config/src/index.flow.js index 49ae81f261c..10ecb103e57 100644 --- a/packages/metro-config/src/index.flow.js +++ b/packages/metro-config/src/index.flow.js @@ -89,7 +89,6 @@ export function getDefaultConfig(projectRoot: string): ConfigT { babelTransformerPath: require.resolve( '@react-native/metro-babel-transformer', ), - hermesParser: true, getTransformOptions: async () => ({ transform: { experimentalImportSupport: false,