Skip to content

Commit

Permalink
deps: Upgrade React Native from v0.60 to v0.61.
Browse files Browse the repository at this point in the history
Using the RN Upgrade Helper, a web app showing the diff from the
release/0.60.6 and the release/0.61.5 branches of the
`react-native-community/rn-diff-purge` repo, at
https://react-native-community.github.io/upgrade-helper/?from=0.60.6&to=0.61.5.

In this commit:

- Upgrade `react-native`, `react`, and `flow-bin` following the template

- Change our Podfile to reflect new/changed iOS dependencies in RN,
  following the template

- Make changes to adapt to multiple upgrades of RN's Hermes
  dependency (details below)

- Run `yarn yarn-deduplicate && yarn` as prompted by
  `tools/test deps`

See (on the issue) a list of changes from the upgrade helper that we
don't do in this series [1].

Hermes details:

In facebook/react-native@c21e36db4, React Native started using
v0.1.1 of Hermes [2], which includes a rename of the NPM package
(facebook/hermes@c74842e) from 'hermesvm' to 'hermes-engine'. So,
use the new path in the one place where its path occurs in our code,
following the changes to the template in that commit.

In facebook/react-native@06c64f5f1, React Native started using
v0.2.1 of Hermes [3], which was came with the announcement, "The C++
runtime library is now packaged in a separate AAR to avoid
`pickFirst` nondeterminisms". Follow the changes to the template in
that commit, where several `pickFirst` lines are removed.

[1]: zulip#3781 (comment)
[2]: https://github.com/facebook/hermes/releases/tag/v0.1.1
[3]: https://github.com/facebook/hermes/releases/tag/v0.2.1

Fixes: zulip#3781
  • Loading branch information
chrisbobbe committed Jul 9, 2020
1 parent 2796071 commit dd2d9de
Show file tree
Hide file tree
Showing 6 changed files with 516 additions and 354 deletions.
2 changes: 1 addition & 1 deletion .flowconfig
Original file line number Diff line number Diff line change
Expand Up @@ -137,4 +137,4 @@ suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError
suppress_comment=\\(.\\|\n\\)*\\$FlowMigrationFudge

[version]
^0.98.0
^0.105.0
11 changes: 1 addition & 10 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -214,15 +214,6 @@ android {
}
}
}

packagingOptions {
pickFirst '**/armeabi-v7a/libc++_shared.so'
pickFirst '**/x86/libc++_shared.so'
pickFirst '**/arm64-v8a/libc++_shared.so'
pickFirst '**/x86_64/libc++_shared.so'
pickFirst '**/x86/libjsc.so'
pickFirst '**/armeabi-v7a/libjsc.so'
}
}

repositories {
Expand All @@ -238,7 +229,7 @@ dependencies {
implementation "com.facebook.react:react-native:+" // From node_modules

if (enableHermes) {
def hermesPath = "../../node_modules/hermesvm/android/";
def hermesPath = "../../node_modules/hermes-engine/android/";
debugImplementation files(hermesPath + "hermes-debug.aar")
releaseImplementation files(hermesPath + "hermes-release.aar")
} else {
Expand Down
16 changes: 12 additions & 4 deletions ios/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,15 @@ require_relative '../node_modules/react-native-unimodules/cocoapods.rb'

target 'ZulipMobile' do
# Pods from React Native
pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"

pod 'React', :path => '../node_modules/react-native/'
pod 'React-Core', :path => '../node_modules/react-native/React'
pod 'React-DevSupport', :path => '../node_modules/react-native/React'
pod 'React-Core', :path => '../node_modules/react-native/'
pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
Expand All @@ -19,15 +25,17 @@ target 'ZulipMobile' do
pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
pod 'React-RCTWebSocket', :path => '../node_modules/react-native/Libraries/WebSocket'
pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'
pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
# This is deprecated upstream; removing it is #4115. See
# https://reactnative.dev/docs/pushnotificationios.
pod 'React-RCTPushNotification', :path => '../node_modules/react-native/Libraries/PushNotificationIOS'
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon"
pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
Expand Down
Loading

0 comments on commit dd2d9de

Please sign in to comment.