react-native 0.81.0 → 0.81.2

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 (125) hide show
  1. package/Libraries/Components/Switch/Switch.js +1 -1
  2. package/Libraries/Components/TextInput/TextInput.js +6 -1
  3. package/Libraries/Core/ReactNativeVersion.js +1 -1
  4. package/React/Base/RCTUtils.h +1 -0
  5. package/React/Base/RCTUtils.mm +12 -0
  6. package/React/Base/RCTVersion.m +1 -1
  7. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +12 -0
  8. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +18 -0
  9. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.cpp +0 -1
  10. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.h +0 -1
  11. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.cpp +0 -1
  12. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.h +0 -11
  13. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/States.h +0 -2
  14. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +22 -0
  15. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +1 -1
  16. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -1
  17. package/React/React-RCTFBReactNativeSpec.podspec +1 -4
  18. package/React/React-RCTFabric.podspec +1 -0
  19. package/React/Runtime/React-RCTRuntime.podspec +1 -3
  20. package/ReactAndroid/build.gradle.kts +10 -1
  21. package/ReactAndroid/gradle.properties +1 -1
  22. package/ReactAndroid/hermes-engine/build.gradle.kts +6 -0
  23. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.kt +9 -1
  24. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +13 -1
  25. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +21 -1
  26. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +5 -1
  27. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +5 -1
  28. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +23 -1
  29. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +5 -1
  30. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +5 -1
  31. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  32. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +19 -0
  33. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +29 -1
  34. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +7 -1
  35. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +3 -1
  36. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +2 -1
  37. package/ReactAndroid/src/main/jni/react/jni/NativeArray.h +4 -0
  38. package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +2 -0
  39. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.cpp +6 -0
  40. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.h +1 -0
  41. package/ReactAndroid/src/main/jni/react/jni/TransformHelper.cpp +60 -0
  42. package/ReactAndroid/src/main/jni/react/jni/TransformHelper.h +22 -0
  43. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +3 -1
  44. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +3 -1
  45. package/ReactCommon/React-Fabric.podspec +1 -4
  46. package/ReactCommon/React-FabricComponents.podspec +9 -4
  47. package/ReactCommon/React-FabricImage.podspec +1 -4
  48. package/ReactCommon/React-Mapbuffer.podspec +1 -4
  49. package/ReactCommon/ReactCommon.podspec +2 -3
  50. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  51. package/ReactCommon/hermes/executor/CMakeLists.txt +1 -1
  52. package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -4
  53. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +1 -1
  54. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +2 -4
  55. package/ReactCommon/jsinspector-modern/CMakeLists.txt +6 -4
  56. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +2 -3
  57. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +1 -4
  58. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +1 -4
  59. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -4
  60. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -4
  61. package/ReactCommon/react/debug/CMakeLists.txt +1 -1
  62. package/ReactCommon/react/debug/React-debug.podspec +1 -4
  63. package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -4
  64. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +9 -1
  65. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +11 -1
  66. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +44 -8
  67. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +6 -2
  68. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +9 -1
  69. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +19 -1
  70. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +9 -1
  71. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +3 -1
  72. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +2 -3
  73. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -4
  74. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +1 -4
  75. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +11 -1
  76. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +5 -1
  77. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -4
  78. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -4
  79. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -4
  80. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +2 -0
  81. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -4
  82. package/ReactCommon/react/renderer/components/switch/iosswitch/react/renderer/components/switch/AppleSwitchComponentDescriptor.h +30 -0
  83. package/ReactCommon/react/renderer/components/switch/iosswitch/react/renderer/components/switch/AppleSwitchShadowNode.h +42 -0
  84. package/ReactCommon/react/renderer/components/switch/iosswitch/react/renderer/components/switch/IOSSwitchShadowNode.mm +28 -0
  85. package/ReactCommon/react/renderer/components/switch/iosswitch/react/renderer/components/switch/MacOSSwitchShadowNode.mm +32 -0
  86. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +2 -1
  87. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +8 -2
  88. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +5 -0
  89. package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +2 -4
  90. package/ReactCommon/react/renderer/css/React-renderercss.podspec +2 -5
  91. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -4
  92. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +3 -3
  93. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -4
  94. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -4
  95. package/ReactCommon/react/runtime/CMakeLists.txt +3 -1
  96. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -4
  97. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -4
  98. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +1 -1
  99. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -4
  100. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +1 -0
  101. package/ReactCommon/react/timing/React-timing.podspec +3 -4
  102. package/ReactCommon/react/utils/React-utils.podspec +3 -3
  103. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +3 -2
  104. package/package.json +8 -8
  105. package/scripts/cocoapods/autolinking.rb +6 -0
  106. package/scripts/cocoapods/codegen_utils.rb +1 -1
  107. package/scripts/cocoapods/new_architecture.rb +1 -0
  108. package/scripts/cocoapods/utils.rb +15 -1
  109. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +3 -3
  110. package/scripts/codegen/generate-artifacts-executor/index.js +5 -1
  111. package/scripts/codegen/generate-artifacts-executor/utils.js +41 -10
  112. package/scripts/codegen/templates/ReactCodegen.podspec.template +1 -0
  113. package/scripts/react-native-xcode.sh +2 -2
  114. package/scripts/react_native_pods.rb +21 -0
  115. package/scripts/replace-rncore-version.js +4 -2
  116. package/scripts/xcode/with-environment.sh +1 -1
  117. package/sdks/hermes-engine/utils/replace_hermes_version.js +4 -2
  118. package/sdks/hermesc/osx-bin/hermes +0 -0
  119. package/sdks/hermesc/osx-bin/hermesc +0 -0
  120. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  121. package/src/private/featureflags/ReactNativeFeatureFlags.js +11 -1
  122. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +3 -1
  123. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +1 -0
  124. package/third-party-podspecs/ReactNativeDependencies.podspec +1 -1
  125. package/third-party-podspecs/replace_dependencies_version.js +4 -2
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<cf7b6ff66c614ca2acc6667a80c5590d>>
7
+ * @generated SignedSource<<bbad4ee8cacd33099874d0c3078ea716>>
8
8
  */
9
9
 
10
10
  /**
@@ -351,6 +351,18 @@ class ReactNativeFeatureFlagsJavaProvider
351
351
  return method(javaProvider_);
352
352
  }
353
353
 
354
+ bool useNativeEqualsInNativeReadableArrayAndroid() override {
355
+ static const auto method =
356
+ getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("useNativeEqualsInNativeReadableArrayAndroid");
357
+ return method(javaProvider_);
358
+ }
359
+
360
+ bool useNativeTransformHelperAndroid() override {
361
+ static const auto method =
362
+ getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("useNativeTransformHelperAndroid");
363
+ return method(javaProvider_);
364
+ }
365
+
354
366
  bool useNativeViewConfigsInBridgelessMode() override {
355
367
  static const auto method =
356
368
  getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("useNativeViewConfigsInBridgelessMode");
@@ -657,6 +669,16 @@ bool JReactNativeFeatureFlagsCxxInterop::useFabricInterop(
657
669
  return ReactNativeFeatureFlags::useFabricInterop();
658
670
  }
659
671
 
672
+ bool JReactNativeFeatureFlagsCxxInterop::useNativeEqualsInNativeReadableArrayAndroid(
673
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
674
+ return ReactNativeFeatureFlags::useNativeEqualsInNativeReadableArrayAndroid();
675
+ }
676
+
677
+ bool JReactNativeFeatureFlagsCxxInterop::useNativeTransformHelperAndroid(
678
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
679
+ return ReactNativeFeatureFlags::useNativeTransformHelperAndroid();
680
+ }
681
+
660
682
  bool JReactNativeFeatureFlagsCxxInterop::useNativeViewConfigsInBridgelessMode(
661
683
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
662
684
  return ReactNativeFeatureFlags::useNativeViewConfigsInBridgelessMode();
@@ -879,6 +901,12 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
879
901
  makeNativeMethod(
880
902
  "useFabricInterop",
881
903
  JReactNativeFeatureFlagsCxxInterop::useFabricInterop),
904
+ makeNativeMethod(
905
+ "useNativeEqualsInNativeReadableArrayAndroid",
906
+ JReactNativeFeatureFlagsCxxInterop::useNativeEqualsInNativeReadableArrayAndroid),
907
+ makeNativeMethod(
908
+ "useNativeTransformHelperAndroid",
909
+ JReactNativeFeatureFlagsCxxInterop::useNativeTransformHelperAndroid),
882
910
  makeNativeMethod(
883
911
  "useNativeViewConfigsInBridgelessMode",
884
912
  JReactNativeFeatureFlagsCxxInterop::useNativeViewConfigsInBridgelessMode),
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<dae981c66bf0751fd2863937ecf255d8>>
7
+ * @generated SignedSource<<57f2dcf4b71512c6b15e8021258d6036>>
8
8
  */
9
9
 
10
10
  /**
@@ -186,6 +186,12 @@ class JReactNativeFeatureFlagsCxxInterop
186
186
  static bool useFabricInterop(
187
187
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
188
188
 
189
+ static bool useNativeEqualsInNativeReadableArrayAndroid(
190
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
191
+
192
+ static bool useNativeTransformHelperAndroid(
193
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
194
+
189
195
  static bool useNativeViewConfigsInBridgelessMode(
190
196
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
191
197
 
@@ -25,4 +25,6 @@ target_link_libraries(
25
25
  reactnative
26
26
  )
27
27
  target_compile_reactnative_options(hermes_executor PRIVATE)
28
- target_compile_options(hermes_executor PRIVATE $<$<CONFIG:Debug>:-DHERMES_ENABLE_DEBUGGER=1>)
28
+ if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
29
+ target_compile_options(hermes_executor PRIVATE -DHERMES_ENABLE_DEBUGGER=1)
30
+ endif()
@@ -31,13 +31,14 @@ add_library(
31
31
  OnLoad-common.cpp
32
32
  ReadableNativeArray.cpp
33
33
  ReadableNativeMap.cpp
34
+ TransformHelper.cpp
34
35
  WritableNativeArray.cpp
35
36
  WritableNativeMap.cpp
36
37
  )
37
38
  target_merge_so(reactnativejni_common)
38
39
  target_include_directories(reactnativejni_common PUBLIC ../../)
39
40
 
40
- target_link_libraries(reactnativejni_common fbjni folly_runtime react_cxxreact)
41
+ target_link_libraries(reactnativejni_common fbjni folly_runtime react_cxxreact yoga react_renderer_graphics)
41
42
  target_compile_reactnative_options(reactnativejni_common PRIVATE)
42
43
  target_compile_options(reactnativejni_common PRIVATE -Wno-unused-lambda-capture)
43
44
 
@@ -21,6 +21,10 @@ class NativeArray : public jni::HybridClass<NativeArray> {
21
21
 
22
22
  jni::local_ref<jstring> toString();
23
23
 
24
+ const folly::dynamic& getArray() const {
25
+ return array_;
26
+ }
27
+
24
28
  RN_EXPORT folly::dynamic consume();
25
29
 
26
30
  // Whether this array has been added to another array or map and no longer
@@ -11,6 +11,7 @@
11
11
  #include "JReactMarker.h"
12
12
  #include "NativeArray.h"
13
13
  #include "NativeMap.h"
14
+ #include "TransformHelper.h"
14
15
  #include "WritableNativeArray.h"
15
16
  #include "WritableNativeMap.h"
16
17
 
@@ -27,6 +28,7 @@ extern "C" JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {
27
28
  ReadableNativeMap::registerNatives();
28
29
  WritableNativeArray::registerNatives();
29
30
  WritableNativeMap::registerNatives();
31
+ TransformHelper::registerNatives();
30
32
  });
31
33
  }
32
34
 
@@ -40,10 +40,16 @@ local_ref<JArrayClass<jobject>> ReadableNativeArray::importTypeArray() {
40
40
  return jarray;
41
41
  }
42
42
 
43
+ bool ReadableNativeArray::equals(
44
+ jni::alias_ref<ReadableNativeArray::javaobject> other) {
45
+ return array_ == other->cthis()->array_;
46
+ }
47
+
43
48
  void ReadableNativeArray::registerNatives() {
44
49
  registerHybrid({
45
50
  makeNativeMethod("importArray", ReadableNativeArray::importArray),
46
51
  makeNativeMethod("importTypeArray", ReadableNativeArray::importTypeArray),
52
+ makeNativeMethod("nativeEquals", ReadableNativeArray::equals),
47
53
  });
48
54
  }
49
55
 
@@ -35,6 +35,7 @@ class ReadableNativeArray
35
35
  static void mapException(std::exception_ptr ex);
36
36
  static void registerNatives();
37
37
 
38
+ bool equals(jni::alias_ref<ReadableNativeArray::javaobject> other);
38
39
  jni::local_ref<jni::JArrayClass<jobject>> importArray();
39
40
  jni::local_ref<jni::JArrayClass<jobject>> importTypeArray();
40
41
  };
@@ -0,0 +1,60 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #include "TransformHelper.h"
9
+
10
+ #include <react/renderer/components/view/BaseViewProps.h>
11
+ #include <react/renderer/components/view/conversions.h>
12
+
13
+ #include "NativeArray.h"
14
+
15
+ using namespace facebook::jni;
16
+
17
+ namespace facebook::react {
18
+
19
+ namespace {
20
+ void processTransform(
21
+ jni::alias_ref<jclass> /*unused*/,
22
+ NativeArray* jTransforms,
23
+ jni::alias_ref<jni::JArrayDouble> jResult,
24
+ float viewWidth,
25
+ float viewHeight,
26
+ NativeArray* jTransformOrigin) {
27
+ // Assuming parsing transforms doesn't require a real PropsParserContext
28
+ static ContextContainer contextContainer;
29
+ static PropsParserContext context(0, contextContainer);
30
+
31
+ RawValue transformValue(jTransforms->getArray());
32
+ Transform transform;
33
+ fromRawValue(context, transformValue, transform);
34
+
35
+ TransformOrigin transformOrigin;
36
+ if (jTransformOrigin != nullptr) {
37
+ RawValue transformOriginValue(jTransformOrigin->getArray());
38
+ fromRawValue(context, transformOriginValue, transformOrigin);
39
+ }
40
+
41
+ auto result = BaseViewProps::resolveTransform(
42
+ Size(viewWidth, viewHeight), transform, transformOrigin);
43
+
44
+ // Convert from matrix of floats to double matrix
45
+ constexpr size_t MatrixSize = std::tuple_size_v<decltype(result.matrix)>;
46
+ std::array<double, MatrixSize> doubleTransform{};
47
+ std::copy(
48
+ result.matrix.begin(), result.matrix.end(), doubleTransform.begin());
49
+ jResult->setRegion(0, MatrixSize, doubleTransform.data());
50
+ }
51
+
52
+ } // namespace
53
+
54
+ void TransformHelper::registerNatives() {
55
+ javaClassLocal()->registerNatives({
56
+ makeNativeMethod("nativeProcessTransform", processTransform),
57
+ });
58
+ }
59
+
60
+ } // namespace facebook::react
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+
12
+ namespace facebook::react {
13
+
14
+ class TransformHelper : public jni::JavaClass<TransformHelper> {
15
+ public:
16
+ static auto constexpr* kJavaDescriptor =
17
+ "Lcom/facebook/react/uimanager/TransformHelper;";
18
+
19
+ static void registerNatives();
20
+ };
21
+
22
+ } // namespace facebook::react
@@ -27,4 +27,6 @@ target_link_libraries(hermesinstancejni
27
27
  )
28
28
 
29
29
  target_compile_reactnative_options(hermesinstancejni PRIVATE)
30
- target_compile_options(hermesinstancejni PRIVATE $<$<CONFIG:Debug>:-DHERMES_ENABLE_DEBUGGER=1>)
30
+ if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
31
+ target_compile_options(hermesinstancejni PRIVATE -DHERMES_ENABLE_DEBUGGER=1)
32
+ endif ()
@@ -17,7 +17,9 @@ add_library(rninstance
17
17
  )
18
18
 
19
19
  target_compile_reactnative_options(rninstance PRIVATE)
20
- target_compile_options(rninstance PRIVATE $<$<CONFIG:Debug>:-DHERMES_ENABLE_DEBUGGER=1>)
20
+ if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
21
+ target_compile_options(rninstance PRIVATE -DHERMES_ENABLE_DEBUGGER=1)
22
+ endif ()
21
23
 
22
24
  target_merge_so(rninstance)
23
25
  target_include_directories(rninstance PUBLIC .)
@@ -32,10 +32,7 @@ Pod::Spec.new do |s|
32
32
  "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
33
33
  "DEFINES_MODULE" => "YES" }
34
34
 
35
- if ENV['USE_FRAMEWORKS'] && ReactNativeCoreUtils.build_rncore_from_source()
36
- s.header_mappings_dir = './'
37
- s.module_name = 'React_Fabric'
38
- end
35
+ resolve_use_frameworks(s, header_mappings_dir: "./", module_name: "React_Fabric")
39
36
 
40
37
  s.dependency "React-jsiexecutor"
41
38
  s.dependency "RCTRequired"
@@ -49,10 +49,7 @@ Pod::Spec.new do |s|
49
49
  "HEADER_SEARCH_PATHS" => header_search_path.join(" "),
50
50
  }
51
51
 
52
- if ENV['USE_FRAMEWORKS']
53
- s.header_mappings_dir = './'
54
- s.module_name = 'React_FabricComponents'
55
- end
52
+ resolve_use_frameworks(s, header_mappings_dir: "./", module_name: "React_FabricComponents")
56
53
 
57
54
  s.dependency "React-jsiexecutor"
58
55
  s.dependency "RCTRequired"
@@ -127,6 +124,14 @@ Pod::Spec.new do |s|
127
124
  sss.header_dir = "react/renderer/components/iostextinput"
128
125
  end
129
126
 
127
+ ss.subspec "switch" do |sss|
128
+ sss.source_files = podspec_sources(
129
+ ["react/renderer/components/switch/iosswitch/**/*.{m,mm,cpp,h}"],
130
+ ["react/renderer/components/switch/iosswitch/**/*.h"])
131
+ sss.exclude_files = "react/renderer/components/switch/iosswitch/**/MacOS*.{m,mm,cpp,h}"
132
+ sss.header_dir = "react/renderer/components/switch/"
133
+ end
134
+
130
135
  ss.subspec "textinput" do |sss|
131
136
  sss.source_files = podspec_sources("react/renderer/components/textinput/*.{m,mm,cpp,h}", "react/renderer/components/textinput/**/*.h")
132
137
  sss.header_dir = "react/renderer/components/textinput"
@@ -50,10 +50,7 @@ Pod::Spec.new do |s|
50
50
  "HEADER_SEARCH_PATHS" => header_search_path.join(" ")
51
51
  }
52
52
 
53
- if ENV['USE_FRAMEWORKS']
54
- s.header_mappings_dir = './'
55
- s.module_name = 'React_FabricImage'
56
- end
53
+ resolve_use_frameworks(s, header_mappings_dir: './', module_name: "React_FabricImage")
57
54
 
58
55
  s.dependency "React-jsiexecutor", version
59
56
  s.dependency "RCTRequired", version
@@ -32,10 +32,7 @@ Pod::Spec.new do |s|
32
32
  s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => ["\"$(PODS_TARGET_SRCROOT)\""], "USE_HEADERMAP" => "YES",
33
33
  "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard() }
34
34
 
35
- if ENV['USE_FRAMEWORKS']
36
- s.header_mappings_dir = './'
37
- s.module_name = 'React_Mapbuffer'
38
- end
35
+ resolve_use_frameworks(s, header_mappings_dir: './', module_name: "React_Mapbuffer")
39
36
 
40
37
  add_dependency(s, "React-debug")
41
38
  add_rn_third_party_dependencies(s)
@@ -32,9 +32,8 @@ Pod::Spec.new do |s|
32
32
  "DEFINES_MODULE" => "YES",
33
33
  "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
34
34
  "GCC_WARN_PEDANTIC" => "YES" }
35
- if ENV['USE_FRAMEWORKS'] && ReactNativeCoreUtils.build_rncore_from_source()
36
- s.header_mappings_dir = './'
37
- end
35
+
36
+ resolve_use_frameworks(s, header_mappings_dir: './')
38
37
 
39
38
  add_rn_third_party_dependencies(s)
40
39
  add_rncore_dependency(s)
@@ -14,14 +14,14 @@
14
14
 
15
15
  #define REACT_NATIVE_VERSION_MAJOR 0
16
16
  #define REACT_NATIVE_VERSION_MINOR 81
17
- #define REACT_NATIVE_VERSION_PATCH 0
17
+ #define REACT_NATIVE_VERSION_PATCH 2
18
18
 
19
19
  namespace facebook::react {
20
20
 
21
21
  constexpr struct {
22
22
  int32_t Major = 0;
23
23
  int32_t Minor = 81;
24
- int32_t Patch = 0;
24
+ int32_t Patch = 2;
25
25
  std::string_view Prerelease = "";
26
26
  } ReactNativeVersion;
27
27
 
@@ -26,7 +26,7 @@ target_link_libraries(hermes_executor_common
26
26
  )
27
27
 
28
28
  target_compile_reactnative_options(hermes_executor_common PRIVATE)
29
- if(${CMAKE_BUILD_TYPE} MATCHES Debug)
29
+ if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
30
30
  target_compile_options(
31
31
  hermes_executor_common
32
32
  PRIVATE
@@ -32,10 +32,7 @@ Pod::Spec.new do |s|
32
32
  "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
33
33
  "GCC_WARN_PEDANTIC" => "YES" }
34
34
 
35
- if ENV['USE_FRAMEWORKS']
36
- s.header_mappings_dir = './'
37
- s.module_name = 'React_jsitracing'
38
- end
35
+ resolve_use_frameworks(s, header_mappings_dir: './', module_name: "React_jsitracing")
39
36
 
40
37
  s.dependency "React-jsi"
41
38
  end
@@ -17,7 +17,7 @@ add_library(hermes_inspector_modern
17
17
 
18
18
  target_compile_reactnative_options(hermes_inspector_modern PRIVATE)
19
19
 
20
- if(${CMAKE_BUILD_TYPE} MATCHES Debug)
20
+ if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
21
21
  target_compile_options(
22
22
  hermes_inspector_modern
23
23
  PRIVATE
@@ -33,10 +33,8 @@ Pod::Spec.new do |s|
33
33
  "USE_HEADERMAP" => "YES",
34
34
  "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard()
35
35
  }
36
- if ENV['USE_FRAMEWORKS'] && ReactNativeCoreUtils.build_rncore_from_source()
37
- s.header_mappings_dir = '../'
38
- s.module_name = 'React_jserrorhandler'
39
- end
36
+
37
+ resolve_use_frameworks(s, header_mappings_dir: '../', module_name: "React_jserrorhandler")
40
38
 
41
39
  s.dependency "React-jsi"
42
40
  s.dependency "React-cxxreact"
@@ -27,7 +27,9 @@ target_link_libraries(jsinspector
27
27
  runtimeexecutor
28
28
  )
29
29
  target_compile_reactnative_options(jsinspector PRIVATE)
30
- target_compile_options(jsinspector PRIVATE
31
- $<$<CONFIG:Debug>:-DREACT_NATIVE_DEBUGGER_ENABLED=1>
32
- $<$<CONFIG:Debug>:-DREACT_NATIVE_DEBUGGER_ENABLED_DEVONLY=1>
33
- )
30
+ if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
31
+ target_compile_options(jsinspector PRIVATE
32
+ -DREACT_NATIVE_DEBUGGER_ENABLED=1
33
+ -DREACT_NATIVE_DEBUGGER_ENABLED_DEVONLY=1
34
+ )
35
+ endif ()
@@ -44,10 +44,9 @@ Pod::Spec.new do |s|
44
44
  "PUBLIC_HEADERS_FOLDER_PATH" => "#{module_name}.framework/Headers/#{header_dir}"
45
45
  } : {})
46
46
 
47
- if ENV['USE_FRAMEWORKS']
48
- s.module_name = module_name
49
- end
47
+ resolve_use_frameworks(s, module_name: module_name)
50
48
 
49
+ add_dependency(s, "React-oscompat") # Needed for USE_FRAMEWORKS=dynamic
51
50
  s.dependency "React-featureflags"
52
51
  add_dependency(s, "React-runtimeexecutor", :additional_framework_paths => ["platform/ios"])
53
52
  s.dependency "React-jsi"
@@ -41,10 +41,7 @@ Pod::Spec.new do |s|
41
41
  "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
42
42
  "DEFINES_MODULE" => "YES"}
43
43
 
44
- if ENV['USE_FRAMEWORKS'] && ReactNativeCoreUtils.build_rncore_from_source()
45
- s.module_name = module_name
46
- s.header_mappings_dir = "../.."
47
- end
44
+ resolve_use_frameworks(s, header_mappings_dir: "../..", module_name: module_name)
48
45
 
49
46
  add_rn_third_party_dependencies(s)
50
47
  add_rncore_dependency(s)
@@ -41,10 +41,7 @@ Pod::Spec.new do |s|
41
41
  "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
42
42
  "DEFINES_MODULE" => "YES"}
43
43
 
44
- if ENV['USE_FRAMEWORKS'] && ReactNativeCoreUtils.build_rncore_from_source()
45
- s.module_name = module_name
46
- s.header_mappings_dir = "../.."
47
- end
44
+ resolve_use_frameworks(s, header_mappings_dir: "../..", module_name: module_name)
48
45
 
49
46
  add_dependency(s, "React-jsinspectorcdp", :framework_name => 'jsinspector_moderncdp')
50
47
  add_dependency(s, "React-featureflags")
@@ -41,10 +41,7 @@ Pod::Spec.new do |s|
41
41
  "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
42
42
  "DEFINES_MODULE" => "YES"}
43
43
 
44
- if ENV['USE_FRAMEWORKS'] && ReactNativeCoreUtils.build_rncore_from_source()
45
- s.module_name = module_name
46
- s.header_mappings_dir = "../.."
47
- end
44
+ resolve_use_frameworks(s, header_mappings_dir: "../..", module_name: module_name)
48
45
 
49
46
  s.dependency "React-oscompat"
50
47
  s.dependency "React-timing"
@@ -28,10 +28,7 @@ Pod::Spec.new do |s|
28
28
  s.source_files = podspec_sources("react/runtime/*.{cpp,h}", "react/runtime/*.h")
29
29
  s.header_dir = "react/runtime"
30
30
 
31
- if ENV['USE_FRAMEWORKS'] && ReactNativeCoreUtils.build_rncore_from_source()
32
- s.module_name = "JSITooling"
33
- s.header_mappings_dir = "./"
34
- end
31
+ resolve_use_frameworks(s, header_mappings_dir: "./", module_name: "JSITooling")
35
32
 
36
33
  s.pod_target_xcconfig = {
37
34
  "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
@@ -21,6 +21,6 @@ endif()
21
21
 
22
22
  target_compile_reactnative_options(react_debug PRIVATE)
23
23
  target_compile_options(react_debug PRIVATE -Wpedantic)
24
- if(NOT ${CMAKE_BUILD_TYPE} MATCHES Debug)
24
+ if(NOT ${CMAKE_BUILD_TYPE} MATCHES Debug AND NOT REACT_NATIVE_DEBUG_OPTIMIZED)
25
25
  target_compile_options(react_debug PUBLIC -DNDEBUG)
26
26
  endif()
@@ -30,8 +30,5 @@ Pod::Spec.new do |s|
30
30
  s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
31
31
  "DEFINES_MODULE" => "YES" }
32
32
 
33
- if ENV['USE_FRAMEWORKS'] && ReactNativeCoreUtils.build_rncore_from_source()
34
- s.module_name = "React_debug"
35
- s.header_mappings_dir = "../.."
36
- end
33
+ resolve_use_frameworks(s, header_mappings_dir: "../..", module_name: "React_debug")
37
34
  end
@@ -37,10 +37,7 @@ Pod::Spec.new do |s|
37
37
  "HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
38
38
  "DEFINES_MODULE" => "YES" }
39
39
 
40
- if ENV['USE_FRAMEWORKS'] && ReactNativeCoreUtils.build_rncore_from_source()
41
- s.module_name = "React_featureflags"
42
- s.header_mappings_dir = "../.."
43
- end
40
+ resolve_use_frameworks(s, header_mappings_dir: "../..", module_name: "React_featureflags")
44
41
 
45
42
  add_rn_third_party_dependencies(s)
46
43
  add_rncore_dependency(s)
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<f73bbcd926a835c09b70d814c6662dbb>>
7
+ * @generated SignedSource<<2cabd888b74b84201ff027457efc6007>>
8
8
  */
9
9
 
10
10
  /**
@@ -234,6 +234,14 @@ bool ReactNativeFeatureFlags::useFabricInterop() {
234
234
  return getAccessor().useFabricInterop();
235
235
  }
236
236
 
237
+ bool ReactNativeFeatureFlags::useNativeEqualsInNativeReadableArrayAndroid() {
238
+ return getAccessor().useNativeEqualsInNativeReadableArrayAndroid();
239
+ }
240
+
241
+ bool ReactNativeFeatureFlags::useNativeTransformHelperAndroid() {
242
+ return getAccessor().useNativeTransformHelperAndroid();
243
+ }
244
+
237
245
  bool ReactNativeFeatureFlags::useNativeViewConfigsInBridgelessMode() {
238
246
  return getAccessor().useNativeViewConfigsInBridgelessMode();
239
247
  }
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<da14545268455bfd4cd35e5c2ecf81ee>>
7
+ * @generated SignedSource<<e26a0c35f1499abf24e46275bbcbe06d>>
8
8
  */
9
9
 
10
10
  /**
@@ -299,6 +299,16 @@ class ReactNativeFeatureFlags {
299
299
  */
300
300
  RN_EXPORT static bool useFabricInterop();
301
301
 
302
+ /**
303
+ * Use a native implementation of equals in NativeReadableArray.
304
+ */
305
+ RN_EXPORT static bool useNativeEqualsInNativeReadableArrayAndroid();
306
+
307
+ /**
308
+ * Use a native implementation of TransformHelper
309
+ */
310
+ RN_EXPORT static bool useNativeTransformHelperAndroid();
311
+
302
312
  /**
303
313
  * When enabled, the native view configs are used in bridgeless mode.
304
314
  */