From b4c7e9f4bdeb7254d66ddc6bfcb720a350703d5c Mon Sep 17 00:00:00 2001 From: Tommy Nguyen <4123478+tido64@users.noreply.github.com> Date: Thu, 21 Sep 2023 12:16:32 +0200 Subject: [PATCH] feat!: drop support for `react-native` 0.64, 0.65 BREAKING CHANGE: Dropped support for `react-native` 0.64, 0.65 --- ReactTestApp-DevSupport.podspec | 2 +- android/app/build.gradle | 18 - .../compat/ReactNativeHostCompat.kt | 0 .../reacttestapp/fabric/ComponentsRegistry.kt | 0 .../turbomodule/TurboModuleManagerDelegate.kt | 0 .../compat/ReactNativeHostCompat.kt | 5 - .../reacttestapp/fabric/ComponentsRegistry.kt | 13 - android/dependencies.gradle | 11 +- example/Example-Tests.podspec | 2 +- example/ios/Podfile.lock | 350 +++++++++--------- example/package.json | 17 +- ios/test_app.rb | 11 +- package.json | 8 +- scripts/android-nightly.patch | 10 +- scripts/configure.js | 12 +- scripts/patch-cli-platform-android.js | 22 -- test-app.gradle | 10 - test/pack.test.mjs | 9 +- test/test_test_app.rb | 19 +- yarn.lock | 13 +- 20 files changed, 217 insertions(+), 315 deletions(-) rename android/app/src/{turbomodule => main}/java/com/microsoft/reacttestapp/compat/ReactNativeHostCompat.kt (100%) rename android/app/src/{turbomodule => main}/java/com/microsoft/reacttestapp/fabric/ComponentsRegistry.kt (100%) rename android/app/src/{turbomodule => main}/java/com/microsoft/reacttestapp/turbomodule/TurboModuleManagerDelegate.kt (100%) delete mode 100644 android/app/src/no-turbomodule/java/com/microsoft/reacttestapp/compat/ReactNativeHostCompat.kt delete mode 100644 android/app/src/no-turbomodule/java/com/microsoft/reacttestapp/fabric/ComponentsRegistry.kt delete mode 100755 scripts/patch-cli-platform-android.js diff --git a/ReactTestApp-DevSupport.podspec b/ReactTestApp-DevSupport.podspec index 2da514c507..d5179a841f 100644 --- a/ReactTestApp-DevSupport.podspec +++ b/ReactTestApp-DevSupport.podspec @@ -19,7 +19,7 @@ package = JSON.parse(File.read(File.join(__dir__, 'package.json'))) version = package['version'] Pod::Spec.new do |s| - s.name = 'ReactTestApp-DevSupport' + s.name = File.basename(__FILE__, '.podspec') s.version = version s.author = { package['author']['name'] => package['author']['email'] } s.license = package['license'] diff --git a/android/app/build.gradle b/android/app/build.gradle index aa89428285..f1f29bf96b 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -45,21 +45,6 @@ repositories { mavenCentral() google() - // TODO: Remove this block when we drop support for 0.64. - if (reactNativeVersion > 0 && reactNativeVersion < v(0, 65, 0)) { - // Artifacts for 0.65+ are published to Maven Central. If we're on an - // older version, we still need to use JCenter. - // noinspection JcenterRepositoryObsolete - jcenter() { - content { - includeGroup("com.facebook.fbjni") - includeGroup("com.facebook.flipper") - includeGroup("com.facebook.fresco") - includeGroup("com.facebook.yoga") - } - } - } - // https://github.com/AzureAD/microsoft-authentication-library-for-android#step-1-declare-dependency-on-msal maven { url = uri("https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1") @@ -310,9 +295,6 @@ android { // TODO: Remove this block when we drop support for 0.67 project.ext.react.enableFabric ? "src/fabric/java" : "src/no-fabric/java", - // TODO: Remove this block when we drop support for 0.65 - enableNewArchitecture ? "src/turbomodule/java" : "src/no-turbomodule/java", - // TODO: Remove this block when we drop support for 0.67 // https://github.com/facebook/react-native/commit/ce74aa4ed335d4c36ce722d47937b582045e05c4 reactNativeVersion > 0 && reactNativeVersion < v(0, 68, 0) diff --git a/android/app/src/turbomodule/java/com/microsoft/reacttestapp/compat/ReactNativeHostCompat.kt b/android/app/src/main/java/com/microsoft/reacttestapp/compat/ReactNativeHostCompat.kt similarity index 100% rename from android/app/src/turbomodule/java/com/microsoft/reacttestapp/compat/ReactNativeHostCompat.kt rename to android/app/src/main/java/com/microsoft/reacttestapp/compat/ReactNativeHostCompat.kt diff --git a/android/app/src/turbomodule/java/com/microsoft/reacttestapp/fabric/ComponentsRegistry.kt b/android/app/src/main/java/com/microsoft/reacttestapp/fabric/ComponentsRegistry.kt similarity index 100% rename from android/app/src/turbomodule/java/com/microsoft/reacttestapp/fabric/ComponentsRegistry.kt rename to android/app/src/main/java/com/microsoft/reacttestapp/fabric/ComponentsRegistry.kt diff --git a/android/app/src/turbomodule/java/com/microsoft/reacttestapp/turbomodule/TurboModuleManagerDelegate.kt b/android/app/src/main/java/com/microsoft/reacttestapp/turbomodule/TurboModuleManagerDelegate.kt similarity index 100% rename from android/app/src/turbomodule/java/com/microsoft/reacttestapp/turbomodule/TurboModuleManagerDelegate.kt rename to android/app/src/main/java/com/microsoft/reacttestapp/turbomodule/TurboModuleManagerDelegate.kt diff --git a/android/app/src/no-turbomodule/java/com/microsoft/reacttestapp/compat/ReactNativeHostCompat.kt b/android/app/src/no-turbomodule/java/com/microsoft/reacttestapp/compat/ReactNativeHostCompat.kt deleted file mode 100644 index d288ecae96..0000000000 --- a/android/app/src/no-turbomodule/java/com/microsoft/reacttestapp/compat/ReactNativeHostCompat.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.microsoft.reacttestapp.compat - -import com.facebook.react.ReactNativeHost - -typealias ReactNativeHostCompat = ReactNativeHost diff --git a/android/app/src/no-turbomodule/java/com/microsoft/reacttestapp/fabric/ComponentsRegistry.kt b/android/app/src/no-turbomodule/java/com/microsoft/reacttestapp/fabric/ComponentsRegistry.kt deleted file mode 100644 index 497a30b7aa..0000000000 --- a/android/app/src/no-turbomodule/java/com/microsoft/reacttestapp/fabric/ComponentsRegistry.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.microsoft.reacttestapp.fabric - -import com.facebook.react.fabric.ComponentFactory - -class ComponentsRegistry private constructor() { - companion object { - fun register( - @Suppress("UNUSED_PARAMETER") componentFactory: ComponentFactory - ): ComponentsRegistry { - return ComponentsRegistry() - } - } -} diff --git a/android/dependencies.gradle b/android/dependencies.gradle index 4d3531eb93..3e8faea23e 100644 --- a/android/dependencies.gradle +++ b/android/dependencies.gradle @@ -30,15 +30,9 @@ static String getKspVersion(String kotlinVersion) { ext { apply(from: "${buildscript.sourceFile.getParent()}/test-app-util.gradle") - reactNativeVersion = getPackageVersionNumber("react-native", rootDir) - compileSdkVersion = 34 minSdkVersion = 23 - - // A bug in an older version of OkHttp causes it to throw 'expected Android - // API level 21+ but was 33'. - // TODO: Remove when we drop support for 0.64 - targetSdkVersion = reactNativeVersion > 0 && reactNativeVersion < v(0, 65, 0) ? 29 : 33 + targetSdkVersion = 33 /** * Returns the recommended Gradle plugin version for the specified React Native @@ -70,6 +64,7 @@ ext { } } + reactNativeVersion = getPackageVersionNumber("react-native", rootDir) autodetectReactNativeVersion = reactNativeVersion == 0 || reactNativeVersion >= v(0, 71, 0) enableNewArchitecture = isNewArchitectureEnabled(project) usePrefabs = reactNativeVersion == 0 || reactNativeVersion >= v(0, 71, 0) @@ -86,7 +81,7 @@ ext { } else if (System.properties["os.arch"] == "aarch64" && androidPluginVersion == "7.2.2") { // NDK r23c has been patched to support Apple M1 and is default in AGP // 7.3.0. Prior to 0.71, we still need to set `ndkVersion` because we'll - // be using AGP 7.2.2 (see `androidPluginVersion` below). + // be using AGP 7.2.2 (see `androidPluginVersion` above). // Note that even though newer 23.x versions exist, we'll stick to AGP's // default. See also // https://developer.android.com/studio/releases/gradle-plugin#compatibility-7-3-0 diff --git a/example/Example-Tests.podspec b/example/Example-Tests.podspec index f504e44426..880866703f 100644 --- a/example/Example-Tests.podspec +++ b/example/Example-Tests.podspec @@ -3,7 +3,7 @@ require 'json' package = JSON.parse(File.read(File.join('..', 'package.json'))) Pod::Spec.new do |s| - s.name = 'Example-Tests' + s.name = File.basename(__FILE__, '.podspec') s.version = package['version'] s.author = { package['author']['name'] => package['author']['email'] } s.license = package['license'] diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index dfc12c2b37..b97c365548 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -4,14 +4,14 @@ PODS: - Example-Tests (0.0.1-dev): - React - ReactTestApp-DevSupport - - FBLazyVector (0.72.4) - - FBReactNativeSpec (0.72.4): + - FBLazyVector (0.72.6) + - FBReactNativeSpec (0.72.6): - RCT-Folly (= 2021.07.22.00) - - RCTRequired (= 0.72.4) - - RCTTypeSafety (= 0.72.4) - - React-Core (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) + - RCTRequired (= 0.72.6) + - RCTTypeSafety (= 0.72.6) + - React-Core (= 0.72.6) + - React-jsi (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) - fmt (6.2.1) - glog (0.3.5) - RCT-Folly (2021.07.22.00): @@ -25,26 +25,26 @@ PODS: - DoubleConversion - fmt (~> 6.2.1) - glog - - RCTRequired (0.72.4) - - RCTTypeSafety (0.72.4): - - FBLazyVector (= 0.72.4) - - RCTRequired (= 0.72.4) - - React-Core (= 0.72.4) - - React (0.72.4): - - React-Core (= 0.72.4) - - React-Core/DevSupport (= 0.72.4) - - React-Core/RCTWebSocket (= 0.72.4) - - React-RCTActionSheet (= 0.72.4) - - React-RCTAnimation (= 0.72.4) - - React-RCTBlob (= 0.72.4) - - React-RCTImage (= 0.72.4) - - React-RCTLinking (= 0.72.4) - - React-RCTNetwork (= 0.72.4) - - React-RCTSettings (= 0.72.4) - - React-RCTText (= 0.72.4) - - React-RCTVibration (= 0.72.4) - - React-callinvoker (0.72.4) - - React-Codegen (0.72.4): + - RCTRequired (0.72.6) + - RCTTypeSafety (0.72.6): + - FBLazyVector (= 0.72.6) + - RCTRequired (= 0.72.6) + - React-Core (= 0.72.6) + - React (0.72.6): + - React-Core (= 0.72.6) + - React-Core/DevSupport (= 0.72.6) + - React-Core/RCTWebSocket (= 0.72.6) + - React-RCTActionSheet (= 0.72.6) + - React-RCTAnimation (= 0.72.6) + - React-RCTBlob (= 0.72.6) + - React-RCTImage (= 0.72.6) + - React-RCTLinking (= 0.72.6) + - React-RCTNetwork (= 0.72.6) + - React-RCTSettings (= 0.72.6) + - React-RCTText (= 0.72.6) + - React-RCTVibration (= 0.72.6) + - React-callinvoker (0.72.6) + - React-Codegen (0.72.6): - DoubleConversion - FBReactNativeSpec - glog @@ -59,10 +59,10 @@ PODS: - React-rncore - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - React-Core (0.72.4): + - React-Core (0.72.6): - glog - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.72.4) + - React-Core/Default (= 0.72.6) - React-cxxreact - React-jsc - React-jsi @@ -72,7 +72,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/CoreModulesHeaders (0.72.4): + - React-Core/CoreModulesHeaders (0.72.6): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default @@ -85,7 +85,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/Default (0.72.4): + - React-Core/Default (0.72.6): - glog - RCT-Folly (= 2021.07.22.00) - React-cxxreact @@ -97,22 +97,22 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/DevSupport (0.72.4): + - React-Core/DevSupport (0.72.6): - glog - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.72.4) - - React-Core/RCTWebSocket (= 0.72.4) + - React-Core/Default (= 0.72.6) + - React-Core/RCTWebSocket (= 0.72.6) - React-cxxreact - React-jsc - React-jsi - React-jsiexecutor - - React-jsinspector (= 0.72.4) + - React-jsinspector (= 0.72.6) - React-perflogger - React-runtimeexecutor - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTActionSheetHeaders (0.72.4): + - React-Core/RCTActionSheetHeaders (0.72.6): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default @@ -125,7 +125,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTAnimationHeaders (0.72.4): + - React-Core/RCTAnimationHeaders (0.72.6): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default @@ -138,7 +138,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTBlobHeaders (0.72.4): + - React-Core/RCTBlobHeaders (0.72.6): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default @@ -151,7 +151,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTImageHeaders (0.72.4): + - React-Core/RCTImageHeaders (0.72.6): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default @@ -164,7 +164,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTLinkingHeaders (0.72.4): + - React-Core/RCTLinkingHeaders (0.72.6): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default @@ -177,7 +177,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTNetworkHeaders (0.72.4): + - React-Core/RCTNetworkHeaders (0.72.6): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default @@ -190,7 +190,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTSettingsHeaders (0.72.4): + - React-Core/RCTSettingsHeaders (0.72.6): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default @@ -203,7 +203,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTTextHeaders (0.72.4): + - React-Core/RCTTextHeaders (0.72.6): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default @@ -216,7 +216,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTVibrationHeaders (0.72.4): + - React-Core/RCTVibrationHeaders (0.72.6): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default @@ -229,10 +229,10 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTWebSocket (0.72.4): + - React-Core/RCTWebSocket (0.72.6): - glog - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.72.4) + - React-Core/Default (= 0.72.6) - React-cxxreact - React-jsc - React-jsi @@ -242,52 +242,52 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-CoreModules (0.72.4): + - React-CoreModules (0.72.6): - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.4) - - React-Codegen (= 0.72.4) - - React-Core/CoreModulesHeaders (= 0.72.4) - - React-jsi (= 0.72.4) + - RCTTypeSafety (= 0.72.6) + - React-Codegen (= 0.72.6) + - React-Core/CoreModulesHeaders (= 0.72.6) + - React-jsi (= 0.72.6) - React-RCTBlob - - React-RCTImage (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) + - React-RCTImage (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) - SocketRocket (= 0.6.1) - - React-cxxreact (0.72.4): + - React-cxxreact (0.72.6): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.72.4) - - React-debug (= 0.72.4) - - React-jsi (= 0.72.4) - - React-jsinspector (= 0.72.4) - - React-logger (= 0.72.4) - - React-perflogger (= 0.72.4) - - React-runtimeexecutor (= 0.72.4) - - React-debug (0.72.4) - - React-jsc (0.72.4): - - React-jsc/Fabric (= 0.72.4) - - React-jsi (= 0.72.4) - - React-jsc/Fabric (0.72.4): - - React-jsi (= 0.72.4) - - React-jsi (0.72.4): + - React-callinvoker (= 0.72.6) + - React-debug (= 0.72.6) + - React-jsi (= 0.72.6) + - React-jsinspector (= 0.72.6) + - React-logger (= 0.72.6) + - React-perflogger (= 0.72.6) + - React-runtimeexecutor (= 0.72.6) + - React-debug (0.72.6) + - React-jsc (0.72.6): + - React-jsc/Fabric (= 0.72.6) + - React-jsi (= 0.72.6) + - React-jsc/Fabric (0.72.6): + - React-jsi (= 0.72.6) + - React-jsi (0.72.6): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.07.22.00) - - React-jsiexecutor (0.72.4): + - React-jsiexecutor (0.72.6): - DoubleConversion - glog - RCT-Folly (= 2021.07.22.00) - - React-cxxreact (= 0.72.4) - - React-jsi (= 0.72.4) - - React-perflogger (= 0.72.4) - - React-jsinspector (0.72.4) - - React-logger (0.72.4): + - React-cxxreact (= 0.72.6) + - React-jsi (= 0.72.6) + - React-perflogger (= 0.72.6) + - React-jsinspector (0.72.6) + - React-logger (0.72.6): - glog - react-native-safe-area-context (4.7.2): - React-Core - - React-NativeModulesApple (0.72.4): + - React-NativeModulesApple (0.72.6): - React-callinvoker - React-Core - React-cxxreact @@ -295,17 +295,17 @@ PODS: - React-runtimeexecutor - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - React-perflogger (0.72.4) - - React-RCTActionSheet (0.72.4): - - React-Core/RCTActionSheetHeaders (= 0.72.4) - - React-RCTAnimation (0.72.4): + - React-perflogger (0.72.6) + - React-RCTActionSheet (0.72.6): + - React-Core/RCTActionSheetHeaders (= 0.72.6) + - React-RCTAnimation (0.72.6): - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.4) - - React-Codegen (= 0.72.4) - - React-Core/RCTAnimationHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTAppDelegate (0.72.4): + - RCTTypeSafety (= 0.72.6) + - React-Codegen (= 0.72.6) + - React-Core/RCTAnimationHeaders (= 0.72.6) + - React-jsi (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) + - React-RCTAppDelegate (0.72.6): - RCT-Folly - RCTRequired - RCTTypeSafety @@ -317,81 +317,81 @@ PODS: - React-RCTNetwork - React-runtimescheduler - ReactCommon/turbomodule/core - - React-RCTBlob (0.72.4): + - React-RCTBlob (0.72.6): - RCT-Folly (= 2021.07.22.00) - - React-Codegen (= 0.72.4) - - React-Core/RCTBlobHeaders (= 0.72.4) - - React-Core/RCTWebSocket (= 0.72.4) - - React-jsi (= 0.72.4) - - React-RCTNetwork (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTImage (0.72.4): + - React-Codegen (= 0.72.6) + - React-Core/RCTBlobHeaders (= 0.72.6) + - React-Core/RCTWebSocket (= 0.72.6) + - React-jsi (= 0.72.6) + - React-RCTNetwork (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) + - React-RCTImage (0.72.6): - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.4) - - React-Codegen (= 0.72.4) - - React-Core/RCTImageHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - React-RCTNetwork (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTLinking (0.72.4): - - React-Codegen (= 0.72.4) - - React-Core/RCTLinkingHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTNetwork (0.72.4): + - RCTTypeSafety (= 0.72.6) + - React-Codegen (= 0.72.6) + - React-Core/RCTImageHeaders (= 0.72.6) + - React-jsi (= 0.72.6) + - React-RCTNetwork (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) + - React-RCTLinking (0.72.6): + - React-Codegen (= 0.72.6) + - React-Core/RCTLinkingHeaders (= 0.72.6) + - React-jsi (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) + - React-RCTNetwork (0.72.6): - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.4) - - React-Codegen (= 0.72.4) - - React-Core/RCTNetworkHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTSettings (0.72.4): + - RCTTypeSafety (= 0.72.6) + - React-Codegen (= 0.72.6) + - React-Core/RCTNetworkHeaders (= 0.72.6) + - React-jsi (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) + - React-RCTSettings (0.72.6): - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.4) - - React-Codegen (= 0.72.4) - - React-Core/RCTSettingsHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTText (0.72.4): - - React-Core/RCTTextHeaders (= 0.72.4) - - React-RCTVibration (0.72.4): + - RCTTypeSafety (= 0.72.6) + - React-Codegen (= 0.72.6) + - React-Core/RCTSettingsHeaders (= 0.72.6) + - React-jsi (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) + - React-RCTText (0.72.6): + - React-Core/RCTTextHeaders (= 0.72.6) + - React-RCTVibration (0.72.6): - RCT-Folly (= 2021.07.22.00) - - React-Codegen (= 0.72.4) - - React-Core/RCTVibrationHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-rncore (0.72.4) - - React-runtimeexecutor (0.72.4): - - React-jsi (= 0.72.4) - - React-runtimescheduler (0.72.4): + - React-Codegen (= 0.72.6) + - React-Core/RCTVibrationHeaders (= 0.72.6) + - React-jsi (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) + - React-rncore (0.72.6) + - React-runtimeexecutor (0.72.6): + - React-jsi (= 0.72.6) + - React-runtimescheduler (0.72.6): - glog - RCT-Folly (= 2021.07.22.00) - React-callinvoker - React-debug - React-jsi - React-runtimeexecutor - - React-utils (0.72.4): + - React-utils (0.72.6): - glog - RCT-Folly (= 2021.07.22.00) - React-debug - - ReactCommon/turbomodule/bridging (0.72.4): + - ReactCommon/turbomodule/bridging (0.72.6): - DoubleConversion - glog - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.72.4) - - React-cxxreact (= 0.72.4) - - React-jsi (= 0.72.4) - - React-logger (= 0.72.4) - - React-perflogger (= 0.72.4) - - ReactCommon/turbomodule/core (0.72.4): + - React-callinvoker (= 0.72.6) + - React-cxxreact (= 0.72.6) + - React-jsi (= 0.72.6) + - React-logger (= 0.72.6) + - React-perflogger (= 0.72.6) + - ReactCommon/turbomodule/core (0.72.6): - DoubleConversion - glog - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.72.4) - - React-cxxreact (= 0.72.4) - - React-jsi (= 0.72.4) - - React-logger (= 0.72.4) - - React-perflogger (= 0.72.4) + - React-callinvoker (= 0.72.6) + - React-cxxreact (= 0.72.6) + - React-jsi (= 0.72.6) + - React-logger (= 0.72.6) + - React-perflogger (= 0.72.6) - ReactNativeHost (0.2.8): - React-Core - React-cxxreact @@ -546,49 +546,49 @@ SPEC CHECKSUMS: boost: 57d2868c099736d80fcd648bf211b4431e51a558 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 Example-Tests: e3a0c1aa41706608d102daa2239aa6d79fcb6e51 - FBLazyVector: 5d4a3b7f411219a45a6d952f77d2c0a6c9989da5 - FBReactNativeSpec: 3fc2d478e1c4b08276f9dd9128f80ec6d5d85c1f + FBLazyVector: 748c0ef74f2bf4b36cfcccf37916806940a64c32 + FBReactNativeSpec: 966f29e4e697de53a3b366355e8f57375c856ad9 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 - RCTRequired: c0569ecc035894e4a68baecb30fe6a7ea6e399f9 - RCTTypeSafety: e90354072c21236e0bcf1699011e39acd25fea2f - React: a1be3c6dc0a6e949ccd3e659781aa47bbae1868f - React-callinvoker: 1020b33f6cb1a1824f9ca2a86609fbce2a73c6ed - React-Codegen: 97df9239bfc44a4504c4840dfae3a200e4500afe - React-Core: 9df7960451a433053f30a5862728f92088a9150d - React-CoreModules: 21abab85d7ad9038ce2b1c33d39e3baaf7dc9244 - React-cxxreact: 9f0bd765bbffbd2038936d1f0ba1c80ea7649e28 - React-debug: 17366a3d5c5d2f5fc04f09101a4af38cb42b54ae - React-jsc: 844ccd35b8dbd105aa0430b658611a43f10ba8a5 - React-jsi: 8c012b3699d7427e96866dd3a539ca9611fa2546 - React-jsiexecutor: bc8a9ad812a2c88b3a41c08b5f4b3ed32d6d4766 - React-jsinspector: aaed4cf551c4a1c98092436518c2d267b13a673f - React-logger: da1ebe05ae06eb6db4b162202faeafac4b435e77 + RCTRequired: 28469809442eb4eb5528462705f7d852948c8a74 + RCTTypeSafety: e9c6c409fca2cc584e5b086862d562540cb38d29 + React: 769f469909b18edfe934f0539fffb319c4c61043 + React-callinvoker: e48ce12c83706401251921896576710d81e54763 + React-Codegen: 658f30a9ed3a87c53f19cce1c2f0ff09f9831aab + React-Core: 8f6b8b114bf59d10d084e5b46414760cc9bfac9e + React-CoreModules: d226b22d06ea1bc4e49d3c073b2c6cbb42265405 + React-cxxreact: 3a3b543136233b9b92f26267d3127fc39a0a720a + React-debug: 238501490155574ae9f3f8dd1c74330eba30133e + React-jsc: f7d32213d6f7bb8a9f0c4e0e0a0fe2bb10288173 + React-jsi: 494e5ae5cd0c649dde893f80e248cf36989dd331 + React-jsiexecutor: faca9c368233f59ed24601aca0185870466a96e9 + React-jsinspector: 194e32c6aab382d88713ad3dd0025c5f5c4ee072 + React-logger: cebf22b6cf43434e471dc561e5911b40ac01d289 react-native-safe-area-context: 7aa8e6d9d0f3100a820efb1a98af68aa747f9284 - React-NativeModulesApple: 759309419da76ef4c9f331968b840022ee2aa5b1 - React-perflogger: 496a1a3dc6737f964107cb3ddae7f9e265ddda58 - React-RCTActionSheet: 02904b932b50e680f4e26e7a686b33ebf7ef3c00 - React-RCTAnimation: 88feaf0a85648fb8fd497ce749829774910276d6 - React-RCTAppDelegate: b9e5fe0e4b71f30f3742225dc7085ae10681a1cd - React-RCTBlob: 455b680e457c36f8d98f4338b51cd3cbf48744bd - React-RCTImage: b111645ab901f8e59fc68fbe31f5731bdbeef087 - React-RCTLinking: 3d719727b4c098aad3588aa3559361ee0579f5de - React-RCTNetwork: b44d3580be05d74556ba4efbf53570f17e38f734 - React-RCTSettings: c0c54b330442c29874cd4dae6e94190dc11a6f6f - React-RCTText: 9b9f5589d9b649d7246c3f336e116496df28cfe6 - React-RCTVibration: 691c67f3beaf1d084ceed5eb5c1dddd9afa8591e - React-rncore: 142268f6c92e296dc079aadda3fade778562f9e4 - React-runtimeexecutor: d465ba0c47ef3ed8281143f59605cacc2244d5c7 - React-runtimescheduler: cbd78e16328bde1e5abac4ceb0cb635d03c359c6 - React-utils: b79f2411931f9d3ea5781404dcbb2fa8a837e13a - ReactCommon: 2635a013764a291989765d6ec136513911f478c6 + React-NativeModulesApple: 63505fb94b71e2469cab35bdaf36cca813cb5bfd + React-perflogger: e3596db7e753f51766bceadc061936ef1472edc3 + React-RCTActionSheet: 17ab132c748b4471012abbcdcf5befe860660485 + React-RCTAnimation: c8bbaab62be5817d2a31c36d5f2571e3f7dcf099 + React-RCTAppDelegate: 600e7dfd1ca0a80e24af2d4d25ed1c705bb12505 + React-RCTBlob: 86ab788db3fcc1af0d186a6625e7d0956ffeea5b + React-RCTImage: 670a3486b532292649b1aef3ffddd0b495a5cee4 + React-RCTLinking: bd7ab853144aed463903237e615fd91d11b4f659 + React-RCTNetwork: be86a621f3e4724758f23ad1fdce32474ab3d829 + React-RCTSettings: 4f3a29a6d23ffa639db9701bc29af43f30781058 + React-RCTText: adde32164a243103aaba0b1dc7b0a2599733873e + React-RCTVibration: 6bd85328388ac2e82ae0ca11afe48ad5555b483a + React-rncore: fda7b1ae5918fa7baa259105298a5487875a57c8 + React-runtimeexecutor: 57d85d942862b08f6d15441a0badff2542fd233c + React-runtimescheduler: 13b0c5e9354ccfc3dc9a391231e55debeb688523 + React-utils: fa59c9a3375fb6f4aeb66714fd3f7f76b43a9f16 + ReactCommon: 5f73972d2abd8a85e44f27317bf77418a74d3340 ReactNativeHost: 5caf8c9381f26c453fabbe8c3b87f6a013a3c459 ReactTestApp-DevSupport: 5fd0815a03f06e26b120ac7b8a7ff29824fa700b ReactTestApp-Resources: 1f512f66574607bcfa614e9c0d30e7a990fecf30 SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 - Yoga: 3efc43e0d48686ce2e8c60f99d4e6bd349aff981 + Yoga: b76f1acfda8212aa16b7e26bcce3983230c82603 -PODFILE CHECKSUM: a0a692acf4827473693e5d8de3ca917e2e2df417 +PODFILE CHECKSUM: 870582483dda68180ae1f996147f31dc3551ce31 COCOAPODS: 1.12.1 diff --git a/example/package.json b/example/package.json index 97105c72f2..b42db37cbc 100644 --- a/example/package.json +++ b/example/package.json @@ -17,11 +17,12 @@ "start": "react-native start", "windows": "react-native run-windows --no-packager" }, - "peerDependencies": { - "react": "~17.0.1 || ~18.0.0 || ~18.1.0 || ~18.2.0", - "react-native": "^0.0.0-0 || 0.64 - 0.72 || 1000.0.0", - "react-native-macos": "^0.0.0-0 || 0.64 || 0.66 || 0.68 || 0.71 - 0.72", - "react-native-windows": "^0.0.0-0 || 0.64 - 0.72" + "dependencies": { + "react": "18.2.0", + "react-native": "^0.72.0", + "react-native-macos": "^0.72.0", + "react-native-safe-area-context": "^4.5.3", + "react-native-windows": "^0.72.0" }, "devDependencies": { "@babel/core": "^7.1.6", @@ -30,12 +31,7 @@ "@types/react": "~18.2.0", "appium": "^2.0.0", "metro-react-native-babel-preset": "^0.76.8", - "react": "18.2.0", - "react-native": "^0.72.0", - "react-native-macos": "^0.72.0", - "react-native-safe-area-context": "^4.5.3", "react-native-test-app": "workspace:.", - "react-native-windows": "^0.72.0", "webdriverio": "^8.11.2" }, "eslintConfig": { @@ -68,6 +64,7 @@ "navigation/stack", "netinfo", "popover", + "safe-area", "screens", "shimmer", "sqlite", diff --git a/ios/test_app.rb b/ios/test_app.rb index acea48f00a..fba0e93e9a 100644 --- a/ios/test_app.rb +++ b/ios/test_app.rb @@ -1,6 +1,5 @@ require('json') require('pathname') -require('rubygems/version') require_relative('pod_helpers') @@ -135,12 +134,11 @@ def generate_assets_catalog!(project_root, target_platform, destination) end def react_native_pods(version) - v = version.release - if v == Gem::Version.new('0.0.0') || v >= Gem::Version.new('0.70') + if version.zero? || version >= v(0, 70, 0) 'use_react_native-0.70' - elsif v >= Gem::Version.new('0.68') + elsif version >= v(0, 68, 0) 'use_react_native-0.68' - elsif v >= Gem::Version.new('0.64') + elsif version >= v(0, 66, 0) 'use_react_native-0.64' else raise "Unsupported React Native version: #{version}" @@ -202,7 +200,8 @@ def use_flipper!(versions = {}) def use_react_native!(project_root, target_platform, options) react_native = react_native_path(project_root, target_platform) - version = package_version(react_native.to_s) + version = package_version(react_native.to_s).segments + version = v(version[0], version[1], version[2]) require_relative(react_native_pods(version)) diff --git a/package.json b/package.json index 9e8a116ec0..69d681a51b 100644 --- a/package.json +++ b/package.json @@ -90,10 +90,10 @@ }, "peerDependencies": { "@expo/config-plugins": ">=5.0", - "react": "~17.0.1 || ~18.0.0 || ~18.1.0 || ~18.2.0", - "react-native": "^0.0.0-0 || 0.64 - 0.72 || 1000.0.0", - "react-native-macos": "^0.0.0-0 || 0.64 || 0.66 || 0.68 || 0.71 - 0.72", - "react-native-windows": "^0.0.0-0 || 0.64 - 0.72" + "react": "~17.0.2 || 18.0 - 18.2", + "react-native": "^0.0.0-0 || 0.66 - 0.72 || 1000.0.0", + "react-native-macos": "^0.0.0-0 || 0.66 || 0.68 || 0.71 - 0.72", + "react-native-windows": "^0.0.0-0 || 0.66 - 0.72" }, "peerDependenciesMeta": { "@expo/config-plugins": { diff --git a/scripts/android-nightly.patch b/scripts/android-nightly.patch index d84902b59f..6921a6578b 100644 --- a/scripts/android-nightly.patch +++ b/scripts/android-nightly.patch @@ -11,14 +11,14 @@ index 66c01cf..3fa8f86 100644 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/example/package.json b/example/package.json -index f801fbc..27df42e 100644 +index d90a956..bcfed43 100644 --- a/example/package.json +++ b/example/package.json -@@ -35,7 +35,6 @@ +@@ -21,7 +21,6 @@ "react": "18.2.0", "react-native": "^0.72.0", "react-native-macos": "^0.72.0", - "react-native-safe-area-context": "^4.5.3", - "react-native-test-app": "workspace:.", - "react-native-windows": "^0.72.0", - "webdriverio": "^8.11.2" + "react-native-windows": "^0.72.0" + }, + "devDependencies": { diff --git a/scripts/configure.js b/scripts/configure.js index de62632a75..1ead94da4e 100755 --- a/scripts/configure.js +++ b/scripts/configure.js @@ -251,18 +251,10 @@ function androidManifestPath(sourceDir) { } /** - * @param {string} sourceDir * @returns {string | undefined} */ -function iosProjectPath(sourceDir) { +function iosProjectPath() { const rnDir = path.dirname(require.resolve("react-native/package.json")); - const needsDummyProject = cliPlatformIOSVersion(rnDir) < v(5, 0, 2); - if (needsDummyProject) { - // Prior to @react-native-community/cli-platform-ios v5.0.0, `project` was - // only used to infer `sourceDir` and `podfile`. - return path.join(sourceDir, "ReactTestApp-Dummy.xcodeproj"); - } - const needsProjectPath = cliPlatformIOSVersion(rnDir) < v(8, 0, 0); if (needsProjectPath) { // `sourceDir` and `podfile` detection was fixed in @@ -323,7 +315,7 @@ function configureProjects({ android, ios, windows }) { if (cliPlatformIOSVersion(rnDir) >= v(8, 0, 0)) { config.ios = ios; } - const project = iosProjectPath(path.basename(ios.sourceDir)); + const project = iosProjectPath(); if (project) { config.ios = config.ios ?? {}; config.ios.project = project; diff --git a/scripts/patch-cli-platform-android.js b/scripts/patch-cli-platform-android.js deleted file mode 100755 index bee7889063..0000000000 --- a/scripts/patch-cli-platform-android.js +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env node -// @ts-check -"use strict"; - -const fs = require("path:fs"); - -const nativeModulesScript = "native_modules.gradle"; - -try { - const script = fs.readFileSync(nativeModulesScript, { encoding: "utf-8" }); - // TODO: Remove when `@react-native-community/cli` 6.0+ is required. See also - // https://github.com/react-native-community/cli/commit/fa0d09b2c9be144bbdff526bb14f171d7ddca88e - const patched = script.replace( - "ArrayList>[] packages = this.reactNativeModules", - "ArrayList> packages = this.reactNativeModules" - ); - if (patched !== script) { - fs.writeFileSync(nativeModulesScript, patched); - } -} catch (_) { - // Ignore if we cannot patch -} diff --git a/test-app.gradle b/test-app.gradle index 5adfa14d3b..951090226b 100644 --- a/test-app.gradle +++ b/test-app.gradle @@ -14,15 +14,6 @@ private static void applyConfigPlugins(String testAppDir, File rootDir) { } } -// TODO: Remove when `@react-native-community/cli` 6.0+ is required. See also -// https://github.com/react-native-community/cli/commit/fa0d09b2c9be144bbdff526bb14f171d7ddca88e -private static void patchArgumentTypeMismatchError(String testAppDir, File cliAndroidDir) { - // We need to delegate this to a separate script to avoid running out of - // Java heap space. - String[] patch = ["node", "${testAppDir}/scripts/patch-cli-platform-android.js"] - Runtime.runtime.exec(patch, null, cliAndroidDir).waitFor() -} - def testAppDir = buildscript.sourceFile.getParent() apply(from: "${testAppDir}/android/test-app-util.gradle") @@ -30,7 +21,6 @@ checkEnvironment(rootDir) def reactNativeDir = file(findNodeModulesPath("react-native", rootDir)) def cliAndroidDir = findNodeModulesPath("@react-native-community/cli-platform-android", reactNativeDir) -patchArgumentTypeMismatchError(testAppDir, file(cliAndroidDir)) if (findNodeModulesPath("@expo/config-plugins", rootDir)) { applyConfigPlugins(testAppDir, rootDir) diff --git a/test/pack.test.mjs b/test/pack.test.mjs index 2e51b18803..0527795707 100644 --- a/test/pack.test.mjs +++ b/test/pack.test.mjs @@ -38,10 +38,12 @@ describe("npm pack", () => { "android/app/src/main/AndroidManifest.xml", "android/app/src/main/java/com/microsoft/reacttestapp/MainActivity.kt", "android/app/src/main/java/com/microsoft/reacttestapp/Session.kt", + "android/app/src/main/java/com/microsoft/reacttestapp/compat/ReactNativeHostCompat.kt", "android/app/src/main/java/com/microsoft/reacttestapp/component/ComponentActivity.kt", "android/app/src/main/java/com/microsoft/reacttestapp/component/ComponentBottomSheetDialogFragment.kt", "android/app/src/main/java/com/microsoft/reacttestapp/component/ComponentListAdapter.kt", "android/app/src/main/java/com/microsoft/reacttestapp/component/ComponentViewModel.kt", + "android/app/src/main/java/com/microsoft/reacttestapp/fabric/ComponentsRegistry.kt", "android/app/src/main/java/com/microsoft/reacttestapp/manifest/Manifest.kt", "android/app/src/main/java/com/microsoft/reacttestapp/manifest/ManifestProvider.kt", "android/app/src/main/java/com/microsoft/reacttestapp/manifest/MoshiBundleAdapter.kt", @@ -49,6 +51,7 @@ describe("npm pack", () => { "android/app/src/main/java/com/microsoft/reacttestapp/react/ReactBundleNameProvider.kt", "android/app/src/main/java/com/microsoft/reacttestapp/react/TestAppReactNativeHost.kt", "android/app/src/main/java/com/microsoft/reacttestapp/react/ToReadableMap.kt", + "android/app/src/main/java/com/microsoft/reacttestapp/turbomodule/TurboModuleManagerDelegate.kt", "android/app/src/main/jni/Android.mk", "android/app/src/main/jni/AppRegistry.cpp", "android/app/src/main/jni/AppRegistry.h", @@ -81,17 +84,12 @@ describe("npm pack", () => { "android/app/src/main/res/values/styles.xml", "android/app/src/no-camera/java/com/microsoft/reacttestapp/camera/MainActivityExtensions.kt", "android/app/src/no-fabric/java/com/microsoft/reacttestapp/fabric/FabricJSIModulePackage.kt", - "android/app/src/no-turbomodule/java/com/microsoft/reacttestapp/compat/ReactNativeHostCompat.kt", - "android/app/src/no-turbomodule/java/com/microsoft/reacttestapp/fabric/ComponentsRegistry.kt", "android/app/src/reactactivitydelegate-0.72/java/com/microsoft/reacttestapp/component/ComponentActivityDelegate.kt", "android/app/src/reactactivitydelegate-pre-0.72/java/com/microsoft/reacttestapp/component/ComponentActivityDelegate.kt", "android/app/src/reactapplication-0.73/java/com/microsoft/reacttestapp/TestApp.kt", "android/app/src/reactapplication-pre-0.73/java/com/microsoft/reacttestapp/TestApp.kt", "android/app/src/reactinstanceeventlistener-0.68/java/com/microsoft/reacttestapp/compat/ReactInstanceEventListener.kt", "android/app/src/reactinstanceeventlistener-pre-0.68/java/com/microsoft/reacttestapp/compat/ReactInstanceEventListener.kt", - "android/app/src/turbomodule/java/com/microsoft/reacttestapp/compat/ReactNativeHostCompat.kt", - "android/app/src/turbomodule/java/com/microsoft/reacttestapp/fabric/ComponentsRegistry.kt", - "android/app/src/turbomodule/java/com/microsoft/reacttestapp/turbomodule/TurboModuleManagerDelegate.kt", "android/dependencies.gradle", "android/settings.gradle", "android/support/build.gradle", @@ -183,7 +181,6 @@ describe("npm pack", () => { "scripts/init.js", "scripts/link.js", "scripts/parseargs.js", - "scripts/patch-cli-platform-android.js", "scripts/schema.js", "scripts/validate-manifest.js", "test-app.gradle", diff --git a/test/test_test_app.rb b/test/test_test_app.rb index ef427cfd68..4a6915a957 100644 --- a/test/test_test_app.rb +++ b/test/test_test_app.rb @@ -103,22 +103,17 @@ def test_package_version def test_react_native_pods [ - ['1000.0.0', '0.70'], - ['0.70.0', '0.70'], - ['0.70.0-rc.1', '0.70'], - ['0.68.0', '0.68'], - ['0.68.0-rc.1', '0.68'], - ['0.67.3', '0.64'], - ['0.66.4', '0.64'], - ['0.65.1', '0.64'], - ['0.64.3', '0.64'], - ['0.64.0', '0.64'], + [v(1000, 0, 0), '0.70'], + [v(0, 70, 0), '0.70'], + [v(0, 68, 0), '0.68'], + [v(0, 67, 3), '0.64'], + [v(0, 66, 4), '0.64'], ].each do |target, profile| - assert_equal("use_react_native-#{profile}", react_native_pods(Gem::Version.new(target))) + assert_equal("use_react_native-#{profile}", react_native_pods(target)) end assert_raises(RuntimeError) do - react_native_pods(Gem::Version.new('0.63.4')) + react_native_pods(v(0, 65, 3)) end end diff --git a/yarn.lock b/yarn.lock index f38d3785e8..e46653d45e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6468,11 +6468,6 @@ __metadata: react-native-test-app: "workspace:." react-native-windows: ^0.72.0 webdriverio: ^8.11.2 - peerDependencies: - react: ~17.0.1 || ~18.0.0 || ~18.1.0 || ~18.2.0 - react-native: ^0.0.0-0 || 0.64 - 0.72 || 1000.0.0 - react-native-macos: ^0.0.0-0 || 0.64 || 0.66 || 0.68 || 0.71 - 0.72 - react-native-windows: ^0.0.0-0 || 0.64 - 0.72 languageName: unknown linkType: soft @@ -11172,10 +11167,10 @@ fsevents@^2.3.2: uuid: ^8.3.2 peerDependencies: "@expo/config-plugins": ">=5.0" - react: ~17.0.1 || ~18.0.0 || ~18.1.0 || ~18.2.0 - react-native: ^0.0.0-0 || 0.64 - 0.72 || 1000.0.0 - react-native-macos: ^0.0.0-0 || 0.64 || 0.66 || 0.68 || 0.71 - 0.72 - react-native-windows: ^0.0.0-0 || 0.64 - 0.72 + react: ~17.0.2 || 18.0 - 18.2 + react-native: ^0.0.0-0 || 0.66 - 0.72 || 1000.0.0 + react-native-macos: ^0.0.0-0 || 0.66 || 0.68 || 0.71 - 0.72 + react-native-windows: ^0.0.0-0 || 0.66 - 0.72 peerDependenciesMeta: "@expo/config-plugins": optional: true