react-native 0.73.0-rc.4 → 0.73.0-rc.6

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 (49) hide show
  1. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +13 -27
  2. package/Libraries/Blob/React-RCTBlob.podspec +8 -14
  3. package/Libraries/Core/ReactNativeVersion.js +1 -1
  4. package/Libraries/Image/React-RCTImage.podspec +9 -13
  5. package/Libraries/LinkingIOS/React-RCTLinking.podspec +4 -12
  6. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +7 -13
  7. package/Libraries/Network/React-RCTNetwork.podspec +7 -17
  8. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +7 -13
  9. package/Libraries/Settings/React-RCTSettings.podspec +7 -16
  10. package/Libraries/Vibration/React-RCTVibration.podspec +6 -14
  11. package/React/Base/RCTVersion.m +1 -1
  12. package/React/CoreModules/React-CoreModules.podspec +4 -8
  13. package/React/Modules/RCTUIManager.m +4 -1
  14. package/React/React-RCTFabric.podspec +27 -31
  15. package/React/Views/SafeAreaView/RCTSafeAreaView.m +6 -1
  16. package/React-Core.podspec +1 -9
  17. package/ReactAndroid/gradle.properties +1 -1
  18. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +1 -1
  19. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +9 -8
  20. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
  21. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +4 -29
  22. package/ReactCommon/React-Fabric.podspec +12 -13
  23. package/ReactCommon/React-FabricImage.podspec +14 -14
  24. package/ReactCommon/React-Mapbuffer.podspec +2 -2
  25. package/ReactCommon/React-rncore.podspec +2 -3
  26. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  27. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +7 -4
  28. package/ReactCommon/jsi/React-jsi.podspec +8 -2
  29. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +3 -1
  30. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +18 -6
  31. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +2 -3
  32. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +11 -17
  33. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +6 -4
  34. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +2 -1
  35. package/ReactCommon/react/utils/React-utils.podspec +2 -5
  36. package/cli.js +2 -2
  37. package/package.json +7 -7
  38. package/scripts/cocoapods/codegen.rb +5 -16
  39. package/scripts/cocoapods/codegen_utils.rb +17 -17
  40. package/scripts/cocoapods/new_architecture.rb +15 -12
  41. package/scripts/cocoapods/utils.rb +75 -25
  42. package/scripts/react_native_pods.rb +35 -0
  43. package/sdks/.hermesversion +1 -1
  44. package/sdks/hermes-engine/hermes-engine.podspec +1 -1
  45. package/sdks/hermesc/osx-bin/hermes +0 -0
  46. package/sdks/hermesc/osx-bin/hermesc +0 -0
  47. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  48. package/template/android/build.gradle +2 -2
  49. package/template/package.json +1 -1
@@ -5,6 +5,8 @@
5
5
 
6
6
  require 'json'
7
7
 
8
+ require_relative "./utils"
9
+
8
10
  class NewArchitectureHelper
9
11
  @@shared_flags = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1"
10
12
 
@@ -106,18 +108,19 @@ class NewArchitectureHelper
106
108
  if ENV['USE_FRAMEWORKS']
107
109
  header_search_paths << "\"$(PODS_ROOT)/DoubleConversion\""
108
110
  header_search_paths << "\"$(PODS_ROOT)/fmt/include\""
109
- header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers\""
110
- header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios\""
111
- header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers\""
112
- header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx\""
113
- header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-FabricImage/React_FabricImage.framework/Headers\""
114
- header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers\""
115
- header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\""
116
- header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTFabric/RCTFabric.framework/Headers\""
117
- header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-utils/React_utils.framework/Headers\""
118
- header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-debug/React_debug.framework/Headers\""
119
- header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-ImageManager/React_ImageManager.framework/Headers\""
120
- header_search_paths << "\"$(PODS_CONFIGURATION_BUILD_DIR)/React-rendererdebug/React_rendererdebug.framework/Headers\""
111
+ ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-graphics", "React_graphics", ["react/renderer/graphics/platform/ios"])
112
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-Fabric", "React_Fabric", ["react/renderer/components/view/platform/cxx"]))
113
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-FabricImage", "React_FabricImage", []))
114
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "ReactCommon", "ReactCommon", ["react/nativemodule/core"]))
115
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-NativeModulesApple", "React_NativeModulesApple", []))
116
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-RCTFabric", "RCTFabric", []))
117
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-utils", "React_utils", []))
118
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-debug", "React_debug", []))
119
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-ImageManager", "React_ImageManager", []))
120
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-rendererdebug", "React_rendererdebug", []))
121
+ .each { |search_path|
122
+ header_search_paths << "\"#{search_path}\""
123
+ }
121
124
  end
122
125
  header_search_paths_string = header_search_paths.join(" ")
123
126
  spec.compiler_flags = compiler_flags.empty? ? @@folly_compiler_flags : "#{compiler_flags} #{@@folly_compiler_flags}"
@@ -254,6 +254,46 @@ class ReactNativePodsUtils
254
254
  end
255
255
  end
256
256
 
257
+ def self.create_header_search_path_for_frameworks(base_folder, pod_name, framework_name, additional_paths, include_base_path = true)
258
+ platforms = $RN_PLATFORMS != nil ? $RN_PLATFORMS : []
259
+ search_paths = []
260
+
261
+ if platforms.empty?() || platforms.length() == 1
262
+ base_path = File.join("${#{base_folder}}", pod_name, "#{framework_name}.framework", "Headers")
263
+ self.add_search_path_to_result(search_paths, base_path, additional_paths, include_base_path)
264
+ else
265
+ platforms.each { |platform|
266
+ base_path = File.join("${#{base_folder}}", "#{pod_name}-#{platform}", "#{framework_name}.framework", "Headers")
267
+ self.add_search_path_to_result(search_paths, base_path, additional_paths, include_base_path)
268
+ }
269
+ end
270
+ return search_paths
271
+ end
272
+
273
+ # Add a new dependency to an existing spec, configuring also the headers search paths
274
+ def self.add_dependency(spec, dependency_name, base_folder_for_frameworks, framework_name, additional_paths: [], version: nil, subspec_dependency: nil)
275
+ # Update Search Path
276
+ optional_current_search_path = spec.to_hash["pod_target_xcconfig"]["HEADER_SEARCH_PATHS"]
277
+ current_search_paths = (optional_current_search_path != nil ? optional_current_search_path : "")
278
+ .split(" ")
279
+ create_header_search_path_for_frameworks(base_folder_for_frameworks, dependency_name, framework_name, additional_paths)
280
+ .each { |path|
281
+ wrapped_path = "\"#{path}\""
282
+ current_search_paths << wrapped_path
283
+ }
284
+ current_pod_target_xcconfig = spec.to_hash["pod_target_xcconfig"]
285
+ current_pod_target_xcconfig["HEADER_SEARCH_PATHS"] = current_search_paths.join(" ")
286
+ spec.pod_target_xcconfig = current_pod_target_xcconfig
287
+
288
+ actual_dependency = subspec_dependency != nil ? "#{dependency_name}/#{subspec_dependency}" : dependency_name
289
+ # Set Dependency
290
+ if !version
291
+ spec.dependency actual_dependency
292
+ else
293
+ spec.dependency actual_dependency, version
294
+ end
295
+ end
296
+
257
297
  def self.update_search_paths(installer)
258
298
  return if ENV['USE_FRAMEWORKS'] == nil
259
299
 
@@ -264,12 +304,14 @@ class ReactNativePodsUtils
264
304
 
265
305
  header_search_paths = config.build_settings["HEADER_SEARCH_PATHS"] ||= "$(inherited)"
266
306
 
267
- header_search_paths = self.add_search_path_if_not_included(header_search_paths, "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers")
268
- header_search_paths = self.add_search_path_if_not_included(header_search_paths, "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core")
269
- header_search_paths = self.add_search_path_if_not_included(header_search_paths, "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios")
270
- header_search_paths = self.add_search_path_if_not_included(header_search_paths, "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx")
271
- header_search_paths = self.add_search_path_if_not_included(header_search_paths, "${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers")
272
- header_search_paths = self.add_search_path_if_not_included(header_search_paths, "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios")
307
+ ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "ReactCommon", "ReactCommon", ["react/nativemodule/core"])
308
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "ReactCommon-Samples", "ReactCommon_Samples", ["platform/ios"]))
309
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-Fabric", "React_Fabric", ["react/renderer/components/view/platform/cxx"], false))
310
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-NativeModulesApple", "React_NativeModulesApple", []))
311
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-graphics", "React_graphics", ["react/renderer/graphics/platform/ios"]))
312
+ .each{ |search_path|
313
+ header_search_paths = self.add_search_path_if_not_included(header_search_paths, search_path)
314
+ }
273
315
 
274
316
  config.build_settings["HEADER_SEARCH_PATHS"] = header_search_paths
275
317
  end
@@ -469,34 +511,31 @@ class ReactNativePodsUtils
469
511
  end
470
512
 
471
513
  def self.set_codegen_search_paths(target_installation_result)
472
- ReactNativePodsUtils.update_header_paths_if_depends_on(target_installation_result, "React-Codegen", [
473
- "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\"",
474
- ])
514
+ header_search_paths = ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-Codegen", "React_Codegen", [])
515
+ .map { |search_path| "\"#{search_path}\"" }
516
+ ReactNativePodsUtils.update_header_paths_if_depends_on(target_installation_result, "React-Codegen", header_search_paths)
475
517
  end
476
518
 
477
519
  def self.set_reactcommon_searchpaths(target_installation_result)
478
- ReactNativePodsUtils.update_header_paths_if_depends_on(target_installation_result, "ReactCommon", [
479
- "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers\"",
480
- "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\"",
481
- ])
482
-
520
+ header_search_paths = ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "ReactCommon", "ReactCommon", ["react/nativemodule/core"])
521
+ .map { |search_path| "\"#{search_path}\"" }
522
+ ReactNativePodsUtils.update_header_paths_if_depends_on(target_installation_result, "ReactCommon", header_search_paths)
483
523
  end
484
524
 
485
525
  def self.set_rctfabric_search_paths(target_installation_result)
486
- ReactNativePodsUtils.update_header_paths_if_depends_on(target_installation_result, "React-RCTFabric", [
487
- "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTFabric/RCTFabric.framework/Headers\"",
488
- "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers\"",
489
- "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx\"",
490
- "\"${PODS_CONFIGURATION_BUILD_DIR}/React-FabricImage/React_FabricImage.framework/Headers\"",
491
- "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Graphics/React_graphics.framework/Headers\"",
492
- "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios\"",
493
- ])
526
+ header_search_paths = ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-RCTFabric", "RCTFabric", [])
527
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-Fabric", "React_Fabric", ["react/renderer/components/view/platform/cxx"]))
528
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-FabricImage", "React_FabricImage", []))
529
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-Graphics", "React_graphics", ["react/renderer/graphics/platform/ios"]))
530
+ .map { |search_path| "\"#{search_path}\"" }
531
+
532
+ ReactNativePodsUtils.update_header_paths_if_depends_on(target_installation_result, "React-RCTFabric", header_search_paths)
494
533
  end
495
534
 
496
535
  def self.set_imagemanager_search_path(target_installation_result)
497
- ReactNativePodsUtils.update_header_paths_if_depends_on(target_installation_result, "React-ImageManager", [
498
- "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/imagemanager/platform/ios\""
499
- ])
536
+ header_search_paths = ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-Fabric", "React_Fabric", ["react/renderer/imagemanager/platform/ios"])
537
+ .map { |search_path| "\"#{search_path}\"" }
538
+ ReactNativePodsUtils.update_header_paths_if_depends_on(target_installation_result, "React-ImageManager", header_search_paths)
500
539
  end
501
540
 
502
541
  def self.get_plist_paths_from(user_project)
@@ -583,4 +622,15 @@ class ReactNativePodsUtils
583
622
  "React-hermes",
584
623
  ]
585
624
  end
625
+
626
+ def self.add_search_path_to_result(result, base_path, additional_paths, include_base_path)
627
+ if (include_base_path)
628
+ result << base_path
629
+ end
630
+
631
+ additional_paths.each { |extra_path|
632
+ result << File.join(base_path, extra_path)
633
+ }
634
+ return result
635
+ end
586
636
  end
@@ -210,6 +210,41 @@ def folly_flags()
210
210
  return NewArchitectureHelper.folly_compiler_flags
211
211
  end
212
212
 
213
+ # Add a dependency to a spec, making sure that the HEADER_SERACH_PATHS are set properly.
214
+ # This function automate the requirement to specify the HEADER_SEARCH_PATHS which was error prone
215
+ # and hard to pull out properly to begin with.
216
+ # Secondly, it prepares the podspec to work also with other platforms, because this function is
217
+ # able to generate search paths that are compatible with macOS and other platform if specified by
218
+ # the $RN_PLATFORMS variable.
219
+ # To generate Header Search Paths for multiple platforms, define in your Podfile or Ruby infra a
220
+ # $RN_PLATFORMS static variable with the list of supported platforms, for example:
221
+ # `$RN_PLATFORMS = ["iOS", "macOS"]`
222
+ #
223
+ # Parameters:
224
+ # - spec: the spec that needs to be modified
225
+ # - pod_name: the name of the dependency we had to add to the spec
226
+ # - additional_framework_paths: additional sub paths we had to add to the HEADER_SEARCH_PATH
227
+ # - framework_name: the name of the framework in case it is different from the pod_name
228
+ # - version: the version of the pod_name the spec needs to depend on
229
+ # - base_dir: Base directory from where we need to start looking. Defaults to PODS_CONFIGURATION_BUILD_DIR
230
+ def add_dependency(spec, pod_name, subspec: nil, additional_framework_paths: [], framework_name: nil, version: nil, base_dir: "PODS_CONFIGURATION_BUILD_DIR")
231
+ fixed_framework_name = framework_name != nil ? framework_name : pod_name.gsub("-", "_") # frameworks can't have "-" in their name
232
+ ReactNativePodsUtils.add_dependency(spec, pod_name, base_dir, fixed_framework_name, :additional_paths => additional_framework_paths, :version => version)
233
+ end
234
+
235
+ # This function generates an array of HEADER_SEARCH_PATH that can be added to the HEADER_SEARCH_PATH property when use_frameworks! is enabled
236
+ #
237
+ # Parameters:
238
+ # - pod_name: the name of the dependency we had to add to the spec
239
+ # - additional_framework_paths: additional sub paths we had to add to the HEADER_SEARCH_PATH
240
+ # - framework_name: the name of the framework in case it is different from the pod_name
241
+ # - base_dir: Base directory from where we need to start looking. Defaults to PODS_CONFIGURATION_BUILD_DIR
242
+ # - include_base_folder: whether the array must include the base import path or only the additional_framework_paths
243
+ def create_header_search_path_for_frameworks(pod_name, additional_framework_paths: [], framework_name: nil, base_dir: "PODS_CONFIGURATION_BUILD_DIR", include_base_folder: true)
244
+ fixed_framework_name = framework_name != nil ? framework_name : pod_name.gsub("-", "_")
245
+ return ReactNativePodsUtils.create_header_search_path_for_frameworks(base_dir, pod_name, fixed_framework_name, additional_framework_paths, include_base_folder)
246
+ end
247
+
213
248
  # This function can be used by library developer to prepare their modules for the New Architecture.
214
249
  # It passes the Folly Flags to the module, it configures the search path and installs some New Architecture specific dependencies.
215
250
  #
@@ -1 +1 @@
1
- hermes-2023-09-26-RNv0.73.0-ee2922a50fb719bdb378025d95dbd32ad93cd679
1
+ hermes-2023-11-17-RNv0.73.0-21043a3fc062be445e56a2c10ecd8be028dd9cc5
@@ -41,7 +41,7 @@ Pod::Spec.new do |spec|
41
41
 
42
42
  spec.subspec 'Pre-built' do |ss|
43
43
  ss.preserve_paths = ["destroot/bin/*"].concat(["**/*.{h,c,cpp}"])
44
- ss.source_files = "destroot/include/**/*.h"
44
+ ss.source_files = "destroot/include/hermes/**/*.h"
45
45
  ss.header_mappings_dir = "destroot/include"
46
46
  ss.ios.vendored_frameworks = "destroot/Library/Frameworks/universal/hermes.xcframework"
47
47
  ss.osx.vendored_frameworks = "destroot/Library/Frameworks/macosx/hermes.framework"
Binary file
Binary file
Binary file
@@ -1,5 +1,3 @@
1
- // Top-level build file where you can add configuration options common to all sub-projects/modules.
2
-
3
1
  buildscript {
4
2
  ext {
5
3
  buildToolsVersion = "34.0.0"
@@ -19,3 +17,5 @@ buildscript {
19
17
  classpath("org.jetbrains.kotlin:kotlin-gradle-plugin")
20
18
  }
21
19
  }
20
+
21
+ apply plugin: "com.facebook.react.rootproject"
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "react": "18.2.0",
14
- "react-native": "0.73.0-rc.4"
14
+ "react-native": "0.73.0-rc.6"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@babel/core": "^7.20.0",