Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to expo 47 #515

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft

Conversation

snordmann
Copy link

@snordmann snordmann commented Jul 3, 2024

Related to #492

I am going to work on this PR in the next few days.

  • npm install expo@47
  • npx expo install --fix
  • npm run test and make sure tests still work
  • Manual tests on simulated iOS

@snordmann
Copy link
Author

damn expo got hands.

I tried now multiple things to update expo (well mainly expo-cli upgrade), and somehow the build or tests always break in unforeseen ways.

It'd be awesome, if somebody with familiarity in this codebase and/or expo could help me. Feel free to reach out to me!

@thornbill
Copy link
Member

Yeah there are normally a few breaking changes in each version but the release notes typically document the needed changes pretty well.

@snordmann
Copy link
Author

What I am currently wondering is: Do you just skip the dependency tree building in npm install with --force --legacy-peer-deps? It seems that most of the mobx dependencies expect react 16, but we are using react 18 already.

Is that normal? Should I npm install with --legacy-peer-deps enabled? How did you generate the package-lock?

@snordmann
Copy link
Author

I have missed updating the devDependencies (esp. jest-expo to something that is compatible with version 47). After that upgrade I changed some of the snapshots to also include some new properties that are included (btw. I am now using npm install with the --legacy-peer-deps option).

The last error that I have a still pretty cryptic to me: PrettyFormatPluginError: Invalid string lengthRangeError: Invalid string length

This error is for the files:

  • components/__tests__/NativeShellWebView.test.js
  • components/__tests__/RefreshWebView.test.js
  • screens/__tests__/ErrorScreen.test.js

I don't understand why only these test files (and snapshots) are affected. Is it because the snapshots are so small? Is is something else that differentiates these three tests from the others? I don't know, but I will find that out in the next week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

2 participants