-
Notifications
You must be signed in to change notification settings - Fork 41
feat: add Expo 56 support #360
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
Open
adamTrz
wants to merge
18
commits into
main
Choose a base branch
from
adamTrz/expo-56-support
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
77dba33
feat: add initial Expo 56 support
adamTrz 51a2504
refactor: inherit Expo native floors from app project
adamTrz 7485c54
fix: stabilize RNApp brownfield test apps
adamTrz 14a7e6d
chore: refresh lockfile for Expo peer range
adamTrz 03058b1
fix: avoid duplicating iOS brownfield targets
adamTrz 8b265fb
feat: stabilize Expo 56 support matrix
adamTrz 6965241
Merge origin/main into adamTrz/expo-56-support
adamTrz 7941b34
fix: restore gradle plugin string extension import
adamTrz 605d8a4
fix: align android expo CI artifact checks
adamTrz e7ab02e
fix: support expo android maven artifact naming
adamTrz 37c7d63
fix: support Expo 55/56 iOS packaging
adamTrz 492effa
fix: normalize Expo prebuilt iOS flags in CI
adamTrz 4d7b7ac
fix: normalize Expo iOS search paths in CI
adamTrz b688147
fix: disable Expo release swift interface verification
adamTrz aefc614
Merge origin/main into adamTrz/expo-56-support
adamTrz a6abbdc
fix: stabilize Expo and bare RN example builds
adamTrz b0fd33f
fix: address expo 56 PR review feedback
adamTrz a94ba5d
Merge remote-tracking branch 'origin/main' into adamTrz/expo-56-support
adamTrz File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| 'brownfield': patch | ||
| --- | ||
|
|
||
| feat: support Expo SDK 56 in the Brownfield package and example apps | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
56 changes: 56 additions & 0 deletions
56
.yarn/patches/expo-modules-core-npm-55.0.25-brownfield.patch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,56 @@ | ||
| diff --git a/android/cmake/main.cmake b/android/cmake/main.cmake | ||
| index 2fa3ea0c3d7d9771729ad55de63185fdb90a3520..ff72a20c4fcb36e737e2fb2840cbf6a51a2e15d2 100644 | ||
| --- a/android/cmake/main.cmake | ||
| +++ b/android/cmake/main.cmake | ||
| @@ -71,22 +71,31 @@ if (REACT_NATIVE_WORKLETS_DIR) | ||
| if (REACT_NATIVE_WORKLETS_DIR) | ||
| - add_library(worklets SHARED IMPORTED) | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For this and reanimated patch, I believe these were added as you might get errors for |
||
| - | ||
| - if (${CMAKE_BUILD_TYPE} MATCHES "Debug") | ||
| - set(BUILD_TYPE "debug") | ||
| - else () | ||
| - set(BUILD_TYPE "release") | ||
| - endif () | ||
| - | ||
| - set_target_properties( | ||
| - worklets | ||
| - PROPERTIES | ||
| - IMPORTED_LOCATION | ||
| - "${REACT_NATIVE_WORKLETS_DIR}/android/build/intermediates/cmake/${BUILD_TYPE}/obj/${ANDROID_ABI}/libworklets.so" | ||
| - ) | ||
| - | ||
| - target_link_libraries( | ||
| - expo-modules-core | ||
| - PRIVATE | ||
| - worklets | ||
| - ) | ||
| + find_package(react-native-worklets CONFIG QUIET) | ||
| + if (react-native-worklets_FOUND) | ||
| + target_link_libraries( | ||
| + expo-modules-core | ||
| + PRIVATE | ||
| + react-native-worklets::worklets | ||
| + ) | ||
| + else () | ||
| + add_library(worklets SHARED IMPORTED) | ||
| + | ||
| + if (${CMAKE_BUILD_TYPE} MATCHES "Debug") | ||
| + set(BUILD_TYPE "debug") | ||
| + else () | ||
| + set(BUILD_TYPE "release") | ||
| + endif () | ||
| + | ||
| + set_target_properties( | ||
| + worklets | ||
| + PROPERTIES | ||
| + IMPORTED_LOCATION | ||
| + "${REACT_NATIVE_WORKLETS_DIR}/android/build/intermediates/cmake/${BUILD_TYPE}/obj/${ANDROID_ABI}/libworklets.so" | ||
| + ) | ||
| + | ||
| + target_link_libraries( | ||
| + expo-modules-core | ||
| + PRIVATE | ||
| + worklets | ||
| + ) | ||
| + endif () | ||
| endif () | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| diff --git a/ios/EXUpdates.podspec b/ios/EXUpdates.podspec | ||
| index c3d463384cc660c413e6f29ae9990fa1421661d8..f347621cc9f51ca4efd4f8d696918c82767e6e14 100644 | ||
| --- a/ios/EXUpdates.podspec | ||
| +++ b/ios/EXUpdates.podspec | ||
| @@ -15,7 +15,7 @@ begin | ||
| # No dev client if we are using native debug | ||
| if ENV['EX_UPDATES_NATIVE_DEBUG'] != '1' | ||
| project_root = ENV['PROJECT_ROOT'] || Pod::Config.instance.installation_root.to_s | ||
| - use_dev_client = File.dirname(`node --print "require.resolve('expo-dev-client/package.json', { paths: ['#{__dir__}', '#{project_root}'] })"`).length > 0 | ||
| + use_dev_client = File.dirname(`node --print "try { require.resolve('expo-dev-client/package.json', { paths: ['#{__dir__}', '#{project_root}'] }) } catch { '' }"`).length > 0 | ||
|
Comment on lines
+9
to
+10
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Context? |
||
| end | ||
| rescue | ||
| use_dev_client = false | ||
31 changes: 31 additions & 0 deletions
31
.yarn/patches/react-native-reanimated-npm-4.2.1-brownfield.patch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| diff --git a/android/CMakeLists.txt b/android/CMakeLists.txt | ||
| index 0c2c3c92ba1d53c14a342ebcd21342ba8141a853..c2ee77d25009a220225f8f2345925f4cc99c72db 100644 | ||
| --- a/android/CMakeLists.txt | ||
| +++ b/android/CMakeLists.txt | ||
| @@ -46,2 +46,3 @@ find_package(fbjni REQUIRED CONFIG) | ||
| find_package(ReactAndroid REQUIRED CONFIG) | ||
| +find_package(react-native-worklets REQUIRED CONFIG) | ||
|
|
||
| @@ -77,14 +78,0 @@ set_target_properties(reanimated PROPERTIES LINKER_LANGUAGE CXX) | ||
| -if(${CMAKE_BUILD_TYPE} MATCHES "Debug") | ||
| - set(BUILD_TYPE "debug") | ||
| -else() | ||
| - set(BUILD_TYPE "release") | ||
| -endif() | ||
| - | ||
| -add_library(worklets SHARED IMPORTED) | ||
| - | ||
| -set_target_properties( | ||
| - worklets | ||
| - PROPERTIES | ||
| - IMPORTED_LOCATION | ||
| - "${REACT_NATIVE_WORKLETS_DIR}/android/build/intermediates/cmake/${BUILD_TYPE}/obj/${ANDROID_ABI}/libworklets.so" | ||
| -) | ||
| @@ -107,5 +94,5 @@ target_link_libraries( | ||
| ReactAndroid::reactnative | ||
| ReactAndroid::jsi | ||
| fbjni::fbjni | ||
| - android | ||
| - worklets) | ||
| + android | ||
| + react-native-worklets::worklets) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 4 additions & 0 deletions
4
apps/AndroidApp/app/src/expo56/java/com/callstack/brownfield/android/expo/BrownfieldStore.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| package com.callstack.brownfield.android.example | ||
|
|
||
| typealias BrownfieldStore = com.callstack.rnbrownfield.demo.expoapp56.BrownfieldStore | ||
| typealias User = com.callstack.rnbrownfield.demo.expoapp56.User |
6 changes: 6 additions & 0 deletions
6
...roidApp/app/src/expo56/java/com/callstack/brownfield/android/expo/ReactNativeConstants.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| package com.callstack.brownfield.android.example | ||
|
|
||
| object ReactNativeConstants { | ||
| const val MAIN_MODULE_NAME = "main" | ||
| const val APP_NAME = "Android (Expo 56)" | ||
| } |
3 changes: 3 additions & 0 deletions
3
...idApp/app/src/expo56/java/com/callstack/brownfield/android/expo/ReactNativeHostManager.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| package com.callstack.brownfield.android.example | ||
|
|
||
| typealias ReactNativeHostManager = com.callstack.rnbrownfield.demo.expoapp56.ReactNativeHostManager |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is missing
react-native-brownfield