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.
- package/Libraries/Components/Switch/Switch.js +1 -1
- package/Libraries/Components/TextInput/TextInput.js +6 -1
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/React/Base/RCTUtils.h +1 -0
- package/React/Base/RCTUtils.mm +12 -0
- package/React/Base/RCTVersion.m +1 -1
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +12 -0
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +18 -0
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.cpp +0 -1
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.h +0 -1
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.cpp +0 -1
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.h +0 -11
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/States.h +0 -2
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +22 -0
- package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -1
- package/React/React-RCTFBReactNativeSpec.podspec +1 -4
- package/React/React-RCTFabric.podspec +1 -0
- package/React/Runtime/React-RCTRuntime.podspec +1 -3
- package/ReactAndroid/build.gradle.kts +10 -1
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/hermes-engine/build.gradle.kts +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.kt +9 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +13 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +21 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +23 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +19 -0
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +29 -1
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +7 -1
- package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +3 -1
- package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +2 -1
- package/ReactAndroid/src/main/jni/react/jni/NativeArray.h +4 -0
- package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +2 -0
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.cpp +6 -0
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.h +1 -0
- package/ReactAndroid/src/main/jni/react/jni/TransformHelper.cpp +60 -0
- package/ReactAndroid/src/main/jni/react/jni/TransformHelper.h +22 -0
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +3 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +3 -1
- package/ReactCommon/React-Fabric.podspec +1 -4
- package/ReactCommon/React-FabricComponents.podspec +9 -4
- package/ReactCommon/React-FabricImage.podspec +1 -4
- package/ReactCommon/React-Mapbuffer.podspec +1 -4
- package/ReactCommon/ReactCommon.podspec +2 -3
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/hermes/executor/CMakeLists.txt +1 -1
- package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -4
- package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +1 -1
- package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +2 -4
- package/ReactCommon/jsinspector-modern/CMakeLists.txt +6 -4
- package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +2 -3
- package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +1 -4
- package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +1 -4
- package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -4
- package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -4
- package/ReactCommon/react/debug/CMakeLists.txt +1 -1
- package/ReactCommon/react/debug/React-debug.podspec +1 -4
- package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -4
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +9 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +11 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +44 -8
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +6 -2
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +9 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +19 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +9 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +3 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +2 -3
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -4
- package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +1 -4
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +11 -1
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +5 -1
- package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -4
- package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -4
- package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -4
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +2 -0
- package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -4
- package/ReactCommon/react/renderer/components/switch/iosswitch/react/renderer/components/switch/AppleSwitchComponentDescriptor.h +30 -0
- package/ReactCommon/react/renderer/components/switch/iosswitch/react/renderer/components/switch/AppleSwitchShadowNode.h +42 -0
- package/ReactCommon/react/renderer/components/switch/iosswitch/react/renderer/components/switch/IOSSwitchShadowNode.mm +28 -0
- package/ReactCommon/react/renderer/components/switch/iosswitch/react/renderer/components/switch/MacOSSwitchShadowNode.mm +32 -0
- package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +2 -1
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +8 -2
- package/ReactCommon/react/renderer/components/view/BaseViewProps.h +5 -0
- package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +2 -4
- package/ReactCommon/react/renderer/css/React-renderercss.podspec +2 -5
- package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -4
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +3 -3
- package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -4
- package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -4
- package/ReactCommon/react/runtime/CMakeLists.txt +3 -1
- package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -4
- package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -4
- package/ReactCommon/react/runtime/hermes/CMakeLists.txt +1 -1
- package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -4
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +1 -0
- package/ReactCommon/react/timing/React-timing.podspec +3 -4
- package/ReactCommon/react/utils/React-utils.podspec +3 -3
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +3 -2
- package/package.json +8 -8
- package/scripts/cocoapods/autolinking.rb +6 -0
- package/scripts/cocoapods/codegen_utils.rb +1 -1
- package/scripts/cocoapods/new_architecture.rb +1 -0
- package/scripts/cocoapods/utils.rb +15 -1
- package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +3 -3
- package/scripts/codegen/generate-artifacts-executor/index.js +5 -1
- package/scripts/codegen/generate-artifacts-executor/utils.js +41 -10
- package/scripts/codegen/templates/ReactCodegen.podspec.template +1 -0
- package/scripts/react-native-xcode.sh +2 -2
- package/scripts/react_native_pods.rb +21 -0
- package/scripts/replace-rncore-version.js +4 -2
- package/scripts/xcode/with-environment.sh +1 -1
- package/sdks/hermes-engine/utils/replace_hermes_version.js +4 -2
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +11 -1
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +3 -1
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +1 -0
- package/third-party-podspecs/ReactNativeDependencies.podspec +1 -1
- package/third-party-podspecs/replace_dependencies_version.js +4 -2
|
@@ -34,10 +34,7 @@ Pod::Spec.new do |s|
|
|
|
34
34
|
s.source_files = podspec_sources(source_files, "**/*.h")
|
|
35
35
|
s.header_dir = "react/renderer/imagemanager"
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
s.module_name = "React_ImageManager"
|
|
39
|
-
s.header_mappings_dir = "./"
|
|
40
|
-
end
|
|
37
|
+
resolve_use_frameworks(s, header_mappings_dir: "./", module_name: "React_ImageManager")
|
|
41
38
|
|
|
42
39
|
s.pod_target_xcconfig = {
|
|
43
40
|
"USE_HEADERMAP" => "NO",
|
|
@@ -38,10 +38,7 @@ Pod::Spec.new do |s|
|
|
|
38
38
|
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
39
39
|
"HEADER_SEARCH_PATHS" => header_search_paths.join(' ')}
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
s.module_name = "React_runtimescheduler"
|
|
43
|
-
s.header_mappings_dir = "../../.."
|
|
44
|
-
end
|
|
41
|
+
resolve_use_frameworks(s, header_mappings_dir: "../../..", module_name: "React_runtimescheduler")
|
|
45
42
|
|
|
46
43
|
add_dependency(s, "React-runtimeexecutor", :additional_framework_paths => ["platform/ios"])
|
|
47
44
|
s.dependency "React-callinvoker"
|
|
@@ -16,7 +16,9 @@ add_library(bridgeless
|
|
|
16
16
|
${bridgeless_SRC}
|
|
17
17
|
)
|
|
18
18
|
target_compile_reactnative_options(bridgeless PRIVATE)
|
|
19
|
-
|
|
19
|
+
if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
|
|
20
|
+
target_compile_options(bridgeless PRIVATE -DHERMES_ENABLE_DEBUGGER=1)
|
|
21
|
+
endif ()
|
|
20
22
|
target_include_directories(bridgeless PUBLIC .)
|
|
21
23
|
|
|
22
24
|
react_native_android_selector(fabricjni fabricjni "")
|
|
@@ -33,10 +33,7 @@ Pod::Spec.new do |s|
|
|
|
33
33
|
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
34
34
|
"GCC_WARN_PEDANTIC" => "YES" }
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
s.header_mappings_dir = '../../'
|
|
38
|
-
s.module_name = 'React_RuntimeCore'
|
|
39
|
-
end
|
|
36
|
+
resolve_use_frameworks(s, header_mappings_dir: "../..", module_name: "React_RuntimeCore")
|
|
40
37
|
|
|
41
38
|
s.dependency "React-jsiexecutor"
|
|
42
39
|
s.dependency "React-cxxreact"
|
|
@@ -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
|
-
|
|
36
|
-
s.header_mappings_dir = '../../'
|
|
37
|
-
s.module_name = 'React_RuntimeHermes'
|
|
38
|
-
end
|
|
35
|
+
resolve_use_frameworks(s, header_mappings_dir: "../../", module_name: "React_RuntimeHermes")
|
|
39
36
|
|
|
40
37
|
s.dependency "React-jsitracing"
|
|
41
38
|
s.dependency "React-jsi"
|
|
@@ -29,7 +29,7 @@ target_link_libraries(bridgelesshermes
|
|
|
29
29
|
)
|
|
30
30
|
|
|
31
31
|
target_compile_reactnative_options(bridgelesshermes PRIVATE)
|
|
32
|
-
if(${CMAKE_BUILD_TYPE} MATCHES Debug)
|
|
32
|
+
if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
|
|
33
33
|
target_compile_options(
|
|
34
34
|
bridgelesshermes
|
|
35
35
|
PRIVATE
|
|
@@ -38,10 +38,7 @@ Pod::Spec.new do |s|
|
|
|
38
38
|
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
39
39
|
"GCC_WARN_PEDANTIC" => "YES" }
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
s.header_mappings_dir = './'
|
|
43
|
-
s.module_name = 'React_RuntimeApple'
|
|
44
|
-
end
|
|
41
|
+
resolve_use_frameworks(s, header_mappings_dir: "./", module_name: "React_RuntimeApple")
|
|
45
42
|
|
|
46
43
|
s.dependency "React-jsiexecutor"
|
|
47
44
|
s.dependency "React-cxxreact"
|
|
@@ -37,8 +37,7 @@ Pod::Spec.new do |s|
|
|
|
37
37
|
"HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
|
|
38
38
|
"DEFINES_MODULE" => "YES" }
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
end
|
|
40
|
+
resolve_use_frameworks(s, header_mappings_dir: "./", module_name: "React_timing")
|
|
41
|
+
|
|
42
|
+
add_dependency(s, "React-debug")
|
|
44
43
|
end
|
|
@@ -34,12 +34,12 @@ Pod::Spec.new do |s|
|
|
|
34
34
|
s.header_dir = "react/utils"
|
|
35
35
|
s.exclude_files = "tests"
|
|
36
36
|
|
|
37
|
-
if ENV['USE_FRAMEWORKS']
|
|
38
|
-
s.module_name = "React_utils"
|
|
39
|
-
s.header_mappings_dir = "../.."
|
|
37
|
+
if ENV['USE_FRAMEWORKS']
|
|
40
38
|
header_search_paths = header_search_paths + ["\"$(PODS_TARGET_SRCROOT)/platform/ios\""]
|
|
41
39
|
end
|
|
42
40
|
|
|
41
|
+
resolve_use_frameworks(s, header_mappings_dir: "../..", module_name: "React_utils")
|
|
42
|
+
|
|
43
43
|
s.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
|
|
44
44
|
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
45
45
|
"HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
|
|
@@ -33,11 +33,12 @@ Pod::Spec.new do |s|
|
|
|
33
33
|
s.source_files = podspec_sources(["ReactCommon/*.{m,mm,cpp,h}", "platform/ios/**/*.{m,mm,cpp,h}"], ["ReactCommon/*.h", "platform/ios/**/*.h"])
|
|
34
34
|
s.header_dir = "ReactCommon"
|
|
35
35
|
|
|
36
|
-
if ENV['USE_FRAMEWORKS']
|
|
37
|
-
s.header_mappings_dir = '.'
|
|
36
|
+
if ENV['USE_FRAMEWORKS']
|
|
38
37
|
header_search_paths = header_search_paths + ["\"$(PODS_TARGET_SRCROOT)/platform/ios\""]
|
|
39
38
|
end
|
|
40
39
|
|
|
40
|
+
resolve_use_frameworks(s, header_mappings_dir: ".")
|
|
41
|
+
|
|
41
42
|
s.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
|
|
42
43
|
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
43
44
|
"HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native",
|
|
3
|
-
"version": "0.81.
|
|
3
|
+
"version": "0.81.2",
|
|
4
4
|
"description": "A framework for building native apps using React",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -162,13 +162,13 @@
|
|
|
162
162
|
},
|
|
163
163
|
"dependencies": {
|
|
164
164
|
"@jest/create-cache-key-function": "^29.7.0",
|
|
165
|
-
"@react-native/assets-registry": "0.81.
|
|
166
|
-
"@react-native/codegen": "0.81.
|
|
167
|
-
"@react-native/community-cli-plugin": "0.81.
|
|
168
|
-
"@react-native/gradle-plugin": "0.81.
|
|
169
|
-
"@react-native/js-polyfills": "0.81.
|
|
170
|
-
"@react-native/normalize-colors": "0.81.
|
|
171
|
-
"@react-native/virtualized-lists": "0.81.
|
|
165
|
+
"@react-native/assets-registry": "0.81.2",
|
|
166
|
+
"@react-native/codegen": "0.81.2",
|
|
167
|
+
"@react-native/community-cli-plugin": "0.81.2",
|
|
168
|
+
"@react-native/gradle-plugin": "0.81.2",
|
|
169
|
+
"@react-native/js-polyfills": "0.81.2",
|
|
170
|
+
"@react-native/normalize-colors": "0.81.2",
|
|
171
|
+
"@react-native/virtualized-lists": "0.81.2",
|
|
172
172
|
"abort-controller": "^3.0.0",
|
|
173
173
|
"anser": "^1.4.9",
|
|
174
174
|
"ansi-regex": "^5.0.0",
|
|
@@ -40,6 +40,12 @@ def list_native_modules!(config_command)
|
|
|
40
40
|
packages = config["dependencies"]
|
|
41
41
|
ios_project_root = Pathname.new(config["project"]["ios"]["sourceDir"])
|
|
42
42
|
react_native_path = Pathname.new(config["reactNativePath"])
|
|
43
|
+
codegen_output_path = ios_project_root.join("build/generated/autolinking/autolinking.json")
|
|
44
|
+
|
|
45
|
+
# Write autolinking react-native-config output to codegen folder
|
|
46
|
+
FileUtils.mkdir_p(File.dirname(codegen_output_path))
|
|
47
|
+
File.write(codegen_output_path, json)
|
|
48
|
+
|
|
43
49
|
found_pods = []
|
|
44
50
|
|
|
45
51
|
packages.each do |package_name, package|
|
|
@@ -87,7 +87,7 @@ class CodegenUtils
|
|
|
87
87
|
codegen_path = file_manager.join(ios_folder, codegen_dir)
|
|
88
88
|
return if !dir_manager.exist?(codegen_path)
|
|
89
89
|
|
|
90
|
-
FileUtils.rm_rf(
|
|
90
|
+
FileUtils.rm_rf("#{codegen_path}")
|
|
91
91
|
base_provider_path = file_manager.join(rn_path, 'React', 'Fabric', 'RCTThirdPartyFabricComponentsProvider')
|
|
92
92
|
FileUtils.rm_rf("#{base_provider_path}.h")
|
|
93
93
|
FileUtils.rm_rf("#{base_provider_path}.mm")
|
|
@@ -85,6 +85,7 @@ class NewArchitectureHelper
|
|
|
85
85
|
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-Fabric", "React_Fabric", ["react/renderer/components/view/platform/cxx"]))
|
|
86
86
|
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-FabricImage", "React_FabricImage", []))
|
|
87
87
|
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "ReactCommon", "ReactCommon", ["react/nativemodule/core"]))
|
|
88
|
+
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-runtimeexecutor", "React_runtimeexecutor", ["platform/ios"]))
|
|
88
89
|
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-NativeModulesApple", "React_NativeModulesApple", []))
|
|
89
90
|
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-RCTFabric", "RCTFabric", []))
|
|
90
91
|
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-utils", "React_utils", []))
|
|
@@ -258,7 +258,8 @@ class ReactNativePodsUtils
|
|
|
258
258
|
search_paths = []
|
|
259
259
|
|
|
260
260
|
# When building using the prebuilt rncore we can't use framework folders as search paths since these aren't created
|
|
261
|
-
|
|
261
|
+
# Except for when adding search path for ReactCodegen since it contains source code.
|
|
262
|
+
if ReactNativeCoreUtils.build_rncore_from_source() || pod_name === "ReactCodegen"
|
|
262
263
|
platforms = $RN_PLATFORMS != nil ? $RN_PLATFORMS : []
|
|
263
264
|
|
|
264
265
|
if platforms.empty?() || platforms.length() == 1
|
|
@@ -313,6 +314,7 @@ class ReactNativePodsUtils
|
|
|
313
314
|
header_search_paths = config.build_settings["HEADER_SEARCH_PATHS"] ||= "$(inherited)"
|
|
314
315
|
|
|
315
316
|
ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "ReactCommon", "ReactCommon", ["react/nativemodule/core"])
|
|
317
|
+
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-runtimeexecutor", "React_runtimeexecutor", ["platform/ios"]))
|
|
316
318
|
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "ReactCommon-Samples", "ReactCommon_Samples", ["platform/ios"]))
|
|
317
319
|
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-Fabric", "React_Fabric", ["react/renderer/components/view/platform/cxx"], false))
|
|
318
320
|
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-NativeModulesApple", "React_NativeModulesApple", []))
|
|
@@ -563,6 +565,7 @@ class ReactNativePodsUtils
|
|
|
563
565
|
|
|
564
566
|
def self.set_reactcommon_searchpaths(target_installation_result)
|
|
565
567
|
header_search_paths = ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "ReactCommon", "ReactCommon", ["react/nativemodule/core"])
|
|
568
|
+
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-runtimeexecutor", "React_runtimeexecutor", ["platform/ios"]))
|
|
566
569
|
.map { |search_path| "\"#{search_path}\"" }
|
|
567
570
|
ReactNativePodsUtils.update_header_paths_if_depends_on(target_installation_result, "ReactCommon", header_search_paths)
|
|
568
571
|
end
|
|
@@ -699,4 +702,15 @@ class ReactNativePodsUtils
|
|
|
699
702
|
end
|
|
700
703
|
end
|
|
701
704
|
end
|
|
705
|
+
|
|
706
|
+
def self.resolve_use_frameworks(spec, header_mappings_dir: nil, module_name: nil)
|
|
707
|
+
return unless ENV['USE_FRAMEWORKS']
|
|
708
|
+
if module_name
|
|
709
|
+
spec.module_name = module_name
|
|
710
|
+
end
|
|
711
|
+
|
|
712
|
+
if header_mappings_dir != nil && ReactNativeCoreUtils.build_rncore_from_source()
|
|
713
|
+
spec.header_mappings_dir = header_mappings_dir
|
|
714
|
+
end
|
|
715
|
+
end
|
|
702
716
|
end
|
|
@@ -83,9 +83,9 @@ export RCT_SCRIPT_APP_PATH="$RCT_SCRIPT_POD_INSTALLATION_ROOT/${relativeAppPath.
|
|
|
83
83
|
export RCT_SCRIPT_OUTPUT_DIR="$RCT_SCRIPT_POD_INSTALLATION_ROOT"
|
|
84
84
|
export RCT_SCRIPT_TYPE="withCodegenDiscovery"
|
|
85
85
|
|
|
86
|
-
SCRIPT_PHASES_SCRIPT="$RCT_SCRIPT_RN_DIR/scripts/react_native_pods_utils/script_phases.sh"
|
|
87
|
-
WITH_ENVIRONMENT="$RCT_SCRIPT_RN_DIR/scripts/xcode/with-environment.sh"
|
|
88
|
-
/bin/sh -c "$WITH_ENVIRONMENT $SCRIPT_PHASES_SCRIPT"
|
|
86
|
+
export SCRIPT_PHASES_SCRIPT="$RCT_SCRIPT_RN_DIR/scripts/react_native_pods_utils/script_phases.sh"
|
|
87
|
+
export WITH_ENVIRONMENT="$RCT_SCRIPT_RN_DIR/scripts/xcode/with-environment.sh"
|
|
88
|
+
/bin/sh -c '"$WITH_ENVIRONMENT" "$SCRIPT_PHASES_SCRIPT"'
|
|
89
89
|
SCRIPT`;
|
|
90
90
|
}
|
|
91
91
|
|
|
@@ -86,10 +86,14 @@ function execute(
|
|
|
86
86
|
buildCodegenIfNeeded();
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
const reactNativeConfig = readReactNativeConfig(
|
|
89
|
+
const reactNativeConfig = readReactNativeConfig(
|
|
90
|
+
projectRoot,
|
|
91
|
+
baseOutputPath,
|
|
92
|
+
);
|
|
90
93
|
const codegenEnabledLibraries = findCodegenEnabledLibraries(
|
|
91
94
|
pkgJson,
|
|
92
95
|
projectRoot,
|
|
96
|
+
baseOutputPath,
|
|
93
97
|
reactNativeConfig,
|
|
94
98
|
);
|
|
95
99
|
|
|
@@ -97,15 +97,40 @@ function cleanupEmptyFilesAndFolders(filepath /*: string */) {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
function
|
|
101
|
-
|
|
100
|
+
function readGeneratedAutolinkingOutput(
|
|
101
|
+
baseOutputPath /*: string */,
|
|
102
|
+
) /*: $FlowFixMe */ {
|
|
103
|
+
// NOTE: Generated by scripts/cocoapods/autolinking.rb in list_native_modules (called by use_native_modules)
|
|
104
|
+
const autolinkingGeneratedPath = path.resolve(
|
|
105
|
+
baseOutputPath,
|
|
106
|
+
'build/generated/autolinking/autolinking.json',
|
|
107
|
+
);
|
|
108
|
+
if (fs.existsSync(autolinkingGeneratedPath)) {
|
|
109
|
+
// $FlowFixMe[unsupported-syntax]
|
|
110
|
+
return require(autolinkingGeneratedPath);
|
|
111
|
+
} else {
|
|
112
|
+
codegenLog(
|
|
113
|
+
`Could not find generated autolinking output at: ${autolinkingGeneratedPath}`,
|
|
114
|
+
);
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
102
118
|
|
|
103
|
-
|
|
119
|
+
function readReactNativeConfig(
|
|
120
|
+
projectRoot /*: string */,
|
|
121
|
+
baseOutputPath /*: string */,
|
|
122
|
+
) /*: $FlowFixMe */ {
|
|
123
|
+
const autolinkingOutput = readGeneratedAutolinkingOutput(baseOutputPath);
|
|
124
|
+
const rnConfigFilePath = path.resolve(projectRoot, 'react-native.config.js');
|
|
125
|
+
if (autolinkingOutput) {
|
|
126
|
+
return autolinkingOutput;
|
|
127
|
+
} else if (fs.existsSync(rnConfigFilePath)) {
|
|
128
|
+
// $FlowIgnore[unsupported-syntax]
|
|
129
|
+
return require(rnConfigFilePath);
|
|
130
|
+
} else {
|
|
131
|
+
codegenLog(`Could not find React Native config at: ${rnConfigFilePath}`);
|
|
104
132
|
return {};
|
|
105
133
|
}
|
|
106
|
-
|
|
107
|
-
// $FlowIgnore[unsupported-syntax]
|
|
108
|
-
return require(rnConfigFilePath);
|
|
109
134
|
}
|
|
110
135
|
|
|
111
136
|
/**
|
|
@@ -114,17 +139,23 @@ function readReactNativeConfig(projectRoot /*: string */) /*: $FlowFixMe */ {
|
|
|
114
139
|
function findCodegenEnabledLibraries(
|
|
115
140
|
pkgJson /*: $FlowFixMe */,
|
|
116
141
|
projectRoot /*: string */,
|
|
142
|
+
baseOutputPath /*: string */,
|
|
117
143
|
reactNativeConfig /*: $FlowFixMe */,
|
|
118
144
|
) /*: Array<$FlowFixMe> */ {
|
|
119
145
|
const projectLibraries = findProjectRootLibraries(pkgJson, projectRoot);
|
|
120
146
|
if (pkgJsonIncludesGeneratedCode(pkgJson)) {
|
|
121
147
|
return projectLibraries;
|
|
122
148
|
} else {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
149
|
+
const libraries = [...projectLibraries];
|
|
150
|
+
// If we ran autolinking, we shouldn't try to run our own "autolinking-like"
|
|
151
|
+
// library discovery
|
|
152
|
+
if (!readGeneratedAutolinkingOutput(baseOutputPath)) {
|
|
153
|
+
libraries.push(...findExternalLibraries(pkgJson, projectRoot));
|
|
154
|
+
}
|
|
155
|
+
libraries.push(
|
|
126
156
|
...findLibrariesFromReactNativeConfig(projectRoot, reactNativeConfig),
|
|
127
|
-
|
|
157
|
+
);
|
|
158
|
+
return libraries;
|
|
128
159
|
}
|
|
129
160
|
}
|
|
130
161
|
|
|
@@ -33,6 +33,7 @@ if use_frameworks
|
|
|
33
33
|
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-FabricImage", "React_FabricImage", []))
|
|
34
34
|
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-graphics", "React_graphics", ["react/renderer/graphics/platform/ios"]))
|
|
35
35
|
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "ReactCommon", "ReactCommon", ["react/nativemodule/core"]))
|
|
36
|
+
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-runtimeexecutor", "React_runtimeexecutor", ["platform/ios"]))
|
|
36
37
|
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-NativeModulesApple", "React_NativeModulesApple", []))
|
|
37
38
|
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-RCTFabric", "RCTFabric", []))
|
|
38
39
|
.concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-debug", "React_debug", []))
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
# Print commands before executing them (useful for troubleshooting)
|
|
12
12
|
set -x -e
|
|
13
|
-
DEST
|
|
13
|
+
DEST="$CONFIGURATION_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH"
|
|
14
14
|
|
|
15
15
|
# Enables iOS devices to get the IP address of the machine running Metro
|
|
16
16
|
if [[ ! "$SKIP_BUNDLING_METRO_IP" && "$CONFIGURATION" = *Debug* && ! "$PLATFORM_NAME" == *simulator ]]; then
|
|
@@ -59,7 +59,7 @@ esac
|
|
|
59
59
|
# Path to react-native folder inside node_modules
|
|
60
60
|
REACT_NATIVE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
61
61
|
# Most projects have their project root, one level up from their Xcode project dir (the "ios" directory)
|
|
62
|
-
PROJECT_ROOT
|
|
62
|
+
PROJECT_ROOT="${PROJECT_ROOT:-"$PROJECT_DIR/.."}"
|
|
63
63
|
|
|
64
64
|
cd "$PROJECT_ROOT" || exit
|
|
65
65
|
|
|
@@ -229,6 +229,20 @@ def folly_flags()
|
|
|
229
229
|
return NewArchitectureHelper.folly_compiler_flags
|
|
230
230
|
end
|
|
231
231
|
|
|
232
|
+
# Resolve the spec for use with the USE_FRAMEWORKS environment variable. To avoid each podspec
|
|
233
|
+
# to manually specify the header mappings and module name, we can use this helper function.
|
|
234
|
+
# This helper will also resolve header mappings if we're building from source. Precompiled
|
|
235
|
+
# React-Core will not generate frameworks since their podspec files only contains the
|
|
236
|
+
# header files and no source code - so header_mappings should be the same as for without USE_FRAMEWORKS
|
|
237
|
+
#
|
|
238
|
+
# Parameters:
|
|
239
|
+
# - s: the spec to modify
|
|
240
|
+
# - header_mappings_dir: the directory to map headers when building Pod header structure
|
|
241
|
+
# - module_name: the name of the module when exposed to swift
|
|
242
|
+
def resolve_use_frameworks(spec, header_mappings_dir: nil, module_name: nil)
|
|
243
|
+
ReactNativePodsUtils.resolve_use_frameworks(spec, :header_mappings_dir => header_mappings_dir, :module_name => module_name)
|
|
244
|
+
end
|
|
245
|
+
|
|
232
246
|
# Add a dependency to a spec, making sure that the HEADER_SERACH_PATHS are set properly.
|
|
233
247
|
# This function automate the requirement to specify the HEADER_SEARCH_PATHS which was error prone
|
|
234
248
|
# and hard to pull out properly to begin with.
|
|
@@ -483,6 +497,13 @@ def react_native_post_install(
|
|
|
483
497
|
ReactNativePodsUtils.updateOSDeploymentTarget(installer)
|
|
484
498
|
ReactNativePodsUtils.set_dynamic_frameworks_flags(installer)
|
|
485
499
|
ReactNativePodsUtils.add_ndebug_flag_to_pods_in_release(installer)
|
|
500
|
+
|
|
501
|
+
if !ReactNativeCoreUtils.build_rncore_from_source()
|
|
502
|
+
# In XCode 26 we need to revert the new setting SWIFT_ENABLE_EXPLICIT_MODULES when building
|
|
503
|
+
# with precompiled binaries.
|
|
504
|
+
ReactNativePodsUtils.set_build_setting(installer, build_setting: "SWIFT_ENABLE_EXPLICIT_MODULES", value: "NO")
|
|
505
|
+
end
|
|
506
|
+
|
|
486
507
|
SPM.apply_on_post_install(installer)
|
|
487
508
|
|
|
488
509
|
if privacy_file_aggregation_enabled
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const {
|
|
13
|
+
const {spawnSync} = require('child_process');
|
|
14
14
|
const fs = require('fs');
|
|
15
15
|
const yargs = require('yargs');
|
|
16
16
|
|
|
@@ -67,7 +67,9 @@ function replaceRNCoreConfiguration(
|
|
|
67
67
|
fs.mkdirSync(finalLocation, {recursive: true});
|
|
68
68
|
|
|
69
69
|
console.log('Extracting the tarball', tarballURLPath);
|
|
70
|
-
|
|
70
|
+
spawnSync('tar', ['-xf', tarballURLPath, '-C', finalLocation], {
|
|
71
|
+
stdio: 'inherit',
|
|
72
|
+
});
|
|
71
73
|
}
|
|
72
74
|
|
|
73
75
|
function updateLastBuildConfiguration(configuration /*: string */) {
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const {
|
|
13
|
+
const {spawnSync} = require('child_process');
|
|
14
14
|
const fs = require('fs');
|
|
15
15
|
const yargs = require('yargs');
|
|
16
16
|
|
|
@@ -62,7 +62,9 @@ function replaceHermesConfiguration(configuration, version, podsRoot) {
|
|
|
62
62
|
fs.mkdirSync(finalLocation, {recursive: true});
|
|
63
63
|
|
|
64
64
|
console.log('Extracting the tarball');
|
|
65
|
-
|
|
65
|
+
spawnSync('tar', ['-xf', tarballURLPath, '-C', finalLocation], {
|
|
66
|
+
stdio: 'inherit',
|
|
67
|
+
});
|
|
66
68
|
}
|
|
67
69
|
|
|
68
70
|
function updateLastBuildConfiguration(configuration) {
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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<<
|
|
7
|
+
* @generated SignedSource<<f17b8e4e33228e19b346837e7a33a2dd>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
* @noformat
|
|
10
10
|
*/
|
|
@@ -103,6 +103,8 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
103
103
|
updateRuntimeShadowNodeReferencesOnCommit: Getter<boolean>,
|
|
104
104
|
useAlwaysAvailableJSErrorHandling: Getter<boolean>,
|
|
105
105
|
useFabricInterop: Getter<boolean>,
|
|
106
|
+
useNativeEqualsInNativeReadableArrayAndroid: Getter<boolean>,
|
|
107
|
+
useNativeTransformHelperAndroid: Getter<boolean>,
|
|
106
108
|
useNativeViewConfigsInBridgelessMode: Getter<boolean>,
|
|
107
109
|
useOptimizedEventBatchingOnAndroid: Getter<boolean>,
|
|
108
110
|
useRawPropsJsiValue: Getter<boolean>,
|
|
@@ -404,6 +406,14 @@ export const useAlwaysAvailableJSErrorHandling: Getter<boolean> = createNativeFl
|
|
|
404
406
|
* Should this application enable the Fabric Interop Layer for Android? If yes, the application will behave so that it can accept non-Fabric components and render them on Fabric. This toggle is controlling extra logic such as custom event dispatching that are needed for the Fabric Interop Layer to work correctly.
|
|
405
407
|
*/
|
|
406
408
|
export const useFabricInterop: Getter<boolean> = createNativeFlagGetter('useFabricInterop', true);
|
|
409
|
+
/**
|
|
410
|
+
* Use a native implementation of equals in NativeReadableArray.
|
|
411
|
+
*/
|
|
412
|
+
export const useNativeEqualsInNativeReadableArrayAndroid: Getter<boolean> = createNativeFlagGetter('useNativeEqualsInNativeReadableArrayAndroid', false);
|
|
413
|
+
/**
|
|
414
|
+
* Use a native implementation of TransformHelper
|
|
415
|
+
*/
|
|
416
|
+
export const useNativeTransformHelperAndroid: Getter<boolean> = createNativeFlagGetter('useNativeTransformHelperAndroid', false);
|
|
407
417
|
/**
|
|
408
418
|
* When enabled, the native view configs are used in bridgeless mode.
|
|
409
419
|
*/
|
|
@@ -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<<
|
|
7
|
+
* @generated SignedSource<<8b4f1275a16d5b83f5594da1eb89c6c1>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
* @noformat
|
|
10
10
|
*/
|
|
@@ -77,6 +77,8 @@ export interface Spec extends TurboModule {
|
|
|
77
77
|
+updateRuntimeShadowNodeReferencesOnCommit?: () => boolean;
|
|
78
78
|
+useAlwaysAvailableJSErrorHandling?: () => boolean;
|
|
79
79
|
+useFabricInterop?: () => boolean;
|
|
80
|
+
+useNativeEqualsInNativeReadableArrayAndroid?: () => boolean;
|
|
81
|
+
+useNativeTransformHelperAndroid?: () => boolean;
|
|
80
82
|
+useNativeViewConfigsInBridgelessMode?: () => boolean;
|
|
81
83
|
+useOptimizedEventBatchingOnAndroid?: () => boolean;
|
|
82
84
|
+useRawPropsJsiValue?: () => boolean;
|
|
@@ -58,4 +58,5 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
|
|
|
58
58
|
export default (codegenNativeComponent<SwitchNativeProps>('Switch', {
|
|
59
59
|
paperComponentName: 'RCTSwitch',
|
|
60
60
|
excludedPlatforms: ['android'],
|
|
61
|
+
interfaceOnly: true,
|
|
61
62
|
}): ComponentType);
|
|
@@ -64,7 +64,7 @@ Pod::Spec.new do |spec|
|
|
|
64
64
|
|
|
65
65
|
cp -R "$HEADERS_PATH/" Headers
|
|
66
66
|
mkdir -p framework/packages/react-native
|
|
67
|
-
cp -R "$XCFRAMEWORK_PATH
|
|
67
|
+
cp -R "$XCFRAMEWORK_PATH/../." framework/packages/react-native/
|
|
68
68
|
find "$XCFRAMEWORK_PATH/.." -type f -exec rm {} +
|
|
69
69
|
find "$CURRENT_PATH" -type d -empty -delete
|
|
70
70
|
CMD
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const {
|
|
13
|
+
const {spawnSync} = require('child_process');
|
|
14
14
|
const fs = require('fs');
|
|
15
15
|
const yargs = require('yargs');
|
|
16
16
|
|
|
@@ -66,7 +66,9 @@ function replaceRNDepsConfiguration(
|
|
|
66
66
|
fs.mkdirSync(finalLocation, {recursive: true});
|
|
67
67
|
|
|
68
68
|
console.log('Extracting the tarball', tarballURLPath);
|
|
69
|
-
|
|
69
|
+
spawnSync('tar', ['-xf', tarballURLPath, '-C', finalLocation], {
|
|
70
|
+
stdio: 'inherit',
|
|
71
|
+
});
|
|
70
72
|
|
|
71
73
|
// Now we need to remove the extra third-party folder as we do in the podspec's prepare-script
|
|
72
74
|
// We need to take the ReactNativeDependencies.xcframework folder and move it up one level
|