Skip to content

Conversation

Kudo
Copy link
Contributor

@Kudo Kudo commented Jan 6, 2022

Why

from sdk 43, we've tried to use official react-native in our bare template. that would be good if we do this also in bare-expo and our tests will be more like a real app which user would have. this change will also reduce android CI time because we don't need to build react-native AAR. (test-suite android from about 30m -> 23m)

close ENG-2234

How

  • remove react-native-lab/react-native from yarn workspace
  • remove building android AAR from our fork
  • remove dev-menu and async-storage code because our forked react-native removed the registration.

the only purpose of react-native-lab/react-native is for expo-go versioned code after this pr.

Test Plan

  • CI green
  • et remove-sdk -p {android,ios} -s 44.0.0 ; et add-sdk -p {android,ios} -s 44.0.0 and check versioning right

Checklist

  • n/a Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md).
  • This diff will work correctly for expo build (eg: updated @expo/xdl).
  • This diff will work correctly for expo prebuild & EAS Build (eg: updated a module plugin).

@expo-bot expo-bot added the bot: passed checks ExpoBot has nothing to complain about label Jan 6, 2022
@linear
Copy link

linear bot commented Jan 6, 2022

ENG-2234 Stop using our forked react-native in bare-expo

since we stopped using forked react-native in bare templates, we should also consistently do it in bare-expo.

@Kudo Kudo requested a review from brentvatne January 6, 2022 15:11
@Kudo Kudo marked this pull request as ready for review January 6, 2022 15:11
@Kudo Kudo requested a review from tsapeta as a code owner January 6, 2022 15:11
Copy link
Contributor

@tsapeta tsapeta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

@@ -1338,7 +1338,7 @@ SPEC CHECKSUMS:
EXWebBrowser: 37388663fa51cbfc883de2244931a5182d948e5f
FacebookSDK: 4b9bb8e2824898b47f18c666dc145c09b40609e6
FBLazyVector: c71c5917ec0ad2de41d5d06a5855f6d5eda06971
FBReactNativeSpec: 289039c27ca26d02a6683c56c6fc7868bc804c43
FBReactNativeSpec: 8758eb0003171e03e3bb263e52848cf4286fe30d
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh no, this cherry-pick does matter: expo/react-native@f21d982

i need to find a way to deal with the unstable hash

@Simek Simek mentioned this pull request Jan 6, 2022
3 tasks
const copyFiles = ['scripts/generate-specs.sh', 'scripts/react_native_pods.rb'];
for (const file of copyFiles) {
fs.copyFileSync(path.join(expoRNRoot, file), path.join(nodeModulesRNRoot, file));
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's worth to pay attention to this workaround script. @tsapeta could you help to review again when you get a chance?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that's fine. On the other side, I think that we should maybe try to upgrade RN in the repository right now to 0.66, before the release.
If we would upgrade to 0.67 in SDK45, it would be a pain to go from 64 to 67 at once. Also, I'll feel more confident if we test our modules against newer versions, rather than waiting until April 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's worth to try. i'll merge this first and do some trial on 66 upgrade this week.

@Kudo Kudo requested a review from tsapeta January 10, 2022 16:17
@Kudo Kudo merged commit 6f2f5db into master Jan 11, 2022
@Kudo Kudo deleted the @kudo/use-official-rn branch January 11, 2022 01:41
@Kudo Kudo mentioned this pull request Jan 14, 2022
3 tasks
Kudo added a commit that referenced this pull request Jan 20, 2022
# Why

follow up #15817 (comment)
after we use the react-native from npm, the react-native version we used in expo-go is decoupled with other stuffs. that makes us upgrade react-native easier.

# How

1. update versions in package.json
2. sync changes from [react-native-upgrade-helper](https://react-native-community.github.io/upgrade-helper/?from=0.64.2&to=0.66.4)
3. `RCTComponentData` changed its designated initializer in react-native 0.65. to make it compatible with older version, i introduced the `EXComponentDataCompatibleWrapper` class to support different versions.
4. [react-native-lab] to fix expo-go build error, we should patch react-native to use the codegen library from its repo but not from node_modules:  expo/react-native#29.

# Test Plan

- CI passed
- bare-expo build & launch test
- unversioned expo-go build & launch test
prakashbask pushed a commit to prakashbask/expo that referenced this pull request Mar 16, 2022
# Why

follow up expo#15817 (comment)
after we use the react-native from npm, the react-native version we used in expo-go is decoupled with other stuffs. that makes us upgrade react-native easier.

# How

1. update versions in package.json
2. sync changes from [react-native-upgrade-helper](https://react-native-community.github.io/upgrade-helper/?from=0.64.2&to=0.66.4)
3. `RCTComponentData` changed its designated initializer in react-native 0.65. to make it compatible with older version, i introduced the `EXComponentDataCompatibleWrapper` class to support different versions.
4. [react-native-lab] to fix expo-go build error, we should patch react-native to use the codegen library from its repo but not from node_modules:  expo/react-native#29.

# Test Plan

- CI passed
- bare-expo build & launch test
- unversioned expo-go build & launch test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bot: passed checks ExpoBot has nothing to complain about
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants