Skip to content
Open
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
77dba33
feat: add initial Expo 56 support
adamTrz Jun 1, 2026
51a2504
refactor: inherit Expo native floors from app project
adamTrz Jun 2, 2026
7485c54
fix: stabilize RNApp brownfield test apps
adamTrz Jun 2, 2026
14a7e6d
chore: refresh lockfile for Expo peer range
adamTrz Jun 3, 2026
03058b1
fix: avoid duplicating iOS brownfield targets
adamTrz Jun 3, 2026
8b265fb
feat: stabilize Expo 56 support matrix
adamTrz Jun 10, 2026
6965241
Merge origin/main into adamTrz/expo-56-support
adamTrz Jun 11, 2026
7941b34
fix: restore gradle plugin string extension import
adamTrz Jun 11, 2026
605d8a4
fix: align android expo CI artifact checks
adamTrz Jun 11, 2026
e7ab02e
fix: support expo android maven artifact naming
adamTrz Jun 11, 2026
37c7d63
fix: support Expo 55/56 iOS packaging
adamTrz Jun 11, 2026
492effa
fix: normalize Expo prebuilt iOS flags in CI
adamTrz Jun 11, 2026
4d7b7ac
fix: normalize Expo iOS search paths in CI
adamTrz Jun 12, 2026
b688147
fix: disable Expo release swift interface verification
adamTrz Jun 12, 2026
aefc614
Merge origin/main into adamTrz/expo-56-support
adamTrz Jun 12, 2026
a6abbdc
fix: stabilize Expo and bare RN example builds
adamTrz Jun 12, 2026
b0fd33f
fix: address expo 56 PR review feedback
adamTrz Jun 16, 2026
a94ba5d
Merge remote-tracking branch 'origin/main' into adamTrz/expo-56-support
adamTrz Jun 16, 2026
bc5181e
fix: tighten expo 56 android support changes
adamTrz Jun 18, 2026
acd801f
refactor: drop custom iOS packaging path from expo 56 PR
adamTrz Jun 18, 2026
d3c75d4
chore: sync expo 56 branch with main
adamTrz Jun 18, 2026
bc42f74
fix: restore expo56 CI coverage
adamTrz Jun 18, 2026
25c636d
fix: stabilize expo 55 and 56 native support
adamTrz Jun 19, 2026
e036b99
fix: restore brownfield-navigation formatting
adamTrz Jun 19, 2026
4d8601b
fix: align AppleApp Expo 56 e2e entrypoint
adamTrz Jun 19, 2026
6e4b349
fix: invalidate brownfield-navigation build cache
adamTrz Jun 19, 2026
4bfd6d8
ci: drop Expo 54 road tests
adamTrz Jun 19, 2026
e37ab15
fix: avoid AppleApp Detox RN reloads
adamTrz Jun 19, 2026
f7038d0
fix: harden Expo Android brownfield publishing
adamTrz Jun 19, 2026
4c8c32e
Merge origin/main into adamTrz/expo-56-support
adamTrz Jun 19, 2026
a406bf2
fix: stabilize Android Expo road tests
adamTrz Jun 19, 2026
c48ef9b
Merge origin/main into adamTrz/expo-56-support
adamTrz Jun 22, 2026
838dcf3
fix: stabilize AppleApp Expo 56 Detox flow
adamTrz Jun 22, 2026
1a57cf3
Merge remote-tracking branch 'origin/main' into adamTrz/expo-56-suppo…
adamTrz Jun 22, 2026
9dc9087
fix: repair android road test CI
adamTrz Jun 22, 2026
2ae908f
Merge remote-tracking branch 'origin/main' into adamTrz/expo-56-suppo…
adamTrz Jun 22, 2026
4673f79
fix(ci): harden expo road test checks
adamTrz Jun 23, 2026
cbc608c
fix: align expo android hermes runtime
adamTrz Jun 23, 2026
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
5 changes: 5 additions & 0 deletions .changeset/calm-poets-film.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'brownfield': patch

Copy link
Copy Markdown
Member

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

---

feat: support Expo SDK 56 in the Brownfield package and example apps
7 changes: 7 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ jobs:
rnapp: ${{ steps.filter.outputs.rnapp }}
expo54: ${{ steps.filter.outputs.expo54 }}
expo55: ${{ steps.filter.outputs.expo55 }}
expo56: ${{ steps.filter.outputs.expo56 }}
androidapp: ${{ steps.filter.outputs.androidapp }}
appleapp: ${{ steps.filter.outputs.appleapp }}
ci: ${{ steps.filter.outputs.ci }}
Expand All @@ -39,6 +40,8 @@ jobs:
- 'apps/ExpoApp54/**'
expo55:
- 'apps/ExpoApp55/**'
expo56:
- 'apps/ExpoApp56/**'
androidapp:
- 'apps/AndroidApp/**'
appleapp:
Expand Down Expand Up @@ -120,6 +123,7 @@ jobs:
(
needs.filter.outputs.expo54 == 'true' ||
needs.filter.outputs.expo55 == 'true' ||
needs.filter.outputs.expo56 == 'true' ||
needs.filter.outputs.androidapp == 'true' ||
needs.filter.outputs.packages == 'true' ||
needs.filter.outputs.ci == 'true'
Expand All @@ -130,6 +134,7 @@ jobs:
include:
- version: '54'
- version: '55'
- version: '56'

steps:
- name: Checkout
Expand Down Expand Up @@ -200,6 +205,7 @@ jobs:
(
needs.filter.outputs.expo54 == 'true' ||
needs.filter.outputs.expo55 == 'true' ||
needs.filter.outputs.expo56 == 'true' ||
needs.filter.outputs.appleapp == 'true' ||
needs.filter.outputs.packages == 'true' ||
needs.filter.outputs.ci == 'true'
Expand All @@ -210,6 +216,7 @@ jobs:
include:
- version: '54'
- version: '55'
- version: '56'

steps:
- name: Checkout
Expand Down
13 changes: 13 additions & 0 deletions .yarn/patches/expo-updates-npm-56.0.17-0d9c6d9af6.patch
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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Context?

end
rescue
use_dev_client = false
4 changes: 4 additions & 0 deletions apps/AndroidApp/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ android {
create("expo55") {
dimension = "app"
}
create("expo56") {
dimension = "app"
}
create("vanilla") {
dimension = "app"
}
Expand Down Expand Up @@ -71,6 +74,7 @@ dependencies {
implementation(libs.androidx.compose.ui.tooling.preview)
implementation(libs.androidx.compose.material3)
implementation(libs.androidx.appcompat)
add("expo56Implementation", libs.brownfieldlib.expo56)
add("expo55Implementation", libs.brownfieldlib.expo55)
add("expo54Implementation", libs.brownfieldlib.expo54)
add("vanillaImplementation", libs.brownfieldlib.vanilla)
Expand Down
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
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)"
}
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
2 changes: 1 addition & 1 deletion apps/AndroidApp/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ gson = "2.13.2"

[libraries]
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
brownfieldlib-expo56 = { module = "com.callstack.rnbrownfield.demo.expoapp56:brownfieldlib", version.ref = "brownfieldlib" }
brownfieldlib-expo55 = { module = "com.callstack.rnbrownfield.demo.expoapp55:brownfieldlib", version.ref = "brownfieldlib" }
brownfieldlib-expo54 = { module = "com.callstack.rnbrownfield.demo.expoapp54:brownfieldlib", version.ref = "brownfieldlib" }
brownfieldlib-vanilla = { module = "com.rnapp:brownfieldlib", version.ref = "brownfieldlib" }
Expand All @@ -40,4 +41,3 @@ gson = { module = "com.google.code.gson:gson", version.ref = "gson" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }

3 changes: 2 additions & 1 deletion apps/AndroidApp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
"version": "0.0.1",
"private": true,
"scripts": {
"build:example:android-consumer:expo": "./gradlew assembleExpo55Release",
"build:example:android-consumer:expo": "./gradlew assembleExpo56Release",
"build:example:android-consumer:expo56": "./gradlew assembleExpo56Release",
"build:example:android-consumer:expo55": "./gradlew assembleExpo55Release",
"build:example:android-consumer:expo54": "./gradlew assembleExpo54Release",
"build:example:android-consumer:vanilla": "./gradlew assembleVanillaRelease"
Expand Down
Loading