mirror of
				https://gitcode.com/gh_mirrors/re/react-native-pushy.git
				synced 2025-10-31 13:23:12 +08:00 
			
		
		
		
	
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -46,3 +46,4 @@ Example/**/.pushy | ||||
| Example/testHotUpdate/artifacts | ||||
|  | ||||
| yarn-error.log | ||||
| Example/testHotUpdate/.yarn | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| module.exports = { | ||||
|   root: true, | ||||
|   extends: '@react-native-community', | ||||
|   extends: '@react-native', | ||||
| }; | ||||
|   | ||||
							
								
								
									
										1
									
								
								Example/testHotUpdate/.yarnrc.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								Example/testHotUpdate/.yarnrc.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| nodeLinker: node-modules | ||||
| @@ -1,226 +1,87 @@ | ||||
| plugins { | ||||
|     id 'com.android.application' | ||||
|     id 'org.jetbrains.kotlin.android' | ||||
| apply plugin: "com.android.application" | ||||
| apply plugin: "com.facebook.react" | ||||
| apply plugin: "kotlin-android" | ||||
| apply plugin: "kotlin-android-extensions" | ||||
|  | ||||
| /** | ||||
|  * This is the configuration block to customize your React Native Android app. | ||||
|  * By default you don't need to apply any configuration, just uncomment the lines you need. | ||||
|  */ | ||||
| react { | ||||
|     /* Folders */ | ||||
|     //   The root of your project, i.e. where "package.json" lives. Default is '..' | ||||
|     // root = file("../") | ||||
|     //   The folder where the react-native NPM package is. Default is ../node_modules/react-native | ||||
|     // reactNativeDir = file("../node_modules/react-native") | ||||
|     //   The folder where the react-native Codegen package is. Default is ../node_modules/@react-native/codegen | ||||
|     // codegenDir = file("../node_modules/@react-native/codegen") | ||||
|     //   The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js | ||||
|     // cliFile = file("../node_modules/react-native/cli.js") | ||||
|  | ||||
|     /* Variants */ | ||||
|     //   The list of variants to that are debuggable. For those we're going to | ||||
|     //   skip the bundling of the JS bundle and the assets. By default is just 'debug'. | ||||
|     //   If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. | ||||
|     // debuggableVariants = ["liteDebug", "prodDebug"] | ||||
|  | ||||
|     /* Bundling */ | ||||
|     //   A list containing the node command and its flags. Default is just 'node'. | ||||
|     // nodeExecutableAndArgs = ["node"] | ||||
|     // | ||||
|     //   The command to run when bundling. By default is 'bundle' | ||||
|     // bundleCommand = "ram-bundle" | ||||
|     // | ||||
|     //   The path to the CLI configuration file. Default is empty. | ||||
|     // bundleConfig = file(../rn-cli.config.js) | ||||
|     // | ||||
|     //   The name of the generated asset file containing your JS bundle | ||||
|     // bundleAssetName = "MyApplication.android.bundle" | ||||
|     // | ||||
|     //   The entry file for bundle generation. Default is 'index.android.js' or 'index.js' | ||||
|     // entryFile = file("../js/MyApplication.android.js") | ||||
|     // | ||||
|     //   A list of extra flags to pass to the 'bundle' commands. | ||||
|     //   See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle | ||||
|     // extraPackagerArgs = [] | ||||
|  | ||||
|     /* Hermes Commands */ | ||||
|     //   The hermes compiler command to run. By default it is 'hermesc' | ||||
|     // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" | ||||
|     // | ||||
|     //   The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" | ||||
|     // hermesFlags = ["-O", "-output-source-map"] | ||||
| } | ||||
|  | ||||
| import com.android.build.OutputFile | ||||
|  | ||||
| /** | ||||
|  * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets | ||||
|  * and bundleReleaseJsAndAssets). | ||||
|  * These basically call `react-native bundle` with the correct arguments during the Android build | ||||
|  * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the | ||||
|  * bundle directly from the development server. Below you can see all the possible configurations | ||||
|  * and their defaults. If you decide to add a configuration block, make sure to add it before the | ||||
|  * `apply from: "../../node_modules/react-native/react.gradle"` line. | ||||
|  * | ||||
|  * project.ext.react = [ | ||||
|  *   // the name of the generated asset file containing your JS bundle | ||||
|  *   bundleAssetName: "index.android.bundle", | ||||
|  * | ||||
|  *   // the entry file for bundle generation. If none specified and | ||||
|  *   // "index.android.js" exists, it will be used. Otherwise "index.js" is | ||||
|  *   // default. Can be overridden with ENTRY_FILE environment variable. | ||||
|  *   entryFile: "index.android.js", | ||||
|  * | ||||
|  *   // https://reactnative.dev/docs/performance#enable-the-ram-format | ||||
|  *   bundleCommand: "ram-bundle", | ||||
|  * | ||||
|  *   // whether to bundle JS and assets in debug mode | ||||
|  *   bundleInDebug: false, | ||||
|  * | ||||
|  *   // whether to bundle JS and assets in release mode | ||||
|  *   bundleInRelease: true, | ||||
|  * | ||||
|  *   // whether to bundle JS and assets in another build variant (if configured). | ||||
|  *   // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants | ||||
|  *   // The configuration property can be in the following formats | ||||
|  *   //         'bundleIn${productFlavor}${buildType}' | ||||
|  *   //         'bundleIn${buildType}' | ||||
|  *   // bundleInFreeDebug: true, | ||||
|  *   // bundleInPaidRelease: true, | ||||
|  *   // bundleInBeta: true, | ||||
|  * | ||||
|  *   // whether to disable dev mode in custom build variants (by default only disabled in release) | ||||
|  *   // for example: to disable dev mode in the staging build type (if configured) | ||||
|  *   devDisabledInStaging: true, | ||||
|  *   // The configuration property can be in the following formats | ||||
|  *   //         'devDisabledIn${productFlavor}${buildType}' | ||||
|  *   //         'devDisabledIn${buildType}' | ||||
|  * | ||||
|  *   // the root of your project, i.e. where "package.json" lives | ||||
|  *   root: "../../", | ||||
|  * | ||||
|  *   // where to put the JS bundle asset in debug mode | ||||
|  *   jsBundleDirDebug: "$buildDir/intermediates/assets/debug", | ||||
|  * | ||||
|  *   // where to put the JS bundle asset in release mode | ||||
|  *   jsBundleDirRelease: "$buildDir/intermediates/assets/release", | ||||
|  * | ||||
|  *   // where to put drawable resources / React Native assets, e.g. the ones you use via | ||||
|  *   // require('./image.png')), in debug mode | ||||
|  *   resourcesDirDebug: "$buildDir/intermediates/res/merged/debug", | ||||
|  * | ||||
|  *   // where to put drawable resources / React Native assets, e.g. the ones you use via | ||||
|  *   // require('./image.png')), in release mode | ||||
|  *   resourcesDirRelease: "$buildDir/intermediates/res/merged/release", | ||||
|  * | ||||
|  *   // by default the gradle tasks are skipped if none of the JS files or assets change; this means | ||||
|  *   // that we don't look at files in android/ or ios/ to determine whether the tasks are up to | ||||
|  *   // date; if you have any other folders that you want to ignore for performance reasons (gradle | ||||
|  *   // indexes the entire tree), add them here. Alternatively, if you have JS files in android/ | ||||
|  *   // for example, you might want to remove it from here. | ||||
|  *   inputExcludes: ["android/**", "ios/**"], | ||||
|  * | ||||
|  *   // override which node gets called and with what additional arguments | ||||
|  *   nodeExecutableAndArgs: ["node"], | ||||
|  * | ||||
|  *   // supply additional arguments to the packager | ||||
|  *   extraPackagerArgs: [] | ||||
|  * ] | ||||
|  */ | ||||
|  | ||||
| project.ext.react = [ | ||||
|     enableHermes: false,  // clean and rebuild if changing | ||||
| ] | ||||
|  | ||||
| apply from: "../../node_modules/react-native/react.gradle" | ||||
|  | ||||
| /** | ||||
|  * Set this to true to create two separate APKs instead of one: | ||||
|  *   - An APK that only works on ARM devices | ||||
|  *   - An APK that only works on x86 devices | ||||
|  * The advantage is the size of the APK is reduced by about 4MB. | ||||
|  * Upload all the APKs to the Play Store and people will download | ||||
|  * the correct one based on the CPU architecture of their device. | ||||
|  */ | ||||
| def enableSeparateBuildPerCPUArchitecture = true | ||||
|  | ||||
| /** | ||||
|  * Run Proguard to shrink the Java bytecode in release builds. | ||||
|  * Set this to true to Run Proguard on Release builds to minify the Java bytecode. | ||||
|  */ | ||||
| def enableProguardInReleaseBuilds = false | ||||
|  | ||||
| /** | ||||
|  * The preferred build flavor of JavaScriptCore. | ||||
|  * The preferred build flavor of JavaScriptCore (JSC) | ||||
|  * | ||||
|  * For example, to use the international variant, you can use: | ||||
|  * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` | ||||
|  * | ||||
|  * The international variant includes ICU i18n library and necessary data | ||||
|  * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that | ||||
|  * give correct results when using with locales other than en-US.  Note that | ||||
|  * give correct results when using with locales other than en-US. Note that | ||||
|  * this variant is about 6MiB larger per architecture than default. | ||||
|  */ | ||||
| def jscFlavor = 'org.webkit:android-jsc:+' | ||||
|  | ||||
| /** | ||||
|  * Whether to enable the Hermes VM. | ||||
|  * | ||||
|  * This should be set on project.ext.react and that value will be read here. If it is not set | ||||
|  * on project.ext.react, JavaScript will not be compiled to Hermes Bytecode | ||||
|  * and the benefits of using Hermes will therefore be sharply reduced. | ||||
|  */ | ||||
| def enableHermes = project.ext.react.get("enableHermes", false); | ||||
|  | ||||
| /** | ||||
|  * Architectures to build native code for. | ||||
|  */ | ||||
| def reactNativeArchitectures() { | ||||
|     def value = project.getProperties().get("reactNativeArchitectures") | ||||
|     return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"] | ||||
| } | ||||
|  | ||||
| android { | ||||
|     ndkVersion rootProject.ext.ndkVersion | ||||
|  | ||||
|     compileSdkVersion rootProject.ext.compileSdkVersion | ||||
|  | ||||
|     namespace "com.awesomeproject" | ||||
|     defaultConfig { | ||||
|         applicationId "com.awesomeproject" | ||||
|         minSdkVersion rootProject.ext.minSdkVersion | ||||
|         targetSdkVersion rootProject.ext.targetSdkVersion | ||||
|         versionCode 1 | ||||
|         versionName "2.0" | ||||
|         testBuildType System.getProperty('testBuildType', 'debug') | ||||
|         testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' | ||||
|         buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() | ||||
|  | ||||
|         if (isNewArchitectureEnabled()) { | ||||
|             // We configure the NDK build only if you decide to opt-in for the New Architecture. | ||||
|             externalNativeBuild { | ||||
|                 ndkBuild { | ||||
|                     arguments "APP_PLATFORM=android-21", | ||||
|                         "APP_STL=c++_shared", | ||||
|                         "NDK_TOOLCHAIN_VERSION=clang", | ||||
|                         "GENERATED_SRC_DIR=$buildDir/generated/source", | ||||
|                         "PROJECT_BUILD_DIR=$buildDir", | ||||
|                         "REACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid", | ||||
|                         "REACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build", | ||||
|                         "NODE_MODULES_DIR=$rootDir/../node_modules" | ||||
|                     cFlags "-Wall", "-Werror", "-fexceptions", "-frtti", "-DWITH_INSPECTOR=1" | ||||
|                     cppFlags "-std=c++17" | ||||
|                     // Make sure this target name is the same you specify inside the | ||||
|                     // src/main/jni/Android.mk file for the `LOCAL_MODULE` variable. | ||||
|                     targets "awesomeproject_appmodules" | ||||
|                 } | ||||
|             } | ||||
|             if (!enableSeparateBuildPerCPUArchitecture) { | ||||
|                 ndk { | ||||
|                     abiFilters (*reactNativeArchitectures()) | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     if (isNewArchitectureEnabled()) { | ||||
|         // We configure the NDK build only if you decide to opt-in for the New Architecture. | ||||
|         externalNativeBuild { | ||||
|             ndkBuild { | ||||
|                 path "$projectDir/src/main/jni/Android.mk" | ||||
|             } | ||||
|         } | ||||
|         def reactAndroidProjectDir = project(':ReactAndroid').projectDir | ||||
|         def packageReactNdkDebugLibs = tasks.register("packageReactNdkDebugLibs", Copy) { | ||||
|             dependsOn(":ReactAndroid:packageReactNdkDebugLibsForBuck") | ||||
|             from("$reactAndroidProjectDir/src/main/jni/prebuilt/lib") | ||||
|             into("$buildDir/react-ndk/exported") | ||||
|         } | ||||
|         def packageReactNdkReleaseLibs = tasks.register("packageReactNdkReleaseLibs", Copy) { | ||||
|             dependsOn(":ReactAndroid:packageReactNdkReleaseLibsForBuck") | ||||
|             from("$reactAndroidProjectDir/src/main/jni/prebuilt/lib") | ||||
|             into("$buildDir/react-ndk/exported") | ||||
|         } | ||||
|         afterEvaluate { | ||||
|             // If you wish to add a custom TurboModule or component locally, | ||||
|             // you should uncomment this line. | ||||
|             // preBuild.dependsOn("generateCodegenArtifactsFromSchema") | ||||
|             preDebugBuild.dependsOn(packageReactNdkDebugLibs) | ||||
|             preReleaseBuild.dependsOn(packageReactNdkReleaseLibs) | ||||
|  | ||||
|             // Due to a bug inside AGP, we have to explicitly set a dependency | ||||
|             // between configureNdkBuild* tasks and the preBuild tasks. | ||||
|             // This can be removed once this is solved: https://issuetracker.google.com/issues/207403732 | ||||
|             configureNdkBuildRelease.dependsOn(preReleaseBuild) | ||||
|             configureNdkBuildDebug.dependsOn(preDebugBuild) | ||||
|             reactNativeArchitectures().each { architecture -> | ||||
|                 tasks.findByName("configureNdkBuildDebug[${architecture}]")?.configure { | ||||
|                     dependsOn("preDebugBuild") | ||||
|                 } | ||||
|                 tasks.findByName("configureNdkBuildRelease[${architecture}]")?.configure { | ||||
|                     dependsOn("preReleaseBuild") | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     splits { | ||||
|         abi { | ||||
|             reset() | ||||
|             enable enableSeparateBuildPerCPUArchitecture | ||||
|             universalApk false  // If true, also generate a universal APK | ||||
|             include (*reactNativeArchitectures()) | ||||
|         } | ||||
|         versionName "1.0" | ||||
|     } | ||||
|     signingConfigs { | ||||
|         debug { | ||||
| @@ -237,93 +98,28 @@ android { | ||||
|         release { | ||||
|             // Caution! In production, you need to generate your own keystore file. | ||||
|             // see https://reactnative.dev/docs/signed-apk-android. | ||||
|             crunchPngs false | ||||
|             signingConfig signingConfigs.debug | ||||
|             minifyEnabled enableProguardInReleaseBuilds | ||||
|             proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" | ||||
|             proguardFile "${rootProject.projectDir}/../node_modules/detox/android/detox/proguard-rules-app.pro" | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     // applicationVariants are e.g. debug, release | ||||
|     applicationVariants.all { variant -> | ||||
|         variant.outputs.each { output -> | ||||
|             // For each separate APK per architecture, set a unique version code as described here: | ||||
|             // https://developer.android.com/studio/build/configure-apk-splits.html | ||||
|             // Example: versionCode 1 will generate 1001 for armeabi-v7a, 1002 for x86, etc. | ||||
|             def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4] | ||||
|             def abi = output.getFilter(OutputFile.ABI) | ||||
|             if (abi != null) {  // null for the universal-debug, universal-release variants | ||||
|                 output.versionCodeOverride = | ||||
|                         defaultConfig.versionCode * 1000 + versionCodes.get(abi) | ||||
|             } | ||||
|  | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| dependencies { | ||||
|     androidTestImplementation('com.wix:detox:+') | ||||
|     implementation 'androidx.appcompat:appcompat:1.1.0' | ||||
|     implementation fileTree(dir: "libs", include: ["*.jar"]) | ||||
|  | ||||
|     //noinspection GradleDynamicVersion | ||||
|     implementation "com.facebook.react:react-native:+"  // From node_modules | ||||
|  | ||||
|     implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0" | ||||
|  | ||||
|     debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") { | ||||
|         exclude group:'com.facebook.fbjni' | ||||
|     } | ||||
|     // The version of react-native is set by the React Native Gradle Plugin | ||||
|     implementation("com.facebook.react:react-android") | ||||
|  | ||||
|     debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") | ||||
|     debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") { | ||||
|         exclude group:'com.facebook.flipper' | ||||
|         exclude group:'com.squareup.okhttp3', module:'okhttp' | ||||
|     } | ||||
|  | ||||
|     debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") { | ||||
|         exclude group:'com.facebook.flipper' | ||||
|     } | ||||
|  | ||||
|     if (enableHermes) { | ||||
|         //noinspection GradleDynamicVersion | ||||
|         implementation("com.facebook.react:hermes-engine:+") { // From node_modules | ||||
|             exclude group:'com.facebook.fbjni' | ||||
|         } | ||||
|     debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") | ||||
|     if (hermesEnabled.toBoolean()) { | ||||
|         implementation("com.facebook.react:hermes-android") | ||||
|     } else { | ||||
|         implementation jscFlavor | ||||
|     } | ||||
| } | ||||
|  | ||||
| if (isNewArchitectureEnabled()) { | ||||
|     // If new architecture is enabled, we let you build RN from source | ||||
|     // Otherwise we fallback to a prebuilt .aar bundled in the NPM package. | ||||
|     // This will be applied to all the imported transtitive dependency. | ||||
|     configurations.all { | ||||
|         resolutionStrategy.dependencySubstitution { | ||||
|             substitute(module("com.facebook.react:react-native")) | ||||
|                     .using(project(":ReactAndroid")) | ||||
|                     .because("On New Architecture we're building React Native from source") | ||||
|             substitute(module("com.facebook.react:hermes-engine")) | ||||
|                     .using(project(":ReactAndroid:hermes-engine")) | ||||
|                     .because("On New Architecture we're building Hermes from source") | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| // Run this once to be able to run the application with BUCK | ||||
| // puts all compile dependencies into folder libs for BUCK to use | ||||
| task copyDownloadableDepsToLibs(type: Copy) { | ||||
|     from configurations.implementation | ||||
|     into 'libs' | ||||
| } | ||||
|  | ||||
| apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) | ||||
|  | ||||
| def isNewArchitectureEnabled() { | ||||
|     // To opt-in for the New Architecture, you can either: | ||||
|     // - Set `newArchEnabled` to true inside the `gradle.properties` file | ||||
|     // - Invoke gradle with `-newArchEnabled=true` | ||||
|     // - Set an environment variable `ORG_GRADLE_PROJECT_newArchEnabled=true` | ||||
|     return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true" | ||||
| } | ||||
|   | ||||
| @@ -2,7 +2,8 @@ package com.awesomeproject; | ||||
|  | ||||
| import com.facebook.react.ReactActivity; | ||||
| import com.facebook.react.ReactActivityDelegate; | ||||
| import com.facebook.react.ReactRootView; | ||||
| import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; | ||||
| import com.facebook.react.defaults.DefaultReactActivityDelegate; | ||||
|  | ||||
| public class MainActivity extends ReactActivity { | ||||
|  | ||||
| @@ -16,33 +17,16 @@ public class MainActivity extends ReactActivity { | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * Returns the instance of the {@link ReactActivityDelegate}. There the RootView is created and | ||||
|    * you can specify the renderer you wish to use - the new renderer (Fabric) or the old renderer | ||||
|    * (Paper). | ||||
|    * Returns the instance of the {@link ReactActivityDelegate}. Here we use a util class {@link | ||||
|    * DefaultReactActivityDelegate} which allows you to easily enable Fabric and Concurrent React | ||||
|    * (aka React 18) with two boolean flags. | ||||
|    */ | ||||
|   @Override | ||||
|   protected ReactActivityDelegate createReactActivityDelegate() { | ||||
|     return new MainActivityDelegate(this, getMainComponentName()); | ||||
|   } | ||||
|  | ||||
|   public static class MainActivityDelegate extends ReactActivityDelegate { | ||||
|     public MainActivityDelegate(ReactActivity activity, String mainComponentName) { | ||||
|       super(activity, mainComponentName); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     protected ReactRootView createRootView() { | ||||
|       ReactRootView reactRootView = new ReactRootView(getContext()); | ||||
|       // If you opted-in for the New Architecture, we enable the Fabric Renderer. | ||||
|       reactRootView.setIsFabric(BuildConfig.IS_NEW_ARCHITECTURE_ENABLED); | ||||
|       return reactRootView; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     protected boolean isConcurrentRootEnabled() { | ||||
|       // If you opted-in for the New Architecture, we enable Concurrent Root (i.e. React 18). | ||||
|       // More on this on https://reactjs.org/blog/2022/03/29/react-v18.html | ||||
|       return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; | ||||
|     } | ||||
|     return new DefaultReactActivityDelegate( | ||||
|         this, | ||||
|         getMainComponentName(), | ||||
|         // If you opted-in for the New Architecture, we enable the Fabric Renderer. | ||||
|         DefaultNewArchitectureEntryPoint.getFabricEnabled()); | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,104 +1,70 @@ | ||||
| package com.awesomeproject; | ||||
|  | ||||
| import android.app.Application; | ||||
| import android.content.Context; | ||||
|  | ||||
| import androidx.annotation.Nullable; | ||||
|  | ||||
| import com.facebook.react.PackageList; | ||||
| import com.facebook.react.ReactApplication; | ||||
| import com.facebook.react.ReactInstanceManager; | ||||
| import com.facebook.react.ReactNativeHost; | ||||
| import com.facebook.react.ReactPackage; | ||||
| import com.facebook.react.config.ReactFeatureFlags; | ||||
| import com.facebook.react.shell.MainReactPackage; | ||||
| import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; | ||||
| import com.facebook.react.defaults.DefaultReactNativeHost; | ||||
| import com.facebook.soloader.SoLoader; | ||||
| import com.awesomeproject.newarchitecture.MainApplicationReactNativeHost; | ||||
| import java.lang.reflect.InvocationTargetException; | ||||
| import java.util.Arrays; | ||||
| import java.util.List; | ||||
| import cn.reactnative.modules.update.UpdateContext; | ||||
| import cn.reactnative.modules.update.UpdatePackage; | ||||
|  | ||||
| public class MainApplication extends Application implements ReactApplication { | ||||
|  | ||||
|     private final ReactNativeHost mReactNativeHost = | ||||
|             new ReactNativeHost(this) { | ||||
|                 @Override | ||||
|                 public boolean getUseDeveloperSupport() { | ||||
|                     return BuildConfig.DEBUG; | ||||
|                 } | ||||
|   private final ReactNativeHost mReactNativeHost = | ||||
|       new DefaultReactNativeHost(this) { | ||||
|           @Override | ||||
|           public boolean getUseDeveloperSupport() { | ||||
|               return BuildConfig.DEBUG; | ||||
|           } | ||||
|  | ||||
|                 @Nullable | ||||
|                 @Override | ||||
|                 protected String getJSBundleFile() { | ||||
|                     return UpdateContext.getBundleUrl(MainApplication.this); | ||||
|                 } | ||||
|           @Override | ||||
|           protected String getJSBundleFile() { | ||||
|               return UpdateContext.getBundleUrl(MainApplication.this); | ||||
|           } | ||||
|  | ||||
|                 @Override | ||||
|                 protected List<ReactPackage> getPackages() { | ||||
|                     @SuppressWarnings("UnnecessaryLocalVariable") | ||||
|                     List<ReactPackage> packages = new PackageList(this).getPackages(); | ||||
|                     // Packages that cannot be autolinked yet can be added manually here, for example: | ||||
|                     // packages.add(new MyReactNativePackage()); | ||||
|                     return packages; | ||||
|                 } | ||||
|           @Override | ||||
|           protected List<ReactPackage> getPackages() { | ||||
|               @SuppressWarnings("UnnecessaryLocalVariable") | ||||
|               List<ReactPackage> packages = new PackageList(this).getPackages(); | ||||
|               // Packages that cannot be autolinked yet can be added manually here, for example: | ||||
|               // packages.add(new MyReactNativePackage()); | ||||
|               return packages; | ||||
|           } | ||||
|  | ||||
|                 @Override | ||||
|                 protected String getJSMainModuleName() { | ||||
|                     return "index"; | ||||
|                 } | ||||
|             }; | ||||
|           @Override | ||||
|           protected boolean isNewArchEnabled() { | ||||
|               return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; | ||||
|           } | ||||
|  | ||||
|           @Override | ||||
|           protected Boolean isHermesEnabled() { | ||||
|               return BuildConfig.IS_HERMES_ENABLED; | ||||
|           } | ||||
|  | ||||
|  | ||||
|           @Override | ||||
|           protected String getJSMainModuleName() { | ||||
|               return "index"; | ||||
|           } | ||||
|       }; | ||||
|  | ||||
|   private final ReactNativeHost mNewArchitectureNativeHost = | ||||
|       new MainApplicationReactNativeHost(this); | ||||
|  | ||||
|   @Override | ||||
|   public ReactNativeHost getReactNativeHost() { | ||||
|     if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { | ||||
|       return mNewArchitectureNativeHost; | ||||
|     } else { | ||||
|       return mReactNativeHost; | ||||
|     } | ||||
|     return mReactNativeHost; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public void onCreate() { | ||||
|     super.onCreate(); | ||||
|     // If you opted-in for the New Architecture, we enable the TurboModule system | ||||
|     ReactFeatureFlags.useTurboModules = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; | ||||
|     SoLoader.init(this, /* native exopackage */ false); | ||||
|     initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * Loads Flipper in React Native templates. Call this in the onCreate method with something like | ||||
|    * initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); | ||||
|    * | ||||
|    * @param context | ||||
|    * @param reactInstanceManager | ||||
|    */ | ||||
|   private static void initializeFlipper( | ||||
|       Context context, ReactInstanceManager reactInstanceManager) { | ||||
|     if (BuildConfig.DEBUG) { | ||||
|       try { | ||||
|         /* | ||||
|          We use reflection here to pick up the class that initializes Flipper, | ||||
|         since Flipper library is not available in release mode | ||||
|         */ | ||||
|         Class<?> aClass = Class.forName("com.awesomeproject.ReactNativeFlipper"); | ||||
|         aClass | ||||
|             .getMethod("initializeFlipper", Context.class, ReactInstanceManager.class) | ||||
|             .invoke(null, context, reactInstanceManager); | ||||
|       } catch (ClassNotFoundException e) { | ||||
|         e.printStackTrace(); | ||||
|       } catch (NoSuchMethodException e) { | ||||
|         e.printStackTrace(); | ||||
|       } catch (IllegalAccessException e) { | ||||
|         e.printStackTrace(); | ||||
|       } catch (InvocationTargetException e) { | ||||
|         e.printStackTrace(); | ||||
|       } | ||||
|     if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { | ||||
|       // If you opted-in for the New Architecture, we load the native entry point for this app. | ||||
|       DefaultNewArchitectureEntryPoint.load(); | ||||
|     } | ||||
|     ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,116 +0,0 @@ | ||||
| package com.awesomeproject.newarchitecture; | ||||
|  | ||||
| import android.app.Application; | ||||
| import androidx.annotation.NonNull; | ||||
| import com.facebook.react.PackageList; | ||||
| import com.facebook.react.ReactInstanceManager; | ||||
| import com.facebook.react.ReactNativeHost; | ||||
| import com.facebook.react.ReactPackage; | ||||
| import com.facebook.react.ReactPackageTurboModuleManagerDelegate; | ||||
| import com.facebook.react.bridge.JSIModulePackage; | ||||
| import com.facebook.react.bridge.JSIModuleProvider; | ||||
| import com.facebook.react.bridge.JSIModuleSpec; | ||||
| import com.facebook.react.bridge.JSIModuleType; | ||||
| import com.facebook.react.bridge.JavaScriptContextHolder; | ||||
| import com.facebook.react.bridge.ReactApplicationContext; | ||||
| import com.facebook.react.bridge.UIManager; | ||||
| import com.facebook.react.fabric.ComponentFactory; | ||||
| import com.facebook.react.fabric.CoreComponentsRegistry; | ||||
| import com.facebook.react.fabric.FabricJSIModuleProvider; | ||||
| import com.facebook.react.fabric.ReactNativeConfig; | ||||
| import com.facebook.react.uimanager.ViewManagerRegistry; | ||||
| import com.awesomeproject.BuildConfig; | ||||
| import com.awesomeproject.newarchitecture.components.MainComponentsRegistry; | ||||
| import com.awesomeproject.newarchitecture.modules.MainApplicationTurboModuleManagerDelegate; | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * A {@link ReactNativeHost} that helps you load everything needed for the New Architecture, both | ||||
|  * TurboModule delegates and the Fabric Renderer. | ||||
|  * | ||||
|  * <p>Please note that this class is used ONLY if you opt-in for the New Architecture (see the | ||||
|  * `newArchEnabled` property). Is ignored otherwise. | ||||
|  */ | ||||
| public class MainApplicationReactNativeHost extends ReactNativeHost { | ||||
|   public MainApplicationReactNativeHost(Application application) { | ||||
|     super(application); | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public boolean getUseDeveloperSupport() { | ||||
|     return BuildConfig.DEBUG; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   protected List<ReactPackage> getPackages() { | ||||
|     List<ReactPackage> packages = new PackageList(this).getPackages(); | ||||
|     // Packages that cannot be autolinked yet can be added manually here, for example: | ||||
|     //     packages.add(new MyReactNativePackage()); | ||||
|     // TurboModules must also be loaded here providing a valid TurboReactPackage implementation: | ||||
|     //     packages.add(new TurboReactPackage() { ... }); | ||||
|     // If you have custom Fabric Components, their ViewManagers should also be loaded here | ||||
|     // inside a ReactPackage. | ||||
|     return packages; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   protected String getJSMainModuleName() { | ||||
|     return "index"; | ||||
|   } | ||||
|  | ||||
|   @NonNull | ||||
|   @Override | ||||
|   protected ReactPackageTurboModuleManagerDelegate.Builder | ||||
|       getReactPackageTurboModuleManagerDelegateBuilder() { | ||||
|     // Here we provide the ReactPackageTurboModuleManagerDelegate Builder. This is necessary | ||||
|     // for the new architecture and to use TurboModules correctly. | ||||
|     return new MainApplicationTurboModuleManagerDelegate.Builder(); | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   protected JSIModulePackage getJSIModulePackage() { | ||||
|     return new JSIModulePackage() { | ||||
|       @Override | ||||
|       public List<JSIModuleSpec> getJSIModules( | ||||
|           final ReactApplicationContext reactApplicationContext, | ||||
|           final JavaScriptContextHolder jsContext) { | ||||
|         final List<JSIModuleSpec> specs = new ArrayList<>(); | ||||
|  | ||||
|         // Here we provide a new JSIModuleSpec that will be responsible of providing the | ||||
|         // custom Fabric Components. | ||||
|         specs.add( | ||||
|             new JSIModuleSpec() { | ||||
|               @Override | ||||
|               public JSIModuleType getJSIModuleType() { | ||||
|                 return JSIModuleType.UIManager; | ||||
|               } | ||||
|  | ||||
|               @Override | ||||
|               public JSIModuleProvider<UIManager> getJSIModuleProvider() { | ||||
|                 final ComponentFactory componentFactory = new ComponentFactory(); | ||||
|                 CoreComponentsRegistry.register(componentFactory); | ||||
|  | ||||
|                 // Here we register a Components Registry. | ||||
|                 // The one that is generated with the template contains no components | ||||
|                 // and just provides you the one from React Native core. | ||||
|                 MainComponentsRegistry.register(componentFactory); | ||||
|  | ||||
|                 final ReactInstanceManager reactInstanceManager = getReactInstanceManager(); | ||||
|  | ||||
|                 ViewManagerRegistry viewManagerRegistry = | ||||
|                     new ViewManagerRegistry( | ||||
|                         reactInstanceManager.getOrCreateViewManagers(reactApplicationContext)); | ||||
|  | ||||
|                 return new FabricJSIModuleProvider( | ||||
|                     reactApplicationContext, | ||||
|                     componentFactory, | ||||
|                     ReactNativeConfig.DEFAULT_CONFIG, | ||||
|                     viewManagerRegistry); | ||||
|               } | ||||
|             }); | ||||
|         return specs; | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
| } | ||||
| @@ -1,36 +0,0 @@ | ||||
| package com.awesomeproject.newarchitecture.components; | ||||
|  | ||||
| import com.facebook.jni.HybridData; | ||||
| import com.facebook.proguard.annotations.DoNotStrip; | ||||
| import com.facebook.react.fabric.ComponentFactory; | ||||
| import com.facebook.soloader.SoLoader; | ||||
|  | ||||
| /** | ||||
|  * Class responsible to load the custom Fabric Components. This class has native methods and needs a | ||||
|  * corresponding C++ implementation/header file to work correctly (already placed inside the jni/ | ||||
|  * folder for you). | ||||
|  * | ||||
|  * <p>Please note that this class is used ONLY if you opt-in for the New Architecture (see the | ||||
|  * `newArchEnabled` property). Is ignored otherwise. | ||||
|  */ | ||||
| @DoNotStrip | ||||
| public class MainComponentsRegistry { | ||||
|   static { | ||||
|     SoLoader.loadLibrary("fabricjni"); | ||||
|   } | ||||
|  | ||||
|   @DoNotStrip private final HybridData mHybridData; | ||||
|  | ||||
|   @DoNotStrip | ||||
|   private native HybridData initHybrid(ComponentFactory componentFactory); | ||||
|  | ||||
|   @DoNotStrip | ||||
|   private MainComponentsRegistry(ComponentFactory componentFactory) { | ||||
|     mHybridData = initHybrid(componentFactory); | ||||
|   } | ||||
|  | ||||
|   @DoNotStrip | ||||
|   public static MainComponentsRegistry register(ComponentFactory componentFactory) { | ||||
|     return new MainComponentsRegistry(componentFactory); | ||||
|   } | ||||
| } | ||||
| @@ -1,48 +0,0 @@ | ||||
| package com.awesomeproject.newarchitecture.modules; | ||||
|  | ||||
| import com.facebook.jni.HybridData; | ||||
| import com.facebook.react.ReactPackage; | ||||
| import com.facebook.react.ReactPackageTurboModuleManagerDelegate; | ||||
| import com.facebook.react.bridge.ReactApplicationContext; | ||||
| import com.facebook.soloader.SoLoader; | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * Class responsible to load the TurboModules. This class has native methods and needs a | ||||
|  * corresponding C++ implementation/header file to work correctly (already placed inside the jni/ | ||||
|  * folder for you). | ||||
|  * | ||||
|  * <p>Please note that this class is used ONLY if you opt-in for the New Architecture (see the | ||||
|  * `newArchEnabled` property). Is ignored otherwise. | ||||
|  */ | ||||
| public class MainApplicationTurboModuleManagerDelegate | ||||
|     extends ReactPackageTurboModuleManagerDelegate { | ||||
|  | ||||
|   private static volatile boolean sIsSoLibraryLoaded; | ||||
|  | ||||
|   protected MainApplicationTurboModuleManagerDelegate( | ||||
|       ReactApplicationContext reactApplicationContext, List<ReactPackage> packages) { | ||||
|     super(reactApplicationContext, packages); | ||||
|   } | ||||
|  | ||||
|   protected native HybridData initHybrid(); | ||||
|  | ||||
|   native boolean canCreateTurboModule(String moduleName); | ||||
|  | ||||
|   public static class Builder extends ReactPackageTurboModuleManagerDelegate.Builder { | ||||
|     protected MainApplicationTurboModuleManagerDelegate build( | ||||
|         ReactApplicationContext context, List<ReactPackage> packages) { | ||||
|       return new MainApplicationTurboModuleManagerDelegate(context, packages); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   protected synchronized void maybeLoadOtherSoLibraries() { | ||||
|     if (!sIsSoLibraryLoaded) { | ||||
|       // If you change the name of your application .so file in the Android.mk file, | ||||
|       // make sure you update the name here as well. | ||||
|       SoLoader.loadLibrary("awesomeproject_appmodules"); | ||||
|       sIsSoLibraryLoaded = true; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @@ -1,48 +0,0 @@ | ||||
| THIS_DIR := $(call my-dir) | ||||
|  | ||||
| include $(REACT_ANDROID_DIR)/Android-prebuilt.mk | ||||
|  | ||||
| # If you wish to add a custom TurboModule or Fabric component in your app you | ||||
| # will have to include the following autogenerated makefile. | ||||
| # include $(GENERATED_SRC_DIR)/codegen/jni/Android.mk | ||||
| include $(CLEAR_VARS) | ||||
|  | ||||
| LOCAL_PATH := $(THIS_DIR) | ||||
|  | ||||
| # You can customize the name of your application .so file here. | ||||
| LOCAL_MODULE := awesomeproject_appmodules | ||||
|  | ||||
| LOCAL_C_INCLUDES := $(LOCAL_PATH) | ||||
| LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp) | ||||
| LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) | ||||
|  | ||||
| # If you wish to add a custom TurboModule or Fabric component in your app you | ||||
| # will have to uncomment those lines to include the generated source | ||||
| # files from the codegen (placed in $(GENERATED_SRC_DIR)/codegen/jni) | ||||
| # | ||||
| # LOCAL_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni | ||||
| # LOCAL_SRC_FILES += $(wildcard $(GENERATED_SRC_DIR)/codegen/jni/*.cpp) | ||||
| # LOCAL_EXPORT_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni | ||||
|  | ||||
| # Here you should add any native library you wish to depend on. | ||||
| LOCAL_SHARED_LIBRARIES := \ | ||||
|   libfabricjni \ | ||||
|   libfbjni \ | ||||
|   libfolly_runtime \ | ||||
|   libglog \ | ||||
|   libjsi \ | ||||
|   libreact_codegen_rncore \ | ||||
|   libreact_debug \ | ||||
|   libreact_nativemodule_core \ | ||||
|   libreact_render_componentregistry \ | ||||
|   libreact_render_core \ | ||||
|   libreact_render_debug \ | ||||
|   libreact_render_graphics \ | ||||
|   librrc_view \ | ||||
|   libruntimeexecutor \ | ||||
|   libturbomodulejsijni \ | ||||
|   libyoga | ||||
|  | ||||
| LOCAL_CFLAGS := -DLOG_TAG=\"ReactNative\" -fexceptions -frtti -std=c++17 -Wall | ||||
|  | ||||
| include $(BUILD_SHARED_LIBRARY) | ||||
| @@ -1,24 +0,0 @@ | ||||
| #include "MainApplicationModuleProvider.h" | ||||
|  | ||||
| #include <rncore.h> | ||||
|  | ||||
| namespace facebook { | ||||
| namespace react { | ||||
|  | ||||
| std::shared_ptr<TurboModule> MainApplicationModuleProvider( | ||||
|     const std::string moduleName, | ||||
|     const JavaTurboModule::InitParams ¶ms) { | ||||
|   // Here you can provide your own module provider for TurboModules coming from | ||||
|   // either your application or from external libraries. The approach to follow | ||||
|   // is similar to the following (for a library called `samplelibrary`: | ||||
|   // | ||||
|   // auto module = samplelibrary_ModuleProvider(moduleName, params); | ||||
|   // if (module != nullptr) { | ||||
|   //    return module; | ||||
|   // } | ||||
|   // return rncore_ModuleProvider(moduleName, params); | ||||
|   return rncore_ModuleProvider(moduleName, params); | ||||
| } | ||||
|  | ||||
| } // namespace react | ||||
| } // namespace facebook | ||||
| @@ -1,16 +0,0 @@ | ||||
| #pragma once | ||||
|  | ||||
| #include <memory> | ||||
| #include <string> | ||||
|  | ||||
| #include <ReactCommon/JavaTurboModule.h> | ||||
|  | ||||
| namespace facebook { | ||||
| namespace react { | ||||
|  | ||||
| std::shared_ptr<TurboModule> MainApplicationModuleProvider( | ||||
|     const std::string moduleName, | ||||
|     const JavaTurboModule::InitParams ¶ms); | ||||
|  | ||||
| } // namespace react | ||||
| } // namespace facebook | ||||
| @@ -1,45 +0,0 @@ | ||||
| #include "MainApplicationTurboModuleManagerDelegate.h" | ||||
| #include "MainApplicationModuleProvider.h" | ||||
|  | ||||
| namespace facebook { | ||||
| namespace react { | ||||
|  | ||||
| jni::local_ref<MainApplicationTurboModuleManagerDelegate::jhybriddata> | ||||
| MainApplicationTurboModuleManagerDelegate::initHybrid( | ||||
|     jni::alias_ref<jhybridobject>) { | ||||
|   return makeCxxInstance(); | ||||
| } | ||||
|  | ||||
| void MainApplicationTurboModuleManagerDelegate::registerNatives() { | ||||
|   registerHybrid({ | ||||
|       makeNativeMethod( | ||||
|           "initHybrid", MainApplicationTurboModuleManagerDelegate::initHybrid), | ||||
|       makeNativeMethod( | ||||
|           "canCreateTurboModule", | ||||
|           MainApplicationTurboModuleManagerDelegate::canCreateTurboModule), | ||||
|   }); | ||||
| } | ||||
|  | ||||
| std::shared_ptr<TurboModule> | ||||
| MainApplicationTurboModuleManagerDelegate::getTurboModule( | ||||
|     const std::string name, | ||||
|     const std::shared_ptr<CallInvoker> jsInvoker) { | ||||
|   // Not implemented yet: provide pure-C++ NativeModules here. | ||||
|   return nullptr; | ||||
| } | ||||
|  | ||||
| std::shared_ptr<TurboModule> | ||||
| MainApplicationTurboModuleManagerDelegate::getTurboModule( | ||||
|     const std::string name, | ||||
|     const JavaTurboModule::InitParams ¶ms) { | ||||
|   return MainApplicationModuleProvider(name, params); | ||||
| } | ||||
|  | ||||
| bool MainApplicationTurboModuleManagerDelegate::canCreateTurboModule( | ||||
|     std::string name) { | ||||
|   return getTurboModule(name, nullptr) != nullptr || | ||||
|       getTurboModule(name, {.moduleName = name}) != nullptr; | ||||
| } | ||||
|  | ||||
| } // namespace react | ||||
| } // namespace facebook | ||||
| @@ -1,38 +0,0 @@ | ||||
| #include <memory> | ||||
| #include <string> | ||||
|  | ||||
| #include <ReactCommon/TurboModuleManagerDelegate.h> | ||||
| #include <fbjni/fbjni.h> | ||||
|  | ||||
| namespace facebook { | ||||
| namespace react { | ||||
|  | ||||
| class MainApplicationTurboModuleManagerDelegate | ||||
|     : public jni::HybridClass< | ||||
|           MainApplicationTurboModuleManagerDelegate, | ||||
|           TurboModuleManagerDelegate> { | ||||
|  public: | ||||
|   // Adapt it to the package you used for your Java class. | ||||
|   static constexpr auto kJavaDescriptor = | ||||
|       "Lcom/awesomeproject/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate;"; | ||||
|  | ||||
|   static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject>); | ||||
|  | ||||
|   static void registerNatives(); | ||||
|  | ||||
|   std::shared_ptr<TurboModule> getTurboModule( | ||||
|       const std::string name, | ||||
|       const std::shared_ptr<CallInvoker> jsInvoker) override; | ||||
|   std::shared_ptr<TurboModule> getTurboModule( | ||||
|       const std::string name, | ||||
|       const JavaTurboModule::InitParams ¶ms) override; | ||||
|  | ||||
|   /** | ||||
|    * Test-only method. Allows user to verify whether a TurboModule can be | ||||
|    * created by instances of this class. | ||||
|    */ | ||||
|   bool canCreateTurboModule(std::string name); | ||||
| }; | ||||
|  | ||||
| } // namespace react | ||||
| } // namespace facebook | ||||
| @@ -1,61 +0,0 @@ | ||||
| #include "MainComponentsRegistry.h" | ||||
|  | ||||
| #include <CoreComponentsRegistry.h> | ||||
| #include <fbjni/fbjni.h> | ||||
| #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h> | ||||
| #include <react/renderer/components/rncore/ComponentDescriptors.h> | ||||
|  | ||||
| namespace facebook { | ||||
| namespace react { | ||||
|  | ||||
| MainComponentsRegistry::MainComponentsRegistry(ComponentFactory *delegate) {} | ||||
|  | ||||
| std::shared_ptr<ComponentDescriptorProviderRegistry const> | ||||
| MainComponentsRegistry::sharedProviderRegistry() { | ||||
|   auto providerRegistry = CoreComponentsRegistry::sharedProviderRegistry(); | ||||
|  | ||||
|   // Custom Fabric Components go here. You can register custom | ||||
|   // components coming from your App or from 3rd party libraries here. | ||||
|   // | ||||
|   // providerRegistry->add(concreteComponentDescriptorProvider< | ||||
|   //        AocViewerComponentDescriptor>()); | ||||
|   return providerRegistry; | ||||
| } | ||||
|  | ||||
| jni::local_ref<MainComponentsRegistry::jhybriddata> | ||||
| MainComponentsRegistry::initHybrid( | ||||
|     jni::alias_ref<jclass>, | ||||
|     ComponentFactory *delegate) { | ||||
|   auto instance = makeCxxInstance(delegate); | ||||
|  | ||||
|   auto buildRegistryFunction = | ||||
|       [](EventDispatcher::Weak const &eventDispatcher, | ||||
|          ContextContainer::Shared const &contextContainer) | ||||
|       -> ComponentDescriptorRegistry::Shared { | ||||
|     auto registry = MainComponentsRegistry::sharedProviderRegistry() | ||||
|                         ->createComponentDescriptorRegistry( | ||||
|                             {eventDispatcher, contextContainer}); | ||||
|  | ||||
|     auto mutableRegistry = | ||||
|         std::const_pointer_cast<ComponentDescriptorRegistry>(registry); | ||||
|  | ||||
|     mutableRegistry->setFallbackComponentDescriptor( | ||||
|         std::make_shared<UnimplementedNativeViewComponentDescriptor>( | ||||
|             ComponentDescriptorParameters{ | ||||
|                 eventDispatcher, contextContainer, nullptr})); | ||||
|  | ||||
|     return registry; | ||||
|   }; | ||||
|  | ||||
|   delegate->buildRegistryFunction = buildRegistryFunction; | ||||
|   return instance; | ||||
| } | ||||
|  | ||||
| void MainComponentsRegistry::registerNatives() { | ||||
|   registerHybrid({ | ||||
|       makeNativeMethod("initHybrid", MainComponentsRegistry::initHybrid), | ||||
|   }); | ||||
| } | ||||
|  | ||||
| } // namespace react | ||||
| } // namespace facebook | ||||
| @@ -1,32 +0,0 @@ | ||||
| #pragma once | ||||
|  | ||||
| #include <ComponentFactory.h> | ||||
| #include <fbjni/fbjni.h> | ||||
| #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h> | ||||
| #include <react/renderer/componentregistry/ComponentDescriptorRegistry.h> | ||||
|  | ||||
| namespace facebook { | ||||
| namespace react { | ||||
|  | ||||
| class MainComponentsRegistry | ||||
|     : public facebook::jni::HybridClass<MainComponentsRegistry> { | ||||
|  public: | ||||
|   // Adapt it to the package you used for your Java class. | ||||
|   constexpr static auto kJavaDescriptor = | ||||
|       "Lcom/awesomeproject/newarchitecture/components/MainComponentsRegistry;"; | ||||
|  | ||||
|   static void registerNatives(); | ||||
|  | ||||
|   MainComponentsRegistry(ComponentFactory *delegate); | ||||
|  | ||||
|  private: | ||||
|   static std::shared_ptr<ComponentDescriptorProviderRegistry const> | ||||
|   sharedProviderRegistry(); | ||||
|  | ||||
|   static jni::local_ref<jhybriddata> initHybrid( | ||||
|       jni::alias_ref<jclass>, | ||||
|       ComponentFactory *delegate); | ||||
| }; | ||||
|  | ||||
| } // namespace react | ||||
| } // namespace facebook | ||||
| @@ -1,11 +0,0 @@ | ||||
| #include <fbjni/fbjni.h> | ||||
| #include "MainApplicationTurboModuleManagerDelegate.h" | ||||
| #include "MainComponentsRegistry.h" | ||||
|  | ||||
| JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *) { | ||||
|   return facebook::jni::initialize(vm, [] { | ||||
|     facebook::react::MainApplicationTurboModuleManagerDelegate:: | ||||
|         registerNatives(); | ||||
|     facebook::react::MainComponentsRegistry::registerNatives(); | ||||
|   }); | ||||
| } | ||||
| @@ -1,59 +1,24 @@ | ||||
| import org.apache.tools.ant.taskdefs.condition.Os | ||||
|  | ||||
| // Top-level build file where you can add configuration options common to all sub-projects/modules. | ||||
|  | ||||
| buildscript { | ||||
|     ext { | ||||
|         buildToolsVersion = "31.0.0" | ||||
|         buildToolsVersion = "33.0.0" | ||||
|         minSdkVersion = 23 | ||||
|         compileSdkVersion = 31 | ||||
|         targetSdkVersion = 31 | ||||
|         kotlinVersion = '1.7.20' | ||||
|         kotlin_version = '1.7.20' | ||||
|         compileSdkVersion = 33 | ||||
|         targetSdkVersion = 33 | ||||
|  | ||||
|         if (System.properties['os.arch'] == "aarch64") { | ||||
|             // For M1 Users we need to use the NDK 24 which added support for aarch64 | ||||
|             ndkVersion = "24.0.8215888" | ||||
|         } else { | ||||
|             // Otherwise we default to the side-by-side NDK version from AGP. | ||||
|             ndkVersion = "21.4.7075529" | ||||
|         } | ||||
|         // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP. | ||||
|         ndkVersion = "23.1.7779620" | ||||
|  | ||||
|         kotlin_version = '1.7.20' | ||||
|     } | ||||
|     repositories { | ||||
|         google() | ||||
|         mavenCentral() | ||||
|     } | ||||
|     dependencies { | ||||
|         classpath("com.android.tools.build:gradle:7.1.1") | ||||
|         classpath("com.android.tools.build:gradle") | ||||
|         classpath("com.facebook.react:react-native-gradle-plugin") | ||||
|         classpath("de.undercouch:gradle-download-task:5.0.1") | ||||
|         // NOTE: Do not place your application dependencies here; they belong | ||||
|         // in the individual module build.gradle files | ||||
|         classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") | ||||
|     } | ||||
| } | ||||
|  | ||||
| allprojects { | ||||
|     repositories { | ||||
|         maven { | ||||
|             // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm | ||||
|             url("$rootDir/../node_modules/react-native/android") | ||||
|         } | ||||
|         maven { | ||||
|             // Android JSC is installed from npm | ||||
|             url("$rootDir/../node_modules/jsc-android/dist") | ||||
|         } | ||||
|         mavenCentral { | ||||
|             // We don't want to fetch react-native from Maven Central as there are | ||||
|             // older versions over there. | ||||
|             content { | ||||
|                 excludeGroup "com.facebook.react" | ||||
|             } | ||||
|         } | ||||
|         google() | ||||
|         maven { | ||||
|             url("$rootDir/../node_modules/detox/Detox-android") | ||||
|         } | ||||
|         maven { url 'https://www.jitpack.io' } | ||||
|         classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -25,7 +25,7 @@ android.useAndroidX=true | ||||
| android.enableJetifier=true | ||||
|  | ||||
| # Version of flipper SDK to use with React Native | ||||
| FLIPPER_VERSION=0.125.0 | ||||
| FLIPPER_VERSION=0.182.0 | ||||
|  | ||||
| # Use this property to specify which architecture you want to build. | ||||
| # You can also override it from the CLI using | ||||
| @@ -38,3 +38,7 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 | ||||
| # to write custom TurboModules/Fabric components OR use libraries that | ||||
| # are providing them. | ||||
| newArchEnabled=false | ||||
|  | ||||
| # Use this property to enable or disable the Hermes JS engine. | ||||
| # If set to false, you will be using JSC instead. | ||||
| hermesEnabled=true | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| distributionBase=GRADLE_USER_HOME | ||||
| distributionPath=wrapper/dists | ||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip | ||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-all.zip | ||||
| networkTimeout=10000 | ||||
| zipStoreBase=GRADLE_USER_HOME | ||||
| zipStorePath=wrapper/dists | ||||
|   | ||||
							
								
								
									
										18
									
								
								Example/testHotUpdate/android/gradlew
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								Example/testHotUpdate/android/gradlew
									
									
									
									
										vendored
									
									
								
							| @@ -55,7 +55,7 @@ | ||||
| #       Darwin, MinGW, and NonStop. | ||||
| # | ||||
| #   (3) This script is generated from the Groovy template | ||||
| #       https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt | ||||
| #       https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt | ||||
| #       within the Gradle project. | ||||
| # | ||||
| #       You can find Gradle at https://github.com/gradle/gradle/. | ||||
| @@ -80,10 +80,10 @@ do | ||||
|     esac | ||||
| done | ||||
|  | ||||
| APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit | ||||
|  | ||||
| APP_NAME="Gradle" | ||||
| # This is normally unused | ||||
| # shellcheck disable=SC2034 | ||||
| APP_BASE_NAME=${0##*/} | ||||
| APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit | ||||
|  | ||||
| # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||||
| DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' | ||||
| @@ -143,12 +143,16 @@ fi | ||||
| if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then | ||||
|     case $MAX_FD in #( | ||||
|       max*) | ||||
|         # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. | ||||
|         # shellcheck disable=SC3045  | ||||
|         MAX_FD=$( ulimit -H -n ) || | ||||
|             warn "Could not query maximum file descriptor limit" | ||||
|     esac | ||||
|     case $MAX_FD in  #( | ||||
|       '' | soft) :;; #( | ||||
|       *) | ||||
|         # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. | ||||
|         # shellcheck disable=SC3045  | ||||
|         ulimit -n "$MAX_FD" || | ||||
|             warn "Could not set maximum file descriptor limit to $MAX_FD" | ||||
|     esac | ||||
| @@ -205,6 +209,12 @@ set -- \ | ||||
|         org.gradle.wrapper.GradleWrapperMain \ | ||||
|         "$@" | ||||
|  | ||||
| # Stop when "xargs" is not available. | ||||
| if ! command -v xargs >/dev/null 2>&1 | ||||
| then | ||||
|     die "xargs is not available" | ||||
| fi | ||||
|  | ||||
| # Use "xargs" to parse quoted args. | ||||
| # | ||||
| # With -n1 it outputs one arg per line, with the quotes and backslashes removed. | ||||
|   | ||||
							
								
								
									
										15
									
								
								Example/testHotUpdate/android/gradlew.bat
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								Example/testHotUpdate/android/gradlew.bat
									
									
									
									
										vendored
									
									
								
							| @@ -14,7 +14,7 @@ | ||||
| @rem limitations under the License. | ||||
| @rem | ||||
|  | ||||
| @if "%DEBUG%" == "" @echo off | ||||
| @if "%DEBUG%"=="" @echo off | ||||
| @rem ########################################################################## | ||||
| @rem | ||||
| @rem  Gradle startup script for Windows | ||||
| @@ -25,7 +25,8 @@ | ||||
| if "%OS%"=="Windows_NT" setlocal | ||||
|  | ||||
| set DIRNAME=%~dp0 | ||||
| if "%DIRNAME%" == "" set DIRNAME=. | ||||
| if "%DIRNAME%"=="" set DIRNAME=. | ||||
| @rem This is normally unused | ||||
| set APP_BASE_NAME=%~n0 | ||||
| set APP_HOME=%DIRNAME% | ||||
|  | ||||
| @@ -40,7 +41,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome | ||||
|  | ||||
| set JAVA_EXE=java.exe | ||||
| %JAVA_EXE% -version >NUL 2>&1 | ||||
| if "%ERRORLEVEL%" == "0" goto execute | ||||
| if %ERRORLEVEL% equ 0 goto execute | ||||
|  | ||||
| echo. | ||||
| echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||||
| @@ -75,13 +76,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar | ||||
|  | ||||
| :end | ||||
| @rem End local scope for the variables with windows NT shell | ||||
| if "%ERRORLEVEL%"=="0" goto mainEnd | ||||
| if %ERRORLEVEL% equ 0 goto mainEnd | ||||
|  | ||||
| :fail | ||||
| rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of | ||||
| rem the _cmd.exe /c_ return code! | ||||
| if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 | ||||
| exit /b 1 | ||||
| set EXIT_CODE=%ERRORLEVEL% | ||||
| if %EXIT_CODE% equ 0 set EXIT_CODE=1 | ||||
| if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% | ||||
| exit /b %EXIT_CODE% | ||||
|  | ||||
| :mainEnd | ||||
| if "%OS%"=="Windows_NT" endlocal | ||||
|   | ||||
| @@ -1,11 +1,4 @@ | ||||
| rootProject.name = 'AwesomeProject' | ||||
| apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) | ||||
| include ':app' | ||||
| includeBuild('../node_modules/react-native-gradle-plugin') | ||||
|  | ||||
| if (settings.hasProperty("newArchEnabled") && settings.newArchEnabled == "true") { | ||||
|     include(":ReactAndroid") | ||||
|     project(":ReactAndroid").projectDir = file('../node_modules/react-native/ReactAndroid') | ||||
|     include(":ReactAndroid:hermes-engine") | ||||
|     project(":ReactAndroid:hermes-engine").projectDir = file('../node_modules/react-native/ReactAndroid/hermes-engine') | ||||
| } | ||||
| includeBuild('../node_modules/@react-native/gradle-plugin') | ||||
|   | ||||
| @@ -120,6 +120,7 @@ | ||||
| 				13B07F8E1A680F5B00A75B9A /* Resources */, | ||||
| 				00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, | ||||
| 				E235C05ADACE081382539298 /* [CP] Copy Pods Resources */, | ||||
| 				2177C9C260D54703D642190E /* [CP] Embed Pods Frameworks */, | ||||
| 			); | ||||
| 			buildRules = ( | ||||
| 			); | ||||
| @@ -190,6 +191,23 @@ | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; | ||||
| 		}; | ||||
| 		2177C9C260D54703D642190E /* [CP] Embed Pods Frameworks */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-AwesomeProject/Pods-AwesomeProject-frameworks-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 			); | ||||
| 			name = "[CP] Embed Pods Frameworks"; | ||||
| 			outputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-AwesomeProject/Pods-AwesomeProject-frameworks-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AwesomeProject/Pods-AwesomeProject-frameworks.sh\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| @@ -346,7 +364,7 @@ | ||||
| 				COPY_PHASE_STRIP = NO; | ||||
| 				ENABLE_STRICT_OBJC_MSGSEND = YES; | ||||
| 				ENABLE_TESTABILITY = YES; | ||||
| 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; | ||||
| 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; | ||||
| 				GCC_C_LANGUAGE_STANDARD = gnu99; | ||||
| 				GCC_DYNAMIC_NO_PIC = NO; | ||||
| 				GCC_NO_COMMON_BLOCKS = YES; | ||||
| @@ -354,6 +372,7 @@ | ||||
| 				GCC_PREPROCESSOR_DEFINITIONS = ( | ||||
| 					"DEBUG=1", | ||||
| 					"$(inherited)", | ||||
| 					_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION, | ||||
| 				); | ||||
| 				GCC_SYMBOLS_PRIVATE_EXTERN = NO; | ||||
| 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | ||||
| @@ -374,12 +393,20 @@ | ||||
| 				); | ||||
| 				MTL_ENABLE_DEBUG_INFO = YES; | ||||
| 				ONLY_ACTIVE_ARCH = YES; | ||||
| 				OTHER_CFLAGS = "$(inherited)"; | ||||
| 				OTHER_CPLUSPLUSFLAGS = ( | ||||
| 					"$(OTHER_CFLAGS)", | ||||
| 					"-DFOLLY_NO_CONFIG", | ||||
| 					"-DFOLLY_MOBILE=1", | ||||
| 					"-DFOLLY_USE_LIBCPP=1", | ||||
| 				); | ||||
| 				OTHER_LDFLAGS = ( | ||||
| 					"$(inherited)", | ||||
| 					"-Wl", | ||||
| 					"-ld_classic", | ||||
| 					" ", | ||||
| 					"-Wl -ld_classic ", | ||||
| 				); | ||||
| 				REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; | ||||
| 				SDKROOT = iphoneos; | ||||
| 			}; | ||||
| @@ -418,9 +445,13 @@ | ||||
| 				COPY_PHASE_STRIP = YES; | ||||
| 				ENABLE_NS_ASSERTIONS = NO; | ||||
| 				ENABLE_STRICT_OBJC_MSGSEND = YES; | ||||
| 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; | ||||
| 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; | ||||
| 				GCC_C_LANGUAGE_STANDARD = gnu99; | ||||
| 				GCC_NO_COMMON_BLOCKS = YES; | ||||
| 				GCC_PREPROCESSOR_DEFINITIONS = ( | ||||
| 					"$(inherited)", | ||||
| 					_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION, | ||||
| 				); | ||||
| 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | ||||
| 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | ||||
| 				GCC_WARN_UNDECLARED_SELECTOR = YES; | ||||
| @@ -438,12 +469,20 @@ | ||||
| 					"\"$(inherited)\"", | ||||
| 				); | ||||
| 				MTL_ENABLE_DEBUG_INFO = NO; | ||||
| 				OTHER_CFLAGS = "$(inherited)"; | ||||
| 				OTHER_CPLUSPLUSFLAGS = ( | ||||
| 					"$(OTHER_CFLAGS)", | ||||
| 					"-DFOLLY_NO_CONFIG", | ||||
| 					"-DFOLLY_MOBILE=1", | ||||
| 					"-DFOLLY_USE_LIBCPP=1", | ||||
| 				); | ||||
| 				OTHER_LDFLAGS = ( | ||||
| 					"$(inherited)", | ||||
| 					"-Wl", | ||||
| 					"-ld_classic", | ||||
| 					" ", | ||||
| 					"-Wl -ld_classic ", | ||||
| 				); | ||||
| 				REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; | ||||
| 				SDKROOT = iphoneos; | ||||
| 				VALIDATE_PRODUCT = YES; | ||||
|   | ||||
| @@ -1,8 +1,6 @@ | ||||
| #import <React/RCTBridgeDelegate.h> | ||||
| #import <RCTAppDelegate.h> | ||||
| #import <UIKit/UIKit.h> | ||||
|  | ||||
| @interface AppDelegate : UIResponder <UIApplicationDelegate, RCTBridgeDelegate> | ||||
|  | ||||
| @property (nonatomic, strong) UIWindow *window; | ||||
| @interface AppDelegate : RCTAppDelegate | ||||
|  | ||||
| @end | ||||
|   | ||||
| @@ -1,85 +1,18 @@ | ||||
| #import "AppDelegate.h" | ||||
| #import "RCTPushy.h" | ||||
| #import <React/RCTBridge.h> | ||||
|  | ||||
| #import <React/RCTBundleURLProvider.h> | ||||
| #import <React/RCTRootView.h> | ||||
|  | ||||
| #import <React/RCTAppSetupUtils.h> | ||||
|  | ||||
| #if RCT_NEW_ARCH_ENABLED | ||||
| #import <React/CoreModulesPlugins.h> | ||||
| #import <React/RCTCxxBridgeDelegate.h> | ||||
| #import <React/RCTFabricSurfaceHostingProxyRootView.h> | ||||
| #import <React/RCTSurfacePresenter.h> | ||||
| #import <React/RCTSurfacePresenterBridgeAdapter.h> | ||||
| #import <ReactCommon/RCTTurboModuleManager.h> | ||||
|  | ||||
| #import <react/config/ReactNativeConfig.h> | ||||
|  | ||||
| static NSString *const kRNConcurrentRoot = @"concurrentRoot"; | ||||
|  | ||||
| @interface AppDelegate () <RCTCxxBridgeDelegate, RCTTurboModuleManagerDelegate> { | ||||
|   RCTTurboModuleManager *_turboModuleManager; | ||||
|   RCTSurfacePresenterBridgeAdapter *_bridgeAdapter; | ||||
|   std::shared_ptr<const facebook::react::ReactNativeConfig> _reactNativeConfig; | ||||
|   facebook::react::ContextContainer::Shared _contextContainer; | ||||
| } | ||||
| @end | ||||
| #endif | ||||
|  | ||||
| @implementation AppDelegate | ||||
|  | ||||
| - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions | ||||
| { | ||||
|   RCTAppSetupPrepareApp(application); | ||||
|   self.moduleName = @"AwesomeProject"; | ||||
|   // You can add your custom initial props in the dictionary below. | ||||
|   // They will be passed down to the ViewController used by React Native. | ||||
|   self.initialProps = @{}; | ||||
|  | ||||
|   RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; | ||||
|  | ||||
| #if RCT_NEW_ARCH_ENABLED | ||||
|   _contextContainer = std::make_shared<facebook::react::ContextContainer const>(); | ||||
|   _reactNativeConfig = std::make_shared<facebook::react::EmptyReactNativeConfig const>(); | ||||
|   _contextContainer->insert("ReactNativeConfig", _reactNativeConfig); | ||||
|   _bridgeAdapter = [[RCTSurfacePresenterBridgeAdapter alloc] initWithBridge:bridge contextContainer:_contextContainer]; | ||||
|   bridge.surfacePresenter = _bridgeAdapter.surfacePresenter; | ||||
| #endif | ||||
|  | ||||
|   NSDictionary *initProps = [self prepareInitialProps]; | ||||
|   UIView *rootView = RCTAppSetupDefaultRootView(bridge, @"AwesomeProject", initProps); | ||||
|  | ||||
|   if (@available(iOS 13.0, *)) { | ||||
|     rootView.backgroundColor = [UIColor systemBackgroundColor]; | ||||
|   } else { | ||||
|     rootView.backgroundColor = [UIColor whiteColor]; | ||||
|   } | ||||
|  | ||||
|   self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; | ||||
|   UIViewController *rootViewController = [UIViewController new]; | ||||
|   rootViewController.view = rootView; | ||||
|   self.window.rootViewController = rootViewController; | ||||
|   [self.window makeKeyAndVisible]; | ||||
|   return YES; | ||||
| } | ||||
|  | ||||
| /// This method controls whether the `concurrentRoot`feature of React18 is turned on or off. | ||||
| /// | ||||
| /// @see: https://reactjs.org/blog/2022/03/29/react-v18.html | ||||
| /// @note: This requires to be rendering on Fabric (i.e. on the New Architecture). | ||||
| /// @return: `true` if the `concurrentRoot` feture is enabled. Otherwise, it returns `false`. | ||||
| - (BOOL)concurrentRootEnabled | ||||
| { | ||||
|   // Switch this bool to turn on and off the concurrent root | ||||
|   return true; | ||||
| } | ||||
|  | ||||
| - (NSDictionary *)prepareInitialProps | ||||
| { | ||||
|   NSMutableDictionary *initProps = [NSMutableDictionary new]; | ||||
|  | ||||
| #ifdef RCT_NEW_ARCH_ENABLED | ||||
|   initProps[kRNConcurrentRoot] = @([self concurrentRootEnabled]); | ||||
| #endif | ||||
|  | ||||
|   return initProps; | ||||
|   return [super application:application didFinishLaunchingWithOptions:launchOptions]; | ||||
| } | ||||
|  | ||||
| - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge | ||||
| @@ -91,43 +24,4 @@ static NSString *const kRNConcurrentRoot = @"concurrentRoot"; | ||||
| #endif | ||||
| } | ||||
|  | ||||
| #if RCT_NEW_ARCH_ENABLED | ||||
|  | ||||
| #pragma mark - RCTCxxBridgeDelegate | ||||
|  | ||||
| - (std::unique_ptr<facebook::react::JSExecutorFactory>)jsExecutorFactoryForBridge:(RCTBridge *)bridge | ||||
| { | ||||
|   _turboModuleManager = [[RCTTurboModuleManager alloc] initWithBridge:bridge | ||||
|                                                              delegate:self | ||||
|                                                             jsInvoker:bridge.jsCallInvoker]; | ||||
|   return RCTAppSetupDefaultJsExecutorFactory(bridge, _turboModuleManager); | ||||
| } | ||||
|  | ||||
| #pragma mark RCTTurboModuleManagerDelegate | ||||
|  | ||||
| - (Class)getModuleClassFromName:(const char *)name | ||||
| { | ||||
|   return RCTCoreModulesClassProvider(name); | ||||
| } | ||||
|  | ||||
| - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name | ||||
|                                                       jsInvoker:(std::shared_ptr<facebook::react::CallInvoker>)jsInvoker | ||||
| { | ||||
|   return nullptr; | ||||
| } | ||||
|  | ||||
| - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name | ||||
|                                                      initParams: | ||||
|                                                          (const facebook::react::ObjCTurboModule::InitParams &)params | ||||
| { | ||||
|   return nullptr; | ||||
| } | ||||
|  | ||||
| - (id<RCTTurboModule>)getModuleInstanceFromClass:(Class)moduleClass | ||||
| { | ||||
|   return RCTAppSetupDefaultModuleFromClass(moduleClass); | ||||
| } | ||||
|  | ||||
| #endif | ||||
|  | ||||
| @end | ||||
|   | ||||
| @@ -1,10 +1,29 @@ | ||||
| require_relative '../node_modules/react-native/scripts/react_native_pods' | ||||
| require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' | ||||
| # Resolve react_native_pods.rb with node to allow for hoisting | ||||
| require Pod::Executable.execute_command('node', ['-p', | ||||
|   'require.resolve( | ||||
|     "react-native/scripts/react_native_pods.rb", | ||||
|     {paths: [process.argv[1]]}, | ||||
|   )', __dir__]).strip | ||||
|  | ||||
| platform :ios, '12.4' | ||||
| install! 'cocoapods', :deterministic_uuids => false | ||||
| platform :ios, min_ios_version_supported | ||||
| prepare_react_native_project! | ||||
|  | ||||
| production = ENV["PRODUCTION"] == "1" | ||||
| # If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set. | ||||
| # because `react-native-flipper` depends on (FlipperKit,...) that will be excluded | ||||
| # | ||||
| # To fix this you can also exclude `react-native-flipper` using a `react-native.config.js` | ||||
| # ```js | ||||
| # module.exports = { | ||||
| #   dependencies: { | ||||
| #     ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}), | ||||
| # ``` | ||||
| flipper_config = FlipperConfiguration.disabled | ||||
|  | ||||
| linkage = ENV['USE_FRAMEWORKS'] | ||||
| if linkage != nil | ||||
|   Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green | ||||
|   use_frameworks! :linkage => linkage.to_sym | ||||
| end | ||||
|  | ||||
| target 'AwesomeProject' do | ||||
|   config = use_native_modules! | ||||
| @@ -14,17 +33,25 @@ target 'AwesomeProject' do | ||||
|  | ||||
|   use_react_native!( | ||||
|     :path => config[:reactNativePath], | ||||
|     # to enable hermes on iOS, change `false` to `true` and then install pods | ||||
|     :production => production, | ||||
|     # Hermes is now enabled by default. Disable by setting this flag to false. | ||||
|     :hermes_enabled => flags[:hermes_enabled], | ||||
|     :fabric_enabled => flags[:fabric_enabled], | ||||
|     :flipper_configuration => false, | ||||
|     # Enables Flipper. | ||||
|     # | ||||
|     # Note that if you have use_frameworks! enabled, Flipper will not work and | ||||
|     # you should disable the next line. | ||||
|     :flipper_configuration => flipper_config, | ||||
|     # An absolute path to your application root. | ||||
|     :app_path => "#{Pod::Config.instance.installation_root}/.." | ||||
|   ) | ||||
|  | ||||
|   post_install do |installer| | ||||
|     react_native_post_install(installer) | ||||
|     # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202 | ||||
|     react_native_post_install( | ||||
|       installer, | ||||
|       config[:reactNativePath], | ||||
|       :mac_catalyst_enabled => false | ||||
|     ) | ||||
|     __apply_Xcode_12_5_M1_post_install_workaround(installer) | ||||
|   end | ||||
| end | ||||
|   | ||||
| @@ -1,311 +1,455 @@ | ||||
| PODS: | ||||
|   - boost (1.76.0) | ||||
|   - DoubleConversion (1.1.6) | ||||
|   - FBLazyVector (0.69.8) | ||||
|   - FBReactNativeSpec (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - RCTRequired (= 0.69.8) | ||||
|     - RCTTypeSafety (= 0.69.8) | ||||
|     - React-Core (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - FBLazyVector (0.72.5) | ||||
|   - FBReactNativeSpec (0.72.5): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.72.5) | ||||
|     - RCTTypeSafety (= 0.72.5) | ||||
|     - React-Core (= 0.72.5) | ||||
|     - React-jsi (= 0.72.5) | ||||
|     - ReactCommon/turbomodule/core (= 0.72.5) | ||||
|   - fmt (6.2.1) | ||||
|   - glog (0.3.5) | ||||
|   - RCT-Folly (2021.06.28.00-v2): | ||||
|   - hermes-engine (0.72.5): | ||||
|     - hermes-engine/Pre-built (= 0.72.5) | ||||
|   - hermes-engine/Pre-built (0.72.5) | ||||
|   - libevent (2.1.12) | ||||
|   - RCT-Folly (2021.07.22.00): | ||||
|     - boost | ||||
|     - DoubleConversion | ||||
|     - fmt (~> 6.2.1) | ||||
|     - glog | ||||
|     - RCT-Folly/Default (= 2021.06.28.00-v2) | ||||
|   - RCT-Folly/Default (2021.06.28.00-v2): | ||||
|     - RCT-Folly/Default (= 2021.07.22.00) | ||||
|   - RCT-Folly/Default (2021.07.22.00): | ||||
|     - boost | ||||
|     - DoubleConversion | ||||
|     - fmt (~> 6.2.1) | ||||
|     - glog | ||||
|   - RCTRequired (0.69.8) | ||||
|   - RCTTypeSafety (0.69.8): | ||||
|     - FBLazyVector (= 0.69.8) | ||||
|     - RCTRequired (= 0.69.8) | ||||
|     - React-Core (= 0.69.8) | ||||
|   - React (0.69.8): | ||||
|     - React-Core (= 0.69.8) | ||||
|     - React-Core/DevSupport (= 0.69.8) | ||||
|     - React-Core/RCTWebSocket (= 0.69.8) | ||||
|     - React-RCTActionSheet (= 0.69.8) | ||||
|     - React-RCTAnimation (= 0.69.8) | ||||
|     - React-RCTBlob (= 0.69.8) | ||||
|     - React-RCTImage (= 0.69.8) | ||||
|     - React-RCTLinking (= 0.69.8) | ||||
|     - React-RCTNetwork (= 0.69.8) | ||||
|     - React-RCTSettings (= 0.69.8) | ||||
|     - React-RCTText (= 0.69.8) | ||||
|     - React-RCTVibration (= 0.69.8) | ||||
|   - React-bridging (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-jsi (= 0.69.8) | ||||
|   - React-callinvoker (0.69.8) | ||||
|   - React-Codegen (0.69.8): | ||||
|     - FBReactNativeSpec (= 0.69.8) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - RCTRequired (= 0.69.8) | ||||
|     - RCTTypeSafety (= 0.69.8) | ||||
|     - React-Core (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-Core (0.69.8): | ||||
|   - RCT-Folly/Futures (2021.07.22.00): | ||||
|     - boost | ||||
|     - DoubleConversion | ||||
|     - fmt (~> 6.2.1) | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Core/Default (= 0.69.8) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - libevent | ||||
|   - RCTRequired (0.72.5) | ||||
|   - RCTTypeSafety (0.72.5): | ||||
|     - FBLazyVector (= 0.72.5) | ||||
|     - RCTRequired (= 0.72.5) | ||||
|     - React-Core (= 0.72.5) | ||||
|   - React (0.72.5): | ||||
|     - React-Core (= 0.72.5) | ||||
|     - React-Core/DevSupport (= 0.72.5) | ||||
|     - React-Core/RCTWebSocket (= 0.72.5) | ||||
|     - React-RCTActionSheet (= 0.72.5) | ||||
|     - React-RCTAnimation (= 0.72.5) | ||||
|     - React-RCTBlob (= 0.72.5) | ||||
|     - React-RCTImage (= 0.72.5) | ||||
|     - React-RCTLinking (= 0.72.5) | ||||
|     - React-RCTNetwork (= 0.72.5) | ||||
|     - React-RCTSettings (= 0.72.5) | ||||
|     - React-RCTText (= 0.72.5) | ||||
|     - React-RCTVibration (= 0.72.5) | ||||
|   - React-callinvoker (0.72.5) | ||||
|   - React-Codegen (0.72.5): | ||||
|     - DoubleConversion | ||||
|     - FBReactNativeSpec | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly | ||||
|     - RCTRequired | ||||
|     - RCTTypeSafety | ||||
|     - React-Core | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-NativeModulesApple | ||||
|     - React-rncore | ||||
|     - ReactCommon/turbomodule/bridging | ||||
|     - ReactCommon/turbomodule/core | ||||
|   - React-Core (0.72.5): | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default (= 0.72.5) | ||||
|     - React-cxxreact | ||||
|     - React-hermes | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-perflogger | ||||
|     - React-runtimeexecutor | ||||
|     - React-utils | ||||
|     - SocketRocket (= 0.6.1) | ||||
|     - Yoga | ||||
|   - React-Core/CoreModulesHeaders (0.69.8): | ||||
|   - React-Core/CoreModulesHeaders (0.72.5): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - React-cxxreact | ||||
|     - React-hermes | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-perflogger | ||||
|     - React-runtimeexecutor | ||||
|     - React-utils | ||||
|     - SocketRocket (= 0.6.1) | ||||
|     - Yoga | ||||
|   - React-Core/Default (0.69.8): | ||||
|   - React-Core/Default (0.72.5): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-cxxreact | ||||
|     - React-hermes | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-perflogger | ||||
|     - React-runtimeexecutor | ||||
|     - React-utils | ||||
|     - SocketRocket (= 0.6.1) | ||||
|     - Yoga | ||||
|   - React-Core/DevSupport (0.69.8): | ||||
|   - React-Core/DevSupport (0.72.5): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Core/Default (= 0.69.8) | ||||
|     - React-Core/RCTWebSocket (= 0.69.8) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-jsinspector (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default (= 0.72.5) | ||||
|     - React-Core/RCTWebSocket (= 0.72.5) | ||||
|     - React-cxxreact | ||||
|     - React-hermes | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-jsinspector (= 0.72.5) | ||||
|     - React-perflogger | ||||
|     - React-runtimeexecutor | ||||
|     - React-utils | ||||
|     - SocketRocket (= 0.6.1) | ||||
|     - Yoga | ||||
|   - React-Core/RCTActionSheetHeaders (0.69.8): | ||||
|   - React-Core/RCTActionSheetHeaders (0.72.5): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - React-cxxreact | ||||
|     - React-hermes | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-perflogger | ||||
|     - React-runtimeexecutor | ||||
|     - React-utils | ||||
|     - SocketRocket (= 0.6.1) | ||||
|     - Yoga | ||||
|   - React-Core/RCTAnimationHeaders (0.69.8): | ||||
|   - React-Core/RCTAnimationHeaders (0.72.5): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - React-cxxreact | ||||
|     - React-hermes | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-perflogger | ||||
|     - React-runtimeexecutor | ||||
|     - React-utils | ||||
|     - SocketRocket (= 0.6.1) | ||||
|     - Yoga | ||||
|   - React-Core/RCTBlobHeaders (0.69.8): | ||||
|   - React-Core/RCTBlobHeaders (0.72.5): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - React-cxxreact | ||||
|     - React-hermes | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-perflogger | ||||
|     - React-runtimeexecutor | ||||
|     - React-utils | ||||
|     - SocketRocket (= 0.6.1) | ||||
|     - Yoga | ||||
|   - React-Core/RCTImageHeaders (0.69.8): | ||||
|   - React-Core/RCTImageHeaders (0.72.5): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - React-cxxreact | ||||
|     - React-hermes | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-perflogger | ||||
|     - React-runtimeexecutor | ||||
|     - React-utils | ||||
|     - SocketRocket (= 0.6.1) | ||||
|     - Yoga | ||||
|   - React-Core/RCTLinkingHeaders (0.69.8): | ||||
|   - React-Core/RCTLinkingHeaders (0.72.5): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - React-cxxreact | ||||
|     - React-hermes | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-perflogger | ||||
|     - React-runtimeexecutor | ||||
|     - React-utils | ||||
|     - SocketRocket (= 0.6.1) | ||||
|     - Yoga | ||||
|   - React-Core/RCTNetworkHeaders (0.69.8): | ||||
|   - React-Core/RCTNetworkHeaders (0.72.5): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - React-cxxreact | ||||
|     - React-hermes | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-perflogger | ||||
|     - React-runtimeexecutor | ||||
|     - React-utils | ||||
|     - SocketRocket (= 0.6.1) | ||||
|     - Yoga | ||||
|   - React-Core/RCTSettingsHeaders (0.69.8): | ||||
|   - React-Core/RCTSettingsHeaders (0.72.5): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - React-cxxreact | ||||
|     - React-hermes | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-perflogger | ||||
|     - React-runtimeexecutor | ||||
|     - React-utils | ||||
|     - SocketRocket (= 0.6.1) | ||||
|     - Yoga | ||||
|   - React-Core/RCTTextHeaders (0.69.8): | ||||
|   - React-Core/RCTTextHeaders (0.72.5): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - React-cxxreact | ||||
|     - React-hermes | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-perflogger | ||||
|     - React-runtimeexecutor | ||||
|     - React-utils | ||||
|     - SocketRocket (= 0.6.1) | ||||
|     - Yoga | ||||
|   - React-Core/RCTVibrationHeaders (0.69.8): | ||||
|   - React-Core/RCTVibrationHeaders (0.72.5): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - React-cxxreact | ||||
|     - React-hermes | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-perflogger | ||||
|     - React-runtimeexecutor | ||||
|     - React-utils | ||||
|     - SocketRocket (= 0.6.1) | ||||
|     - Yoga | ||||
|   - React-Core/RCTWebSocket (0.69.8): | ||||
|   - React-Core/RCTWebSocket (0.72.5): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Core/Default (= 0.69.8) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default (= 0.72.5) | ||||
|     - React-cxxreact | ||||
|     - React-hermes | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-perflogger | ||||
|     - React-runtimeexecutor | ||||
|     - React-utils | ||||
|     - SocketRocket (= 0.6.1) | ||||
|     - Yoga | ||||
|   - React-CoreModules (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - RCTTypeSafety (= 0.69.8) | ||||
|     - React-Codegen (= 0.69.8) | ||||
|     - React-Core/CoreModulesHeaders (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-RCTImage (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-cxxreact (0.69.8): | ||||
|   - React-CoreModules (0.72.5): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTTypeSafety (= 0.72.5) | ||||
|     - React-Codegen (= 0.72.5) | ||||
|     - React-Core/CoreModulesHeaders (= 0.72.5) | ||||
|     - React-jsi (= 0.72.5) | ||||
|     - React-RCTBlob | ||||
|     - React-RCTImage (= 0.72.5) | ||||
|     - ReactCommon/turbomodule/core (= 0.72.5) | ||||
|     - SocketRocket (= 0.6.1) | ||||
|   - React-cxxreact (0.72.5): | ||||
|     - boost (= 1.76.0) | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-callinvoker (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsinspector (= 0.69.8) | ||||
|     - React-logger (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - React-runtimeexecutor (= 0.69.8) | ||||
|   - React-jsi (0.69.8): | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-callinvoker (= 0.72.5) | ||||
|     - React-debug (= 0.72.5) | ||||
|     - React-jsi (= 0.72.5) | ||||
|     - React-jsinspector (= 0.72.5) | ||||
|     - React-logger (= 0.72.5) | ||||
|     - React-perflogger (= 0.72.5) | ||||
|     - React-runtimeexecutor (= 0.72.5) | ||||
|   - React-debug (0.72.5) | ||||
|   - React-hermes (0.72.5): | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCT-Folly/Futures (= 2021.07.22.00) | ||||
|     - React-cxxreact (= 0.72.5) | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor (= 0.72.5) | ||||
|     - React-jsinspector (= 0.72.5) | ||||
|     - React-perflogger (= 0.72.5) | ||||
|   - React-jsi (0.72.5): | ||||
|     - boost (= 1.76.0) | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-jsi/Default (= 0.69.8) | ||||
|   - React-jsi/Default (0.69.8): | ||||
|     - boost (= 1.76.0) | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|   - React-jsiexecutor (0.72.5): | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|   - React-jsiexecutor (0.69.8): | ||||
|     - DoubleConversion | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-cxxreact (= 0.72.5) | ||||
|     - React-jsi (= 0.72.5) | ||||
|     - React-perflogger (= 0.72.5) | ||||
|   - React-jsinspector (0.72.5) | ||||
|   - React-logger (0.72.5): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|   - React-jsinspector (0.69.8) | ||||
|   - React-logger (0.69.8): | ||||
|     - glog | ||||
|   - react-native-safe-area-context (4.8.2): | ||||
|   - react-native-safe-area-context (4.11.0): | ||||
|     - React-Core | ||||
|   - react-native-update (10.10.0): | ||||
|   - react-native-update (10.15.0): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React | ||||
|     - React-Core | ||||
|     - react-native-update/HDiffPatch (= 10.10.0) | ||||
|     - react-native-update/RCTPushy (= 10.10.0) | ||||
|     - react-native-update/HDiffPatch (= 10.15.0) | ||||
|     - react-native-update/RCTPushy (= 10.15.0) | ||||
|     - SSZipArchive | ||||
|   - react-native-update/HDiffPatch (10.10.0): | ||||
|   - react-native-update/HDiffPatch (10.15.0): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React | ||||
|     - React-Core | ||||
|     - SSZipArchive | ||||
|   - react-native-update/RCTPushy (10.10.0): | ||||
|   - react-native-update/RCTPushy (10.15.0): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React | ||||
|     - React-Core | ||||
|     - SSZipArchive | ||||
|   - React-perflogger (0.69.8) | ||||
|   - React-RCTActionSheet (0.69.8): | ||||
|     - React-Core/RCTActionSheetHeaders (= 0.69.8) | ||||
|   - React-RCTAnimation (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - RCTTypeSafety (= 0.69.8) | ||||
|     - React-Codegen (= 0.69.8) | ||||
|     - React-Core/RCTAnimationHeaders (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-RCTBlob (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Codegen (= 0.69.8) | ||||
|     - React-Core/RCTBlobHeaders (= 0.69.8) | ||||
|     - React-Core/RCTWebSocket (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-RCTNetwork (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-RCTImage (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - RCTTypeSafety (= 0.69.8) | ||||
|     - React-Codegen (= 0.69.8) | ||||
|     - React-Core/RCTImageHeaders (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-RCTNetwork (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-RCTLinking (0.69.8): | ||||
|     - React-Codegen (= 0.69.8) | ||||
|     - React-Core/RCTLinkingHeaders (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-RCTNetwork (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - RCTTypeSafety (= 0.69.8) | ||||
|     - React-Codegen (= 0.69.8) | ||||
|     - React-Core/RCTNetworkHeaders (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-RCTSettings (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - RCTTypeSafety (= 0.69.8) | ||||
|     - React-Codegen (= 0.69.8) | ||||
|     - React-Core/RCTSettingsHeaders (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-RCTText (0.69.8): | ||||
|     - React-Core/RCTTextHeaders (= 0.69.8) | ||||
|   - React-RCTVibration (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Codegen (= 0.69.8) | ||||
|     - React-Core/RCTVibrationHeaders (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-runtimeexecutor (0.69.8): | ||||
|     - React-jsi (= 0.69.8) | ||||
|   - ReactCommon/turbomodule/core (0.69.8): | ||||
|   - React-NativeModulesApple (0.72.5): | ||||
|     - hermes-engine | ||||
|     - React-callinvoker | ||||
|     - React-Core | ||||
|     - React-cxxreact | ||||
|     - React-jsi | ||||
|     - React-runtimeexecutor | ||||
|     - ReactCommon/turbomodule/bridging | ||||
|     - ReactCommon/turbomodule/core | ||||
|   - React-perflogger (0.72.5) | ||||
|   - React-RCTActionSheet (0.72.5): | ||||
|     - React-Core/RCTActionSheetHeaders (= 0.72.5) | ||||
|   - React-RCTAnimation (0.72.5): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTTypeSafety (= 0.72.5) | ||||
|     - React-Codegen (= 0.72.5) | ||||
|     - React-Core/RCTAnimationHeaders (= 0.72.5) | ||||
|     - React-jsi (= 0.72.5) | ||||
|     - ReactCommon/turbomodule/core (= 0.72.5) | ||||
|   - React-RCTAppDelegate (0.72.5): | ||||
|     - RCT-Folly | ||||
|     - RCTRequired | ||||
|     - RCTTypeSafety | ||||
|     - React-Core | ||||
|     - React-CoreModules | ||||
|     - React-hermes | ||||
|     - React-NativeModulesApple | ||||
|     - React-RCTImage | ||||
|     - React-RCTNetwork | ||||
|     - React-runtimescheduler | ||||
|     - ReactCommon/turbomodule/core | ||||
|   - React-RCTBlob (0.72.5): | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Codegen (= 0.72.5) | ||||
|     - React-Core/RCTBlobHeaders (= 0.72.5) | ||||
|     - React-Core/RCTWebSocket (= 0.72.5) | ||||
|     - React-jsi (= 0.72.5) | ||||
|     - React-RCTNetwork (= 0.72.5) | ||||
|     - ReactCommon/turbomodule/core (= 0.72.5) | ||||
|   - React-RCTImage (0.72.5): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTTypeSafety (= 0.72.5) | ||||
|     - React-Codegen (= 0.72.5) | ||||
|     - React-Core/RCTImageHeaders (= 0.72.5) | ||||
|     - React-jsi (= 0.72.5) | ||||
|     - React-RCTNetwork (= 0.72.5) | ||||
|     - ReactCommon/turbomodule/core (= 0.72.5) | ||||
|   - React-RCTLinking (0.72.5): | ||||
|     - React-Codegen (= 0.72.5) | ||||
|     - React-Core/RCTLinkingHeaders (= 0.72.5) | ||||
|     - React-jsi (= 0.72.5) | ||||
|     - ReactCommon/turbomodule/core (= 0.72.5) | ||||
|   - React-RCTNetwork (0.72.5): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTTypeSafety (= 0.72.5) | ||||
|     - React-Codegen (= 0.72.5) | ||||
|     - React-Core/RCTNetworkHeaders (= 0.72.5) | ||||
|     - React-jsi (= 0.72.5) | ||||
|     - ReactCommon/turbomodule/core (= 0.72.5) | ||||
|   - React-RCTSettings (0.72.5): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTTypeSafety (= 0.72.5) | ||||
|     - React-Codegen (= 0.72.5) | ||||
|     - React-Core/RCTSettingsHeaders (= 0.72.5) | ||||
|     - React-jsi (= 0.72.5) | ||||
|     - ReactCommon/turbomodule/core (= 0.72.5) | ||||
|   - React-RCTText (0.72.5): | ||||
|     - React-Core/RCTTextHeaders (= 0.72.5) | ||||
|   - React-RCTVibration (0.72.5): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Codegen (= 0.72.5) | ||||
|     - React-Core/RCTVibrationHeaders (= 0.72.5) | ||||
|     - React-jsi (= 0.72.5) | ||||
|     - ReactCommon/turbomodule/core (= 0.72.5) | ||||
|   - React-rncore (0.72.5) | ||||
|   - React-runtimeexecutor (0.72.5): | ||||
|     - React-jsi (= 0.72.5) | ||||
|   - React-runtimescheduler (0.72.5): | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-callinvoker | ||||
|     - React-debug | ||||
|     - React-jsi | ||||
|     - React-runtimeexecutor | ||||
|   - React-utils (0.72.5): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-debug | ||||
|   - ReactCommon/turbomodule/bridging (0.72.5): | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-bridging (= 0.69.8) | ||||
|     - React-callinvoker (= 0.69.8) | ||||
|     - React-Core (= 0.69.8) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-logger (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-callinvoker (= 0.72.5) | ||||
|     - React-cxxreact (= 0.72.5) | ||||
|     - React-jsi (= 0.72.5) | ||||
|     - React-logger (= 0.72.5) | ||||
|     - React-perflogger (= 0.72.5) | ||||
|   - ReactCommon/turbomodule/core (0.72.5): | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-callinvoker (= 0.72.5) | ||||
|     - React-cxxreact (= 0.72.5) | ||||
|     - React-jsi (= 0.72.5) | ||||
|     - React-logger (= 0.72.5) | ||||
|     - React-perflogger (= 0.72.5) | ||||
|   - ReactNativeCameraKit (14.0.0-beta9): | ||||
|     - React-Core | ||||
|   - RNVectorIcons (10.0.3): | ||||
|   - RNVectorIcons (10.2.0): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core | ||||
|   - SocketRocket (0.6.1) | ||||
|   - SSZipArchive (2.4.3) | ||||
|   - Yoga (1.14.0) | ||||
|  | ||||
| @@ -315,26 +459,31 @@ DEPENDENCIES: | ||||
|   - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) | ||||
|   - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) | ||||
|   - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) | ||||
|   - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) | ||||
|   - libevent (~> 2.1.12) | ||||
|   - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) | ||||
|   - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) | ||||
|   - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) | ||||
|   - React (from `../node_modules/react-native/`) | ||||
|   - React-bridging (from `../node_modules/react-native/ReactCommon`) | ||||
|   - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) | ||||
|   - React-Codegen (from `build/generated/ios`) | ||||
|   - React-Core (from `../node_modules/react-native/`) | ||||
|   - React-Core/RCTWebSocket (from `../node_modules/react-native/`) | ||||
|   - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) | ||||
|   - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) | ||||
|   - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) | ||||
|   - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) | ||||
|   - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) | ||||
|   - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) | ||||
|   - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) | ||||
|   - React-logger (from `../node_modules/react-native/ReactCommon/logger`) | ||||
|   - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) | ||||
|   - react-native-update (from `../node_modules/react-native-update`) | ||||
|   - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) | ||||
|   - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) | ||||
|   - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) | ||||
|   - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) | ||||
|   - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) | ||||
|   - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) | ||||
|   - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) | ||||
|   - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) | ||||
| @@ -342,7 +491,10 @@ DEPENDENCIES: | ||||
|   - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) | ||||
|   - React-RCTText (from `../node_modules/react-native/Libraries/Text`) | ||||
|   - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) | ||||
|   - React-rncore (from `../node_modules/react-native/ReactCommon`) | ||||
|   - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) | ||||
|   - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) | ||||
|   - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) | ||||
|   - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) | ||||
|   - ReactNativeCameraKit (from `../node_modules/react-native-camera-kit`) | ||||
|   - RNVectorIcons (from `../node_modules/react-native-vector-icons`) | ||||
| @@ -351,6 +503,8 @@ DEPENDENCIES: | ||||
| SPEC REPOS: | ||||
|   trunk: | ||||
|     - fmt | ||||
|     - libevent | ||||
|     - SocketRocket | ||||
|     - SSZipArchive | ||||
|  | ||||
| EXTERNAL SOURCES: | ||||
| @@ -364,6 +518,9 @@ EXTERNAL SOURCES: | ||||
|     :path: "../node_modules/react-native/React/FBReactNativeSpec" | ||||
|   glog: | ||||
|     :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" | ||||
|   hermes-engine: | ||||
|     :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" | ||||
|     :tag: hermes-2023-08-07-RNv0.72.4-813b2def12bc9df02654b3e3653ae4a68d0572e0 | ||||
|   RCT-Folly: | ||||
|     :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" | ||||
|   RCTRequired: | ||||
| @@ -372,8 +529,6 @@ EXTERNAL SOURCES: | ||||
|     :path: "../node_modules/react-native/Libraries/TypeSafety" | ||||
|   React: | ||||
|     :path: "../node_modules/react-native/" | ||||
|   React-bridging: | ||||
|     :path: "../node_modules/react-native/ReactCommon" | ||||
|   React-callinvoker: | ||||
|     :path: "../node_modules/react-native/ReactCommon/callinvoker" | ||||
|   React-Codegen: | ||||
| @@ -384,6 +539,10 @@ EXTERNAL SOURCES: | ||||
|     :path: "../node_modules/react-native/React/CoreModules" | ||||
|   React-cxxreact: | ||||
|     :path: "../node_modules/react-native/ReactCommon/cxxreact" | ||||
|   React-debug: | ||||
|     :path: "../node_modules/react-native/ReactCommon/react/debug" | ||||
|   React-hermes: | ||||
|     :path: "../node_modules/react-native/ReactCommon/hermes" | ||||
|   React-jsi: | ||||
|     :path: "../node_modules/react-native/ReactCommon/jsi" | ||||
|   React-jsiexecutor: | ||||
| @@ -396,12 +555,16 @@ EXTERNAL SOURCES: | ||||
|     :path: "../node_modules/react-native-safe-area-context" | ||||
|   react-native-update: | ||||
|     :path: "../node_modules/react-native-update" | ||||
|   React-NativeModulesApple: | ||||
|     :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" | ||||
|   React-perflogger: | ||||
|     :path: "../node_modules/react-native/ReactCommon/reactperflogger" | ||||
|   React-RCTActionSheet: | ||||
|     :path: "../node_modules/react-native/Libraries/ActionSheetIOS" | ||||
|   React-RCTAnimation: | ||||
|     :path: "../node_modules/react-native/Libraries/NativeAnimation" | ||||
|   React-RCTAppDelegate: | ||||
|     :path: "../node_modules/react-native/Libraries/AppDelegate" | ||||
|   React-RCTBlob: | ||||
|     :path: "../node_modules/react-native/Libraries/Blob" | ||||
|   React-RCTImage: | ||||
| @@ -416,8 +579,14 @@ EXTERNAL SOURCES: | ||||
|     :path: "../node_modules/react-native/Libraries/Text" | ||||
|   React-RCTVibration: | ||||
|     :path: "../node_modules/react-native/Libraries/Vibration" | ||||
|   React-rncore: | ||||
|     :path: "../node_modules/react-native/ReactCommon" | ||||
|   React-runtimeexecutor: | ||||
|     :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" | ||||
|   React-runtimescheduler: | ||||
|     :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" | ||||
|   React-utils: | ||||
|     :path: "../node_modules/react-native/ReactCommon/react/utils" | ||||
|   ReactCommon: | ||||
|     :path: "../node_modules/react-native/ReactCommon" | ||||
|   ReactNativeCameraKit: | ||||
| @@ -428,45 +597,54 @@ EXTERNAL SOURCES: | ||||
|     :path: "../node_modules/react-native/ReactCommon/yoga" | ||||
|  | ||||
| SPEC CHECKSUMS: | ||||
|   boost: a7c83b31436843459a1961bfd74b96033dc77234 | ||||
|   boost: 57d2868c099736d80fcd648bf211b4431e51a558 | ||||
|   DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 | ||||
|   FBLazyVector: c7b6997d41fffaaaf4d18c82bc93885df731e2d0 | ||||
|   FBReactNativeSpec: b1217c558a3ae84c2057d9c2ddce88af21379a68 | ||||
|   FBLazyVector: 71803c074f6325f10b5ec891c443b6bbabef0ca7 | ||||
|   FBReactNativeSpec: 448e08a759d29a96e15725ae532445bf4343567c | ||||
|   fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 | ||||
|   glog: 3d02b25ca00c2d456734d0bcff864cbc62f6ae1a | ||||
|   RCT-Folly: b9d9fe1fc70114b751c076104e52f3b1b5e5a95a | ||||
|   RCTRequired: 344fd6fb3c669da87e91294be7ee0199bf35c701 | ||||
|   RCTTypeSafety: ca608cc1d3a81229632bc0c1136b698b9337c1d8 | ||||
|   React: 1d76bae8d73113b202224075f0b0bd546996b328 | ||||
|   React-bridging: 2eb62dc8ba31194d285705cb62e24a15753aeaec | ||||
|   React-callinvoker: f3cfb045a0fb185445542555d88b6acf385cbedc | ||||
|   React-Codegen: 808e2d4d4201583ac89fb40d6862aaa26cb88999 | ||||
|   React-Core: 82c5392ab182252ce4ffbc16794e0e38b32ea9a1 | ||||
|   React-CoreModules: 4e891a6c0a59b01ca8406e041c7e49ab12e51d48 | ||||
|   React-cxxreact: 0dc4ba3d97839bd36d422592ddb0bdfa9940a990 | ||||
|   React-jsi: dcd936ff5e580dba0d8644ac9ee4ca47bb166df1 | ||||
|   React-jsiexecutor: 2cf8ea3753afb81dfcc386613dbbb0b5d155fb34 | ||||
|   React-jsinspector: 0eda09e9cf22bbb5dbb1d23143b03a31acf37d67 | ||||
|   React-logger: 5997ab008583826c10ffe4e1ff990363e975639d | ||||
|   react-native-safe-area-context: 0ee144a6170530ccc37a0fd9388e28d06f516a89 | ||||
|   react-native-update: a7f136a3c87183b13c7ff5c4f9d2b614930968ad | ||||
|   React-perflogger: ad1416a715d86b32f456e5d0aed99c3b52f1de37 | ||||
|   React-RCTActionSheet: cbf7c6a953982562418ee72a1084ff7b9447b558 | ||||
|   React-RCTAnimation: 33df3e25824dd7313edec28dded2745542f9352b | ||||
|   React-RCTBlob: 2434411df0d2d0e6567445a995f6678e2cc1d8e3 | ||||
|   React-RCTImage: 0b912ab4255ea5ec903d06c77f5a23cea9e9c988 | ||||
|   React-RCTLinking: eb239c24f4f5fe79c57a2fedf45f34f40481dda3 | ||||
|   React-RCTNetwork: db173a6c35c1212909944920a5aa03eb8b7b9cf4 | ||||
|   React-RCTSettings: 687fa7538972467d80cd7729b6f86598e1369813 | ||||
|   React-RCTText: 605ef414f8e72bd111945d3612cd0518de612b24 | ||||
|   React-RCTVibration: 5462287ee85304ba1a00474665ab292e63a41663 | ||||
|   React-runtimeexecutor: 9df680f18497367bcf5c15b6b6406c0f2dfa2b6a | ||||
|   ReactCommon: c10f046f3ef8561e7c8e7e9b9dae2ecc9ffc48ef | ||||
|   glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b | ||||
|   hermes-engine: f6cf92a471053245614d9d8097736f6337d5b86c | ||||
|   libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 | ||||
|   RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 | ||||
|   RCTRequired: df81ab637d35fac9e6eb94611cfd20f0feb05455 | ||||
|   RCTTypeSafety: 4636e4a36c7c2df332bda6d59b19b41c443d4287 | ||||
|   React: e0cc5197a804031a6c53fb38483c3485fcb9d6f3 | ||||
|   React-callinvoker: 1a635856fe0c3d8b13fccd4ed7e76283b99b0868 | ||||
|   React-Codegen: 78d61f981cccc68a771a598f71621cb7db14b04c | ||||
|   React-Core: 252f8e9ca5a4e91af9b9be58670846d662b1c49f | ||||
|   React-CoreModules: f8b9e91fac7bd5d18729ce961a4978c70b5031cc | ||||
|   React-cxxreact: 70284b32dcd367439d7dae84d9f72660544181b5 | ||||
|   React-debug: ee33d7ba43766d9b10b32561527b57ccfbcb6bd1 | ||||
|   React-hermes: 91f97ea2669dc5847e1f26c243aaad913319c570 | ||||
|   React-jsi: bd68b7779746014f01ea72d1b738809e132d7f1e | ||||
|   React-jsiexecutor: ff70a72027dea5cc7d71cfcc6fad7f599f63987a | ||||
|   React-jsinspector: aef73cbd43b70675f572214d10fa438c89bf11ba | ||||
|   React-logger: 2e4aee3e11b3ec4fa6cfd8004610bbb3b8d6cca4 | ||||
|   react-native-safe-area-context: 851c62c48dce80ccaa5637b6aa5991a1bc36eca9 | ||||
|   react-native-update: 805aef1caa02ec2532a4c060f3baa696aa8d0b92 | ||||
|   React-NativeModulesApple: 797bc6078d566eef3fb3f74127e6e1d2e945a15f | ||||
|   React-perflogger: cd8886513f68e1c135a1e79d20575c6489641597 | ||||
|   React-RCTActionSheet: 726d2615ca62a77ce3e2c13d87f65379cdc73498 | ||||
|   React-RCTAnimation: 8f2716b881c37c64858e4ecee0f58bfa57ff9afd | ||||
|   React-RCTAppDelegate: d4a213f29e81682f6b9c7d22f62a2ccab6d125ae | ||||
|   React-RCTBlob: dfaa933231c3497915bbcc9d98fcff7b6b60582c | ||||
|   React-RCTImage: 747e3d7b656a67470f9c234baedb8d41bbc4e745 | ||||
|   React-RCTLinking: 148332b5b0396b280b05534f7d168e560a3bbd5f | ||||
|   React-RCTNetwork: 1d818121a8e678f064de663a6db7aaefc099e53c | ||||
|   React-RCTSettings: 4b95d26ebc88bfd3b6535b2d7904914ff88dbfc2 | ||||
|   React-RCTText: ce4499e4f2d8f85dc4b93ff0559313a016c4f3e2 | ||||
|   React-RCTVibration: 45372e61b35e96d16893540958d156675afbeb63 | ||||
|   React-rncore: a79d1cb3d6c01b358a8aa0b31ccc04ab5f0dbebc | ||||
|   React-runtimeexecutor: 7e31e2bc6d0ecc83d4ba05eadc98401007abc10c | ||||
|   React-runtimescheduler: cc32add98c45c5df18436a6a52a7e1f6edec102c | ||||
|   React-utils: 7a9918a1ffdd39aba67835d42386f592ea3f8e76 | ||||
|   ReactCommon: 91ece8350ebb3dd2be9cef662abd78b6948233c0 | ||||
|   ReactNativeCameraKit: 4bec78d688adcd68772af2834d5c30a6a8e2a384 | ||||
|   RNVectorIcons: bc7ee28cadf39c77a49232a14738dfce690f66cd | ||||
|   RNVectorIcons: 084d874504f21a5452744e400537eb96b45060b6 | ||||
|   SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 | ||||
|   SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef | ||||
|   Yoga: d3820731e0ca3a4933f061ad29defaf7726e3251 | ||||
|   Yoga: 86fed2e4d425ee4c6eab3813ba1791101ee153c6 | ||||
|  | ||||
| PODFILE CHECKSUM: d91298a06dc138c1778443a87db930ad51725939 | ||||
| PODFILE CHECKSUM: 8896f64a5acacf96e515141601dbe49951a654b4 | ||||
|  | ||||
| COCOAPODS: 1.15.2 | ||||
|   | ||||
| @@ -1,24 +1,11 @@ | ||||
| // const path = require('path'); | ||||
| const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config'); | ||||
|  | ||||
| // const extraNodeModules = { | ||||
| //   react: path.resolve(__dirname, 'node_modules/react'), | ||||
| //   'react-native': path.resolve(__dirname, 'node_modules/react-native'), | ||||
| //   'react-native-update': path.resolve(__dirname, '../..'), | ||||
| //   '@babel/runtime': path.resolve(__dirname, 'node_modules/@babel/runtime'), | ||||
| // }; | ||||
| // const watchFolders = [path.resolve(__dirname, '../..')]; | ||||
| /** | ||||
|  * Metro configuration | ||||
|  * https://facebook.github.io/metro/docs/configuration | ||||
|  * | ||||
|  * @type {import('metro-config').MetroConfig} | ||||
|  */ | ||||
| const config = {}; | ||||
|  | ||||
| module.exports = { | ||||
|   transformer: { | ||||
|     getTransformOptions: async () => ({ | ||||
|       transform: { | ||||
|         experimentalImportSupport: false, | ||||
|         inlineRequires: true, | ||||
|       }, | ||||
|     }), | ||||
|   }, | ||||
|   // resolver: { | ||||
|   //   extraNodeModules, | ||||
|   // }, | ||||
|   // watchFolders, | ||||
| }; | ||||
| module.exports = mergeConfig(getDefaultConfig(__dirname), config); | ||||
|   | ||||
| @@ -13,31 +13,35 @@ | ||||
|     "apk": "cd android && ./gradlew assembleRelease" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "patch-package": "^6.5.1", | ||||
|     "patch-package": "^8.0.0", | ||||
|     "postinstall-postinstall": "^2.1.0", | ||||
|     "react": "18.0.0", | ||||
|     "react-native": "0.69.8", | ||||
|     "react": "18.2.0", | ||||
|     "react-native": "0.72.5", | ||||
|     "react-native-camera-kit": "^14.0.0-beta15", | ||||
|     "react-native-paper": "^5.12.1", | ||||
|     "react-native-safe-area-context": "^4.8.2", | ||||
|     "react-native-paper": "^5.12.5", | ||||
|     "react-native-safe-area-context": "^4.11.0", | ||||
|     "react-native-update": "^10.15.0", | ||||
|     "react-native-vector-icons": "^10.0.3" | ||||
|     "react-native-vector-icons": "^10.2.0" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@babel/core": "^7.21.0", | ||||
|     "@babel/runtime": "^7.21.0", | ||||
|     "@react-native-community/eslint-config": "^3.2.0", | ||||
|     "babel-jest": "^29.5.0", | ||||
|     "detox": "^20.5.0", | ||||
|     "eslint": "^8.36.0", | ||||
|     "jest": "^29.5.0", | ||||
|     "metro-react-native-babel-preset": "^0.76.0", | ||||
|     "pod-install": "^0.1.37", | ||||
|     "prettier": "^2.8.4", | ||||
|     "@babel/core": "^7.20.0", | ||||
|     "@babel/preset-env": "^7.20.0", | ||||
|     "@babel/runtime": "^7.20.0", | ||||
|     "@react-native/eslint-config": "^0.72.2", | ||||
|     "@react-native/metro-config": "^0.72.11", | ||||
|     "@tsconfig/react-native": "^3.0.0", | ||||
|     "@types/react": "^18.0.24", | ||||
|     "@types/react-test-renderer": "^18.0.0", | ||||
|     "babel-jest": "^29.2.1", | ||||
|     "eslint": "^8.19.0", | ||||
|     "jest": "^29.2.1", | ||||
|     "metro-react-native-babel-preset": "0.76.8", | ||||
|     "prettier": "^2.4.1", | ||||
|     "react-test-renderer": "18.2.0", | ||||
|     "ts-jest": "^29.0.5" | ||||
|     "typescript": "5.6.3" | ||||
|   }, | ||||
|   "jest": { | ||||
|     "preset": "react-native" | ||||
|   } | ||||
|   "engines": { | ||||
|     "node": ">=16" | ||||
|   }, | ||||
|   "packageManager": "yarn@3.6.4" | ||||
| } | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user
	 Sunny Luo
					Sunny Luo