diff --git a/.gitignore b/.gitignore index 626d954cfa3f18..1f0cf58341a38e 100644 --- a/.gitignore +++ b/.gitignore @@ -127,6 +127,7 @@ vendor/ /packages/react-native/React/FBReactNativeSpec/FBReactNativeSpec /packages/react-native-codegen/lib /packages/react-native-codegen/tmp/ +/packages/react-native/ReactCommon/react/renderer/components/FBReactNativeComponentSpec/ /packages/react-native/ReactCommon/react/renderer/components/rncore/ /packages/rn-tester/NativeModuleExample/ScreenshotManagerSpec* /**/RCTThirdPartyFabricComponentsProvider.* diff --git a/packages/react-native-codegen/src/generators/modules/GenerateModuleJniH.js b/packages/react-native-codegen/src/generators/modules/GenerateModuleJniH.js index 0bb2b35d15cbf1..a053469b45c4fe 100644 --- a/packages/react-native-codegen/src/generators/modules/GenerateModuleJniH.js +++ b/packages/react-native-codegen/src/generators/modules/GenerateModuleJniH.js @@ -63,7 +63,8 @@ std::shared_ptr ${libraryName}_ModuleProvider(const std::string &mo // Note: this CMakeLists.txt template includes dependencies for both NativeModule and components. const CMakeListsTemplate = ({ libraryName, -}: $ReadOnly<{libraryName: string}>) => { + targetName, +}: $ReadOnly<{libraryName: string, targetName: string}>) => { return `# Copyright (c) Meta Platforms, Inc. and affiliates. # # This source code is licensed under the MIT license found in the @@ -75,20 +76,20 @@ set(CMAKE_VERBOSE_MAKEFILE on) file(GLOB react_codegen_SRCS CONFIGURE_DEPENDS *.cpp react/renderer/components/${libraryName}/*.cpp) add_library( - react_codegen_${libraryName} + react_codegen_${targetName} SHARED \${react_codegen_SRCS} ) -target_include_directories(react_codegen_${libraryName} PUBLIC . react/renderer/components/${libraryName}) +target_include_directories(react_codegen_${targetName} PUBLIC . react/renderer/components/${libraryName}) target_link_libraries( - react_codegen_${libraryName} + react_codegen_${targetName} fbjni folly_runtime glog jsi - ${libraryName !== 'rncore' ? 'react_codegen_rncore' : ''} + ${targetName !== 'rncore' ? 'react_codegen_rncore' : ''} react_debug react_nativemodule_core react_render_componentregistry @@ -105,7 +106,7 @@ target_link_libraries( ) target_compile_options( - react_codegen_${libraryName} + react_codegen_${targetName} PRIVATE -DLOG_TAG=\\"ReactNative\\" -fexceptions @@ -142,9 +143,12 @@ module.exports = { modules: modules, libraryName: libraryName.replace(/-/g, '_'), }); + // Use rncore as target name for backwards compat + const targetName = + libraryName === 'FBReactNativeComponentSpec' ? 'rncore' : libraryName; return new Map([ [`jni/${fileName}`, replacedTemplate], - ['jni/CMakeLists.txt', CMakeListsTemplate({libraryName: libraryName})], + ['jni/CMakeLists.txt', CMakeListsTemplate({libraryName, targetName})], ]); }, }; diff --git a/packages/react-native/React/Fabric/Mounting/ComponentViews/ActivityIndicator/RCTActivityIndicatorViewComponentView.mm b/packages/react-native/React/Fabric/Mounting/ComponentViews/ActivityIndicator/RCTActivityIndicatorViewComponentView.mm index 4d0c75f282ee5d..987d20e82416e9 100644 --- a/packages/react-native/React/Fabric/Mounting/ComponentViews/ActivityIndicator/RCTActivityIndicatorViewComponentView.mm +++ b/packages/react-native/React/Fabric/Mounting/ComponentViews/ActivityIndicator/RCTActivityIndicatorViewComponentView.mm @@ -9,9 +9,9 @@ #import -#import -#import -#import +#import +#import +#import #import "RCTFabricComponentsPlugins.h" diff --git a/packages/react-native/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.h b/packages/react-native/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.h index 9ee08512265621..f7adae2d636e7a 100644 --- a/packages/react-native/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.h +++ b/packages/react-native/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.h @@ -9,7 +9,7 @@ #import -#import +#import @interface RCTDebuggingOverlayComponentView : RCTViewComponentView diff --git a/packages/react-native/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.mm b/packages/react-native/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.mm index f1afbc5b8472f9..ed667d84bbe3c4 100644 --- a/packages/react-native/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.mm +++ b/packages/react-native/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.mm @@ -11,10 +11,10 @@ #import #import -#import -#import -#import -#import +#import +#import +#import +#import #import "RCTFabricComponentsPlugins.h" diff --git a/packages/react-native/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm b/packages/react-native/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm index 6ace11ce5ab012..5bfa3d9514ca8a 100644 --- a/packages/react-native/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +++ b/packages/react-native/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm @@ -12,8 +12,8 @@ #import #import #import +#import #import -#import #import "RCTInputAccessoryContentView.h" #import "RCTFabricComponentsPlugins.h" diff --git a/packages/react-native/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm b/packages/react-native/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm index b0908cd98df32f..99ee0eb0b216bb 100644 --- a/packages/react-native/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +++ b/packages/react-native/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm @@ -10,10 +10,10 @@ #import #import #import +#import +#import #import #import -#import -#import #import "RCTConversions.h" diff --git a/packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm b/packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm index 64b09228a397e5..41af6202aa96e5 100644 --- a/packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +++ b/packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm @@ -7,10 +7,10 @@ #import "RCTPullToRefreshViewComponentView.h" -#import -#import -#import -#import +#import +#import +#import +#import #import #import diff --git a/packages/react-native/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm b/packages/react-native/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm index 941ad9b7f0978e..76323243fef863 100644 --- a/packages/react-native/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +++ b/packages/react-native/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm @@ -9,10 +9,10 @@ #import -#import -#import -#import -#import +#import +#import +#import +#import #import "RCTFabricComponentsPlugins.h" diff --git a/packages/react-native/React/Fabric/Mounting/ComponentViews/UnimplementedComponent/RCTUnimplementedNativeComponentView.mm b/packages/react-native/React/Fabric/Mounting/ComponentViews/UnimplementedComponent/RCTUnimplementedNativeComponentView.mm index fe4c9f6a65b142..633086d51aad68 100644 --- a/packages/react-native/React/Fabric/Mounting/ComponentViews/UnimplementedComponent/RCTUnimplementedNativeComponentView.mm +++ b/packages/react-native/React/Fabric/Mounting/ComponentViews/UnimplementedComponent/RCTUnimplementedNativeComponentView.mm @@ -7,9 +7,9 @@ #import "RCTUnimplementedNativeComponentView.h" -#import -#import -#import +#import +#import +#import using namespace facebook::react; diff --git a/packages/react-native/React/Fabric/Mounting/ComponentViews/UnimplementedView/RCTUnimplementedViewComponentView.mm b/packages/react-native/React/Fabric/Mounting/ComponentViews/UnimplementedView/RCTUnimplementedViewComponentView.mm index b5185677875a13..3818697ea331c0 100644 --- a/packages/react-native/React/Fabric/Mounting/ComponentViews/UnimplementedView/RCTUnimplementedViewComponentView.mm +++ b/packages/react-native/React/Fabric/Mounting/ComponentViews/UnimplementedView/RCTUnimplementedViewComponentView.mm @@ -7,9 +7,9 @@ #import "RCTUnimplementedViewComponentView.h" -#import -#import -#import +#import +#import +#import #import #import diff --git a/packages/react-native/ReactAndroid/build.gradle.kts b/packages/react-native/ReactAndroid/build.gradle.kts index 0c7d24db69ec6e..561fd858cf81e0 100644 --- a/packages/react-native/ReactAndroid/build.gradle.kts +++ b/packages/react-native/ReactAndroid/build.gradle.kts @@ -769,9 +769,7 @@ dependencies { } react { - // TODO: The library name is chosen for parity with Fabric components & iOS - // This should be changed to a more generic name, e.g. `ReactCoreSpec`. - libraryName = "rncore" + libraryName = "FBReactNativeComponentSpec" jsRootDir = file("../src") } diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp index fd8e579865f73b..a41426878dba6e 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp @@ -12,12 +12,12 @@ #include #include +#include #include #include #include #include #include -#include #include #include #include diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp index 386d2ff1d83a44..f9f92f8bdeadd9 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include namespace facebook::react { diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp index ce5c07bf97deca..77e849d10b2ee5 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp @@ -9,8 +9,8 @@ #include +#include #include -#include namespace facebook::react { @@ -90,7 +90,7 @@ std::shared_ptr DefaultTurboModuleManagerDelegate::getTurboModule( return resolvedModule; } } - return rncore_ModuleProvider(name, params); + return FBReactNativeSpec_ModuleProvider(name, params); } } // namespace facebook::react diff --git a/packages/react-native/ReactCommon/React-Fabric.podspec b/packages/react-native/ReactCommon/React-Fabric.podspec index 0423352e654c09..7b81ace03b836d 100644 --- a/packages/react-native/ReactCommon/React-Fabric.podspec +++ b/packages/react-native/ReactCommon/React-Fabric.podspec @@ -156,11 +156,11 @@ Pod::Spec.new do |s| sss.header_dir = "react/renderer/components/modal" end - ss.subspec "rncore" do |sss| + ss.subspec "FBReactNativeComponentSpec" do |sss| sss.dependency folly_dep_name, folly_version sss.compiler_flags = folly_compiler_flags - sss.source_files = "react/renderer/components/rncore/**/*.{m,mm,cpp,h}" - sss.header_dir = "react/renderer/components/rncore" + sss.source_files = "react/renderer/components/FBReactNativeComponentSpec/**/*.{m,mm,cpp,h}" + sss.header_dir = "react/renderer/components/FBReactNativeComponentSpec" end ss.subspec "root" do |sss| @@ -296,13 +296,13 @@ Pod::Spec.new do |s| s.script_phases = [ { - :name => '[RN]Check rncore', + :name => '[RN] Check FBReactNativeComponentSpec codegen', :execution_position => :before_compile, :script => <<-EOS echo "Checking whether Codegen has run..." -rncorePath="$REACT_NATIVE_PATH/ReactCommon/react/renderer/components/rncore" +codegen_path="$REACT_NATIVE_PATH/ReactCommon/react/renderer/components/FBReactNativeComponentSpec" -if [[ ! -d "$rncorePath" ]]; then +if [[ ! -d "$codegen_path" ]]; then echo 'error: Codegen did not run properly in your project. Please reinstall cocoapods with `bundle exec pod install`.' exit 1 fi diff --git a/packages/react-native/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryShadowNode.h b/packages/react-native/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryShadowNode.h index ae0809cb57ad3a..ad0848813aadb9 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryShadowNode.h +++ b/packages/react-native/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryShadowNode.h @@ -7,9 +7,9 @@ #pragma once +#include +#include #include -#include -#include #include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h b/packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h index 7c832dc0ca515e..ec41143fddc424 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h +++ b/packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h @@ -7,9 +7,9 @@ #pragma once +#include +#include #include -#include -#include #include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.cpp b/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.cpp index 740b43750e15ad..bcb664b081ad14 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.cpp @@ -9,6 +9,7 @@ #include #include +#include #include using namespace facebook::jni; diff --git a/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h b/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h index 383a9f36ef8ec3..890d3eca2985d1 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h +++ b/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h @@ -7,8 +7,7 @@ #pragma once -#include -#include +#include #include #include #include diff --git a/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.h b/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.h index 384fa23608c319..eea73510217222 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.h +++ b/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.h @@ -7,9 +7,9 @@ #pragma once +#include +#include #include -#include -#include #include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/conversions.h b/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/conversions.h index 843755a8fa5015..79b83075a697b2 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/conversions.h +++ b/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/conversions.h @@ -8,7 +8,7 @@ #pragma once #include -#include +#include #include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.h b/packages/react-native/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.h index 5a95f3b9decd53..c7cd46841ffc2d 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.h +++ b/packages/react-native/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.h @@ -7,8 +7,8 @@ #pragma once -#include -#include +#include +#include #include #include diff --git a/packages/react-native/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h b/packages/react-native/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h index 85803aa09add02..3371f4dc7eec01 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h +++ b/packages/react-native/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h @@ -9,8 +9,8 @@ #include "AndroidSwitchMeasurementsManager.h" -#include -#include +#include +#include #include namespace facebook::react { diff --git a/packages/react-native/package.json b/packages/react-native/package.json index 6475253fc7cb79..5a5238f18081f1 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -145,7 +145,7 @@ "jsSrcsDir": "src" }, { - "name": "rncore", + "name": "FBReactNativeComponentSpec", "type": "components", "ios": {}, "android": {}, diff --git a/packages/react-native/scripts/codegen/generate-artifacts-executor.js b/packages/react-native/scripts/codegen/generate-artifacts-executor.js index df3c1e6ac0306d..b8aafd7486e57c 100644 --- a/packages/react-native/scripts/codegen/generate-artifacts-executor.js +++ b/packages/react-native/scripts/codegen/generate-artifacts-executor.js @@ -46,7 +46,6 @@ const RNCORE_CONFIGS = { ), }; const CORE_LIBRARIES_WITH_OUTPUT_FOLDER = { - rncore: RNCORE_CONFIGS, FBReactNativeSpec: { ios: null, android: path.join( @@ -58,6 +57,7 @@ const CORE_LIBRARIES_WITH_OUTPUT_FOLDER = { 'codegen', ), }, + FBReactNativeComponentSpec: RNCORE_CONFIGS, }; const REACT_NATIVE = 'react-native'; @@ -415,7 +415,7 @@ function generateSchemaInfo(library, platform) { }; } -function shouldSkipGenerationForRncore(schemaInfo, platform) { +function shouldSkipGenerationForCoreComponentSpec(schemaInfo, platform) { if (platform !== 'ios' || schemaInfo.library.config.name !== 'rncore') { return false; } @@ -424,7 +424,7 @@ function shouldSkipGenerationForRncore(schemaInfo, platform) { 'react', 'renderer', 'components', - 'rncore', + 'FBReactNativeComponentSpec', ); const rncoreAbsolutePath = path.resolve(rncoreOutputPath); return ( @@ -435,9 +435,9 @@ function shouldSkipGenerationForRncore(schemaInfo, platform) { } function generateCode(outputPath, schemaInfo, includesGeneratedCode, platform) { - if (shouldSkipGenerationForRncore(schemaInfo, platform)) { + if (shouldSkipGenerationForCoreComponentSpec(schemaInfo, platform)) { console.log( - '[Codegen - rncore] Skipping iOS code generation for rncore as it has been generated already.', + '[Codegen - rncore] Skipping iOS code generation for FBReactNativeComponentSpec as it has been generated already.', ); return; }