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 51 and React Native 0.74 #3980

Merged
merged 34 commits into from
May 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
84c375f
upgrade packages
haileyok May 12, 2024
cc15532
remove `expo-image-picker` patch
haileyok May 12, 2024
5ec57fc
remove old expo-updates patch
haileyok May 12, 2024
6d840bc
rename rn patch
haileyok May 12, 2024
f839852
downgrade crop picker
haileyok May 12, 2024
addb0e9
bump `ExpoGifView` `SDWebImage` version
haileyok May 12, 2024
84aa8d0
apply config changes
haileyok May 12, 2024
d18364f
update build docs for apple silicon
haileyok May 12, 2024
da14faa
update build docs for apple silicon
haileyok May 12, 2024
628a474
update expo-updates patch
haileyok May 12, 2024
f20f14e
add back patch readme
haileyok May 12, 2024
998dbdc
bump `expo-dev-client`
haileyok May 12, 2024
1fa9c7e
bump `babel-preset`
haileyok May 12, 2024
f4e0ce2
update `babel.config.js`
haileyok May 12, 2024
6a69fde
update `react-native-paste-input` patch
haileyok May 12, 2024
211dbb5
remove old ota updates hook
haileyok May 12, 2024
913789c
update types
haileyok May 12, 2024
2541dc6
update types
haileyok May 12, 2024
1f78069
downgrade pager-view
haileyok May 12, 2024
7313bc2
update animated ref type
haileyok May 12, 2024
24b604f
fix web-only type
haileyok May 12, 2024
9dc7c33
update `react-native-bottom-sheet` `BottomSheetTextInput`
haileyok May 12, 2024
8d7dd08
add `expo-application` to jest mocks
haileyok May 12, 2024
0eb70ef
Merge branch 'main' into hailey/expo-51
haileyok May 22, 2024
7154957
remove reanimated patch
haileyok May 22, 2024
cdcf049
update notifications patch
haileyok May 22, 2024
dcd4295
update reanimated path
haileyok May 22, 2024
7ab0162
fix import
haileyok May 22, 2024
ad3cfd2
Merge branch 'main' into hailey/expo-51
haileyok May 27, 2024
043c32f
update yarn.lock
haileyok May 27, 2024
230c120
use `ItemT` instead of `any`
haileyok May 27, 2024
bc3abd1
expo bump
haileyok May 27, 2024
1842d75
Revert logic change, fix types
gaearon May 29, 2024
72d944d
Fix JSON file
gaearon May 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion app.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,6 @@ module.exports = function (config) {
checkAutomatically: 'NEVER',
channel: UPDATES_CHANNEL,
},
assetBundlePatterns: ['**/*'],
plugins: [
'expo-localization',
Boolean(process.env.SENTRY_AUTH_TOKEN) && 'sentry-expo',
Expand Down
3 changes: 0 additions & 3 deletions babel.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@ module.exports = function (api) {
{
lazyImports: true,
native: {
// We should be able to remove this after upgrading Expo
// to a version that includes https://github.com/expo/expo/pull/24672.
unstable_transformProfile: 'hermes-stable',
// Disable ESM -> CJS compilation because Metro takes care of it.
// However, we need it in Jest tests since those run without Metro.
disableImportExportTransform: !isTestEnv,
Expand Down
5 changes: 4 additions & 1 deletion docs/build.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@

- Set up your environment [using the expo instructions](https://docs.expo.dev/guides/local-app-development/).
- make sure that the JAVA_HOME points to the zulu-17 directory in your `.zshrc` or `.bashrc` file: `export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home`. DO NOT use another JDK or you will encounter build errors.
- If you're running macOS, make sure you are running the correct versions of Ruby and Cocoapods:
- If you're running macOS, make sure you are running the correct versions of Ruby and Cocoapods:-
- If you are using Apple Silicon and this is the first time you are building for RN 0.74+, you may need to run:
- `arch -arm64 brew install llvm`
- `sudo gem install ffi`
- Check if you've installed Cocoapods through `homebrew`. If you have, remove it:
- `brew info cocoapods`
- If output says `Installed`:
Expand Down
9 changes: 7 additions & 2 deletions jest/jestSetup.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/* global jest */
import {configure} from '@testing-library/react-native'
import 'react-native-gesture-handler/jestSetup'

// IMPORTANT: this is what's used in the native runtime
import 'react-native-url-polyfill/auto'

import {configure} from '@testing-library/react-native'

configure({asyncUtilTimeout: 20000})

jest.mock('@react-native-async-storage/async-storage', () =>
Expand Down Expand Up @@ -90,3 +90,8 @@ jest.mock('sentry-expo', () => ({
}))

jest.mock('crypto', () => ({}))

jest.mock('expo-application', () => ({
nativeApplicationVersion: '1.0.0',
nativeBuildVersion: '1',
}))
4 changes: 2 additions & 2 deletions modules/expo-bluesky-gif-view/ios/ExpoBlueskyGifView.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ Pod::Spec.new do |s|
s.static_framework = true

s.dependency 'ExpoModulesCore'
s.dependency 'SDWebImage', '~> 5.17.0'
s.dependency 'SDWebImageWebPCoder', '~> 0.13.0'
s.dependency 'SDWebImage', '~> 5.19.1'
s.dependency 'SDWebImageWebPCoder', '~> 0.14.6'

# Swift/Objective-C compatibility
s.pod_target_xcconfig = {
Expand Down
80 changes: 41 additions & 39 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
"@fortawesome/free-solid-svg-icons": "^6.1.1",
"@fortawesome/react-native-fontawesome": "^0.3.0",
"@lingui/react": "^4.5.0",
"@mattermost/react-native-paste-input": "^0.6.4",
"@mattermost/react-native-paste-input": "^0.7.1",
"@miblanchard/react-native-slider": "^2.3.1",
"@radix-ui/react-dropdown-menu": "^2.0.6",
"@react-native-async-storage/async-storage": "1.23.1",
Expand Down Expand Up @@ -107,35 +107,36 @@
"base64-js": "^1.5.1",
"bcp-47-match": "^2.0.3",
"date-fns": "^2.30.0",
"deprecated-react-native-prop-types": "^5.0.0",
"email-validator": "^2.0.4",
"emoji-mart": "^5.5.2",
"eventemitter3": "^5.0.1",
"expo": "^50.0.17",
"expo-application": "^5.8.3",
"expo-build-properties": "^0.11.1",
"expo-camera": "~14.0.4",
"expo": "^51.0.8",
"expo-application": "^5.9.1",
"expo-build-properties": "^0.12.1",
"expo-camera": "~14.1.3",
"expo-clipboard": "^5.0.1",
"expo-constants": "~15.4.5",
"expo-dev-client": "~3.3.8",
"expo-constants": "~15.4.6",
"expo-dev-client": "^4.0.14",
"expo-device": "~5.9.3",
"expo-file-system": "^16.0.9",
"expo-haptics": "^12.8.1",
"expo-image": "~1.10.6",
"expo-image-manipulator": "^11.8.0",
"expo-image-picker": "~14.7.1",
"expo-linear-gradient": "^12.7.2",
"expo-linking": "^6.2.2",
"expo-localization": "~14.8.3",
"expo-media-library": "~15.9.1",
"expo-navigation-bar": "~2.8.1",
"expo-notifications": "~0.27.6",
"expo-sharing": "^11.10.0",
"expo-splash-screen": "~0.26.4",
"expo-status-bar": "~1.11.1",
"expo-system-ui": "~2.9.3",
"expo-task-manager": "~11.7.2",
"expo-updates": "~0.24.10",
"expo-web-browser": "~12.8.2",
"expo-image": "~1.12.9",
"expo-image-manipulator": "^12.0.3",
"expo-image-picker": "~15.0.4",
"expo-linear-gradient": "^13.0.2",
"expo-linking": "^6.3.1",
"expo-localization": "~15.0.3",
"expo-media-library": "~16.0.3",
"expo-navigation-bar": "~3.0.4",
"expo-notifications": "~0.28.1",
"expo-sharing": "^12.0.1",
"expo-splash-screen": "~0.27.4",
"expo-status-bar": "~1.12.1",
"expo-system-ui": "~3.0.4",
"expo-task-manager": "~11.8.1",
"expo-updates": "~0.25.11",
"expo-web-browser": "~13.0.3",
"fast-text-encoding": "^1.0.6",
"history": "^5.3.0",
"js-sha256": "^0.9.0",
Expand Down Expand Up @@ -164,30 +165,30 @@
"react-compiler-runtime": "file:./lib/react-compiler-runtime",
"react-dom": "^18.2.0",
"react-keyed-flatten-children": "^3.0.0",
"react-native": "0.73.2",
"react-native-date-picker": "^4.4.0",
"react-native": "0.74.1",
"react-native-date-picker": "^4.4.2",
"react-native-drawer-layout": "^4.0.0-alpha.3",
"react-native-fs": "^2.20.0",
"react-native-gesture-handler": "~2.14.0",
"react-native-gesture-handler": "~2.16.2",
"react-native-get-random-values": "~1.11.0",
"react-native-image-crop-picker": "^0.38.1",
"react-native-image-crop-picker": "0.40.3",
"react-native-ios-context-menu": "^1.15.3",
"react-native-keyboard-controller": "^1.12.1",
"react-native-pager-view": "6.2.3",
"react-native-picker-select": "^8.1.0",
"react-native-picker-select": "^9.1.3",
"react-native-progress": "bluesky-social/react-native-progress",
"react-native-reanimated": "^3.6.0",
"react-native-reanimated": "^3.11.0",
"react-native-root-siblings": "^4.1.1",
"react-native-safe-area-context": "4.8.2",
"react-native-screens": "~3.29.0",
"react-native-svg": "14.1.0",
"react-native-uitextview": "^1.1.6",
"react-native-safe-area-context": "4.10.1",
"react-native-screens": "~3.31.1",
"react-native-svg": "^15.2.0",
"react-native-uitextview": "^1.1.7",
"react-native-url-polyfill": "^1.3.0",
"react-native-uuid": "^2.0.1",
"react-native-uuid": "^2.0.2",
"react-native-view-shot": "^3.8.0",
"react-native-web": "~0.19.6",
"react-native-web": "~0.19.11",
"react-native-web-webview": "^1.0.2",
"react-native-webview": "13.6.4",
"react-native-webview": "13.10.2",
"react-responsive": "^9.0.2",
"react-textarea-autosize": "^8.5.3",
"rn-fetch-blob": "^0.12.0",
Expand All @@ -210,7 +211,7 @@
"@lingui/macro": "^4.5.0",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.11",
"@react-native-community/eslint-config": "^3.0.0",
"@react-native/typescript-config": "^0.74.0",
"@react-native/typescript-config": "^0.74.1",
"@testing-library/jest-native": "^5.4.1",
"@testing-library/react-native": "^11.5.2",
"@tsconfig/react-native": "^2.0.3",
Expand Down Expand Up @@ -254,7 +255,7 @@
"jest-expo": "^50.0.1",
"jest-junit": "^15.0.0",
"lint-staged": "^13.2.3",
"metro-react-native-babel-preset": "^0.73.7",
"metro-react-native-babel-preset": "^0.74.1",
"prettier": "^2.8.3",
"react-native-dotenv": "^3.3.1",
"react-refresh": "^0.14.0",
Expand All @@ -270,7 +271,8 @@
},
"resolutions": {
"@types/react": "^18",
"**/zeed-dom": "0.10.9"
"**/zeed-dom": "0.10.9",
"@react-native/babel-preset": "0.74.1"
},
"jest": {
"preset": "jest-expo/ios",
Expand Down
Loading
Loading