Page MenuHomePhabricator

[native] [13/40] RN 0.70: Expo upgrade
ClosedPublic

Authored by ashoat on Dec 18 2022, 7:59 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Nov 22, 7:29 AM
Unknown Object (File)
Fri, Nov 22, 7:27 AM
Unknown Object (File)
Fri, Nov 22, 1:42 AM
Unknown Object (File)
Thu, Nov 14, 10:12 AM
Unknown Object (File)
Thu, Nov 14, 9:45 AM
Unknown Object (File)
Thu, Nov 14, 9:20 AM
Unknown Object (File)
Wed, Nov 13, 10:46 PM
Unknown Object (File)
Tue, Nov 12, 1:09 PM
Subscribers

Details

Summary

Updating to Expo 47! Linear issue

Depends on D5906

Test Plan

Tested along with whole stack: test plan

Diff Detail

Repository
rCOMM Comm
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

Harbormaster returned this revision to the author for changes because remote builds failed.Dec 18 2022, 8:00 AM
Harbormaster failed remote builds in B14236: Diff 19473!
native/android/app/build.gradle
636 ↗(On Diff #19473)

Pulled this from https://github.com/expo/expo/blob/sdk-47/android/app/build.gradle#L13, not mentioned in guides but figured it should match up

Please ignore CI until the end of the stack

Generally looks like a standard Expo upgrade steps, just have two questions before accepting

native/ios/Podfile
5

I know some Expo SDK 47 feats require iOS 13.0, but just curious - Shouldn't the pbxproj "iOS Deployment Target" changes from D5897 be synced with this?

native/package.json
65–70

How did you find package versions? The numbers are correct, but they're marked with ^, but should be ~, due to sdk-47 "bundledNativeModules".

Tip: Recently, Expo encouraged to use npx expo doctor (with optional --fix-dependencies flag) called from inside the native directory - it will list (and potentially fix) all dependecies incompatible with the installed expo package version.

This revision is now accepted and ready to land.Dec 19 2022, 9:08 AM
This revision now requires review to proceed.Dec 19 2022, 9:45 AM
native/ios/Podfile
5

Not sure what you mean... are you suggesting only bumping IPHONEOS_DEPLOYMENT_TARGET once? I bumped to iOS 12.4 in D5897 because the React Native upgrade required it, and then later bumped to iOS 13.0 in this diff because the Expo upgrade required it

native/package.json
65–70

Will update the ^s to ~.

Results of npx expo-cli doctor:

ashoat@ashoatmbp2021 [~/src/comm/native]$ npx expo-cli doctor
Some dependencies are incompatible with the installed expo package version:
 - @react-native-community/netinfo - expected version: 9.3.5 - actual version installed: 9.3.7
 - react-native - expected version: 0.70.5 - actual version installed: 0.70.6
 - react-native-svg - expected version: 13.4.0 - actual version installed: 12.3.0
 - react-native-webview - expected version: 11.23.1 - actual version installed: 11.23.0
Your project may not work correctly until you install the correct versions of the packages.
To install the correct versions of these packages, please run: expo doctor --fix-dependencies,
or install individual packages by running expo install [package-name ...]

None of these are Expo-related or particularly concerning, so I think it's okay to leave as-is. I'm updating a lot of packages here already... want to avoid the scope growing even further.

bartek requested changes to this revision.Dec 19 2022, 12:14 PM

Just making sure that you haven't missed my previous comment about package versions of expo-* dependencies:
https://phab.comm.dev/D5907?id=19524#inline-39929

This revision now requires changes to proceed.Dec 19 2022, 12:14 PM

Ouch, we commented at the same time ;)

Edit:

Will update the ^s to ~.

Sounds reasonable to me. The lockfile should stay unchanged so this shoulnd't be a problematic change

Use squiggle instead of caret

This revision is now accepted and ready to land.Dec 19 2022, 12:18 PM

yarn.lock changes from the last update

This revision was landed with ongoing or failed builds.Dec 20 2022, 12:00 PM
This revision was automatically updated to reflect the committed changes.