From adb3beed64e800a270c5f9e83bbf53e110c35777 Mon Sep 17 00:00:00 2001 From: Riccardo Cipolleschi Date: Wed, 26 Mar 2025 08:25:25 -0700 Subject: [PATCH] Have react-hermes and React-renderercss define modules (#50283) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/50283 In OSS we have some libraries written in Swift, like Flashlist, that depends on these pods. However, if a pod is not configured to define modules, those pods cannot be imported by Swift. Therefore, the libraries above will failed to be installed in a project. This change adds the defines_modules directive to those pods and make the library work again. This fixes https://github.com/facebook/react-native/issues/50246 [Internal] - Make React-hermes and React-renderercss defines modules Reviewed By: fabriziocucci Differential Revision: D71892679 fbshipit-source-id: b03b65986fbdbe781b616f31dfb6bceb38b8b3b7 --- packages/react-native/ReactCommon/hermes/React-hermes.podspec | 3 ++- .../ReactCommon/react/renderer/css/React-renderercss.podspec | 4 +++- packages/rn-tester/Podfile.lock | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/react-native/ReactCommon/hermes/React-hermes.podspec b/packages/react-native/ReactCommon/hermes/React-hermes.podspec index c29f6cd293d..0a0da650d2d 100644 --- a/packages/react-native/ReactCommon/hermes/React-hermes.podspec +++ b/packages/react-native/ReactCommon/hermes/React-hermes.podspec @@ -38,7 +38,8 @@ Pod::Spec.new do |s| s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"${PODS_ROOT}/hermes-engine/destroot/include\" \"$(PODS_TARGET_SRCROOT)/..\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\"", - "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard() + "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(), + "DEFINES_MODULE" => "YES", } s.header_dir = "reacthermes" s.dependency "React-cxxreact", version diff --git a/packages/react-native/ReactCommon/react/renderer/css/React-renderercss.podspec b/packages/react-native/ReactCommon/react/renderer/css/React-renderercss.podspec index 8d0fa7d9c70..13bf3dde7be 100644 --- a/packages/react-native/ReactCommon/react/renderer/css/React-renderercss.podspec +++ b/packages/react-native/ReactCommon/react/renderer/css/React-renderercss.podspec @@ -36,7 +36,9 @@ Pod::Spec.new do |s| s.exclude_files = "tests" s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(), - "HEADER_SEARCH_PATHS" => header_search_paths.join(' ')} + "HEADER_SEARCH_PATHS" => header_search_paths.join(' '), + "DEFINES_MODULE" => "YES", + } if ENV['USE_FRAMEWORKS'] s.module_name = "React_renderercss" diff --git a/packages/rn-tester/Podfile.lock b/packages/rn-tester/Podfile.lock index 1b68b052bfe..2abc5a715fc 100644 --- a/packages/rn-tester/Podfile.lock +++ b/packages/rn-tester/Podfile.lock @@ -2072,7 +2072,7 @@ SPEC CHECKSUMS: React-featureflags: e8b460883a5562ce85c934f248655a81d5e09f21 React-featureflagsnativemodule: 1e45e1fbd40365126d7f3031c28b9adc3bb5a9ab React-graphics: 447cb78eeb5032559e52e108dfcaa617ddb4f8b2 - React-hermes: b2c226849aead986fddb910095b8cbd6c021fd84 + React-hermes: de7afc9a3c8f2f606b513e1117f744622b26e30f React-idlecallbacksnativemodule: f1ffb0492bb917e60173d96f900ba606747f2640 React-ImageManager: 7516b2f25b0fdd0c2bacb1b9caf1c40ffa1164db React-jserrorhandler: 597481e95cb4fbb8fece874feece6260e1bc1811 @@ -2105,7 +2105,7 @@ SPEC CHECKSUMS: React-RCTText: 39b42fead378ad75d13098d2ea255babd926b362 React-RCTVibration: 879098fe9af91e6258cdae398c47e73e5276c281 React-rendererconsistency: a4d8b222d165650a4bff33cf50033e1adf9a87a3 - React-renderercss: c7608edd7431dce92af0d474153e939543d96f15 + React-renderercss: 9e2bccdc273677485ba16a59132799ab34276596 React-rendererdebug: 1265d77c2abab3fde1f1450cf165725069452608 React-rncore: 27f409047489a44511ad49e64fbc00b798455cbc React-RuntimeApple: c945d4c1529ea33db3f51156d362cbff596e1715