diff --git a/.github/workflows/android-build.yml b/.github/workflows/android-build.yml index f5d4597290..ec60d768b5 100644 --- a/.github/workflows/android-build.yml +++ b/.github/workflows/android-build.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - working-directory: [example, FabricExample] + working-directory: [example] concurrency: group: android-${{ github.ref }} cancel-in-progress: true diff --git a/.github/workflows/ios-build.yml b/.github/workflows/ios-build.yml index b35241bfce..c8c70be447 100644 --- a/.github/workflows/ios-build.yml +++ b/.github/workflows/ios-build.yml @@ -12,6 +12,8 @@ jobs: strategy: matrix: working-directory: [example, FabricExample] + xcode: ['13.2.1'] + device: ['iPhone 13'] concurrency: group: ios-${{ github.ref }} cancel-in-progress: true @@ -29,6 +31,10 @@ jobs: - name: Install pods working-directory: ${{ matrix.working-directory }}/ios run: pod install + - name: Switch Xcode version to ${{ matrix.xcode }} + run: sudo xcode-select --switch /Applications/Xcode_${{ matrix.xcode }}.app + - name: Force update Launch Database to prevent issues when opening the Simulator app + run: /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer/Applications/Simulator.app - name: Build app working-directory: ${{ matrix.working-directory }} run: yarn ios diff --git a/.github/workflows/static-example-apps-checks.yml b/.github/workflows/static-example-apps-checks.yml index ad9b436f8b..f2a32d8351 100644 --- a/.github/workflows/static-example-apps-checks.yml +++ b/.github/workflows/static-example-apps-checks.yml @@ -3,7 +3,7 @@ on: pull_request: paths: - 'example/**' - - 'FabricExample/**' + # - 'FabricExample/**' push: branches: - main diff --git a/RNGestureHandler.podspec b/RNGestureHandler.podspec index 100d320b60..e369edee3c 100644 --- a/RNGestureHandler.podspec +++ b/RNGestureHandler.podspec @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.homepage = "https://github.com/software-mansion/react-native-gesture-handler" s.license = "MIT" s.author = { package["author"]["name"] => package["author"]["email"] } - s.source = { :git => "https://github.com/software-mansion/react-native-gesture-handler", :tag => "#{s.version}" } + s.source = { :git => "https://github.com/wordpress-mobile/react-native-gesture-handler", :tag => "#{s.version}" } s.source_files = "ios/**/*.{h,m,mm}" s.requires_arc = true diff --git a/android/build.gradle b/android/build.gradle index ad5845e703..26798d6a36 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -2,13 +2,17 @@ import groovy.json.JsonSlurper import java.nio.file.Paths buildscript { + ext.isStandaloneProject = (project == rootProject) + def kotlin_version = rootProject.ext.has('kotlinVersion') ? rootProject.ext.get('kotlinVersion') : project.properties['RNGH_kotlinVersion'] repositories { mavenCentral() + google() } dependencies { + classpath("com.android.tools.build:gradle:4.1.0") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") } } @@ -40,10 +44,7 @@ if (isNewArchitectureEnabled()) { } apply plugin: 'com.android.library' apply plugin: 'kotlin-android' - -def safeExtGet(prop, fallback) { - rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback -} +apply plugin: 'maven-publish' // Check whether Reanimated 2.3 or higher is installed alongside Gesture Handler def shouldUseCommonInterfaceFromReanimated() { @@ -55,16 +56,19 @@ def shouldUseCommonInterfaceFromReanimated() { def (major, minor, patch) = reanimatedVersion.tokenize('.') return (Integer.parseInt(major) == 2 && Integer.parseInt(minor) >= 3) || Integer.parseInt(major) == 3 } else { - return false + // In Gutenberg, we use a Reanimated version higher than 2.3. Therefore, we have to + // assure that the common interface is always used to prevent duplicating the class. + return true; } } repositories { mavenCentral() + google() } android { - compileSdkVersion safeExtGet("compileSdkVersion", 28) + compileSdkVersion 31 // Used to override the NDK path/version on internal CI or by allowing // users to customize the NDK path/version from their root project (e.g. for M1 support) @@ -76,8 +80,8 @@ android { } defaultConfig { - minSdkVersion safeExtGet('minSdkVersion', 16) - targetSdkVersion safeExtGet('targetSdkVersion', 28) + minSdkVersion 21 + targetSdkVersion 31 versionCode 1 versionName "1.0" buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() @@ -119,6 +123,10 @@ android { // only the ones that make the build fail (ideally we should only include librngesturehandler_modules but we // are only allowed to specify exclude patterns) exclude "**/libreact_render*.so" + + // Exclude files to avoid 'duplicate files during packaging' errors + // when building an app that incorporates this package as a dependency + exclude 'META-INF/android_release.kotlin_module' } // Include "lib/" as sources, unfortunately react-native link can't handle @@ -148,20 +156,48 @@ android { } } -def kotlin_version = safeExtGet('kotlinVersion', project.properties['RNGH_kotlinVersion']) +allprojects { + repositories { + if (isStandaloneProject) { + maven { url "https://a8c-libs.s3.amazonaws.com/android/react-native-mirror" } + } else { + // When building as a dep, the RN's maven repo is locally in the node_modules folder + def nodeModulesPath = "${project.buildDir}/../../node_modules/" + maven { url "${nodeModulesPath}/react-native/android" } + } + + google() + jcenter() + mavenCentral() + maven { url 'https://jitpack.io' } + } +} + +def kotlin_version = rootProject.ext.has('kotlinVersion') ? rootProject.ext.get('kotlinVersion') : project.properties['RNGH_kotlinVersion'] dependencies { //noinspection GradleDynamicVersion if (isNewArchitectureEnabled()) { implementation project(':ReactAndroid') } else { - implementation 'com.facebook.react:react-native:+' + if (isStandaloneProject) { + // If this is the root project (e.g. Jitpack), specify a version + implementation 'com.facebook.react:react-native:0.69.4' + } else { + implementation 'com.facebook.react:react-native:+' + } } if (shouldUseCommonInterfaceFromReanimated()) { // Include Reanimated as dependency to load the common interface - implementation (project(':react-native-reanimated')) { - exclude group:'com.facebook.fbjni' // resolves "Duplicate class com.facebook.jni.CppException" + if (isStandaloneProject) { + implementation ("com.github.wordpress-mobile:react-native-reanimated:2.9.1-wp-1") { + exclude group:'com.facebook.fbjni' // resolves "Duplicate class com.facebook.jni.CppException" + } + } else { + implementation (project(':react-native-reanimated')) { + exclude group:'com.facebook.fbjni' // resolves "Duplicate class com.facebook.jni.CppException" + } } } @@ -179,3 +215,15 @@ if (isNewArchitectureEnabled()) { codegenJavaPackageName = "com.swmansion.gesturehandler" } } + +afterEvaluate { + publishing { + publications { + release(MavenPublication) { + from components.release + groupId = 'com.github.wordpress-mobile' + artifactId = 'react-native-gesture-handler' + } + } + } +} diff --git a/android/gradle.properties b/android/gradle.properties index 323af3ed3a..6b7ff9e4a0 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,19 +1,8 @@ -# Project-wide Gradle settings. +org.gradle.jvmargs=-Xmx1536m -XX:+HeapDumpOnOutOfMemoryError +org.gradle.parallel=true +org.gradle.configureondemand=true +org.gradle.caching=true -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. - -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html - -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -# Default value: -Xmx10248m -XX:MaxPermSize=256m -org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 - -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true +android.useAndroidX=true +android.enableJetifier=true RNGH_kotlinVersion=1.5.20 diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000..5c2d1cf016 Binary files /dev/null and b/android/gradle/wrapper/gradle-wrapper.jar differ diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000000..af7be50b10 --- /dev/null +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-all.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/android/gradlew b/android/gradlew new file mode 100755 index 0000000000..b0d6d0ab5d --- /dev/null +++ b/android/gradlew @@ -0,0 +1,188 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# 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"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/android/gradlew.bat b/android/gradlew.bat new file mode 100644 index 0000000000..15e1ee37a7 --- /dev/null +++ b/android/gradlew.bat @@ -0,0 +1,100 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="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 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/android/lib/build.gradle b/android/lib/build.gradle index 4b7cffcc7d..e0eec5aacd 100644 --- a/android/lib/build.gradle +++ b/android/lib/build.gradle @@ -1,19 +1,15 @@ -apply plugin: 'com.android.library' - -repositories { - maven { url 'https://repo1.maven.org/maven2' } +plugins { + id "com.android.library" } android { - compileSdkVersion 23 - buildToolsVersion '25.0.0' + compileSdkVersion 31 defaultConfig { - minSdkVersion 16 - targetSdkVersion 23 - versionCode 1 - versionName "1.0" + minSdkVersion 21 + targetSdkVersion 31 } + buildTypes { release { minifyEnabled false @@ -23,6 +19,13 @@ android { } dependencies { - testCompile 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:23.4.0' + if (isStandaloneProject) { + // If this is the root project (e.g. Jitpack), specify a version + implementation 'com.facebook.react:react-native:0.69.4' + } else { + //noinspection GradleDynamicVersion + api "com.facebook.react:react-native:+" + } + testImplementation 'junit:junit:4.12' + implementation "androidx.appcompat:appcompat:1.3.1" } diff --git a/android/settings.gradle b/android/settings.gradle deleted file mode 100644 index c8e23f4979..0000000000 --- a/android/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -include 'lib' \ No newline at end of file diff --git a/android/settings.gradle.kts b/android/settings.gradle.kts new file mode 100644 index 0000000000..0eaf189094 --- /dev/null +++ b/android/settings.gradle.kts @@ -0,0 +1,11 @@ +pluginManagement { + plugins { + id("com.android.library") version "4.2.2" + } + repositories { + gradlePluginPortal() + google() + } +} + +include("lib") diff --git a/package.json b/package.json index 17975f820a..1ea34923ff 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-gesture-handler", - "version": "2.5.0", + "version": "2.5.0-wp-1", "description": "Experimental implementation of a new declarative API for gesture handling in react-native", "scripts": { "prepare": "bob build", @@ -80,7 +80,7 @@ "@types/hoist-non-react-statics": "^3.3.1", "@types/jest": "^27.0.3", "@types/react": "^17.0.0", - "@types/react-native": "^0.64.2", + "@types/react-native": "0.64.2", "@types/react-test-renderer": "^17.0.0", "@typescript-eslint/eslint-plugin": "^4.33.0", "@typescript-eslint/parser": "^4.33.0", @@ -96,9 +96,9 @@ "lint-staged": "^12.3.2", "metro-react-native-babel-preset": "^0.64.0", "prettier": "^2.2.1", - "react": "^16.8.6", - "react-dom": "^16.12.0", - "react-native": "^0.64.0", + "react": "^17.0.1", + "react-dom": "^17.0.1", + "react-native": "0.64.0", "react-native-builder-bob": "^0.17.1", "react-native-reanimated": "^2.3.1", "react-native-web": "^0.11.7", diff --git a/react-native-gesture-handler-2.5.0-wp-1.tgz b/react-native-gesture-handler-2.5.0-wp-1.tgz new file mode 100644 index 0000000000..456c33d7e8 Binary files /dev/null and b/react-native-gesture-handler-2.5.0-wp-1.tgz differ diff --git a/tsconfig.json b/tsconfig.json index 10501f8418..425a29148f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -21,5 +21,5 @@ "noUnusedParameters": true, "noUnusedLocals": true }, - "include": ["src/**/*.ts", "src/**/*.tsx", "jestSetup.js"], + "include": ["src/**/*.ts", "src/**/*.tsx", "jestSetup.js"] } diff --git a/yarn.lock b/yarn.lock index 36bebab22f..539c76416e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2960,7 +2960,7 @@ hermes-profile-transformer "^0.0.6" ip "^1.1.5" -"@react-native-community/cli-platform-android@^5.0.1", "@react-native-community/cli-platform-android@^5.0.1-alpha.1": +"@react-native-community/cli-platform-android@^5.0.1", "@react-native-community/cli-platform-android@^5.0.1-alpha.0": version "5.0.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-5.0.1.tgz#7f761e1818e5a099877ec59a1b739553fd6a6905" integrity sha512-qv9GJX6BJ+Y4qvV34vgxKwwN1cnveXUdP6y2YmTW7XoAYs5YUzKqHajpY58EyucAL2y++6+573t5y4U/9IIoww== @@ -2976,7 +2976,7 @@ slash "^3.0.0" xmldoc "^1.1.2" -"@react-native-community/cli-platform-ios@^5.0.1-alpha.1": +"@react-native-community/cli-platform-ios@^5.0.1-alpha.0": version "5.0.2" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-5.0.2.tgz#62485534053c0dad28a67de188248de177f4b0fb" integrity sha512-IAJ2B3j2BTsQUJZ4R6cVvnTbPq0Vza7+dOgP81ISz2BKRtQ0VqNFv+VOALH2jLaDzf4t7NFlskzIXFqWqy2BLg== @@ -3023,7 +3023,7 @@ dependencies: ora "^3.4.0" -"@react-native-community/cli@^5.0.1-alpha.1": +"@react-native-community/cli@^5.0.1-alpha.0": version "5.0.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-5.0.1.tgz#1f7a66d813d5daf102e593f3c550650fa0cc8314" integrity sha512-9VzSYUYSEqxEH5Ib2UNSdn2eyPiYZ4T7Y79o9DKtRBuSaUIwbCUdZtIm+UUjBpLS1XYBkW26FqL8/UdZDmQvXw== @@ -3329,7 +3329,7 @@ resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== -"@types/react-native@^0.64.2": +"@types/react-native@0.64.2": version "0.64.2" resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.64.2.tgz#2e344aeec0b4eb21fb9eaa0ed8973245c5601d56" integrity sha512-w2y04h+GVLY+OMlFSmq4adPuS51XtEp1yUr83OvXf+moMQ4zDG1Q07HhyvYDXdc+BSS9ANHySBqVCz0hFxli9Q== @@ -9075,7 +9075,7 @@ prompts@^2.4.0: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" dependencies: @@ -9156,15 +9156,14 @@ react-devtools-core@^4.6.0: shell-quote "^1.6.1" ws "^7" -react-dom@^16.12.0: - version "16.14.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" - integrity sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw== +react-dom@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" + integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.19.1" + scheduler "^0.20.2" react-freeze@^1.0.0: version "1.0.0" @@ -9276,15 +9275,15 @@ react-native-web@^0.11.7: prop-types "^15.6.0" react-timer-mixin "^0.13.4" -react-native@^0.64.0: - version "0.64.3" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.64.3.tgz#40db6385963b4b17325f9cc86dd19132394b03fc" - integrity sha512-2OEU74U0Ek1/WeBzPbg6XDsCfjF/9fhrNX/5TFgEiBKd5mNc9LOZ/OlMmkb7iues/ZZ/oc51SbEfLRQdcW0fVw== +react-native@0.64.0: + version "0.64.0" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.64.0.tgz#c3bde5b638bf8bcf12bae6e094930d39cb942ab7" + integrity sha512-8dhSHBthgGwAjU+OjqUEA49229ThPMQH7URH0u8L0xoQFCnZO2sZ9Wc6KcbxI0x9KSmjCMFFZqRe3w3QsRv64g== dependencies: "@jest/create-cache-key-function" "^26.5.0" - "@react-native-community/cli" "^5.0.1-alpha.1" - "@react-native-community/cli-platform-android" "^5.0.1-alpha.1" - "@react-native-community/cli-platform-ios" "^5.0.1-alpha.1" + "@react-native-community/cli" "^5.0.1-alpha.0" + "@react-native-community/cli-platform-android" "^5.0.1-alpha.0" + "@react-native-community/cli-platform-ios" "^5.0.1-alpha.0" "@react-native/assets" "1.0.0" "@react-native/normalize-color" "1.0.0" "@react-native/polyfills" "1.0.0" @@ -9357,13 +9356,13 @@ react-transform-hmr@^1.0.4: global "^4.3.0" react-proxy "^1.1.7" -react@^16.8.6: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" +react@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" + integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" - prop-types "^15.6.2" read-pkg-up@^2.0.0: version "2.0.0" @@ -9785,14 +9784,6 @@ saxes@^5.0.1: dependencies: xmlchars "^2.2.0" -scheduler@^0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" - integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - scheduler@^0.20.1, scheduler@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91"