Skip to content

Conversation

@teodorciuraru
Copy link
Contributor

@teodorciuraru teodorciuraru commented Nov 21, 2025

Summary

Upgrades the react-native-expo quickstart from Expo SDK 53 to SDK 54 with minimal changes.

Changes

  • ✅ Upgraded Expo SDK from ~53 to ~54.0.25
  • ✅ Upgraded React to 19.1.0 and React Native to 0.81.5
  • ✅ Updated all Expo packages to SDK 54 compatible versions
  • ✅ Added SafeAreaProvider from react-native-safe-area-context
  • ✅ Added react-native-worklets (required peer dependency for reanimated)
  • ✅ Added Expo 54 Android config (edgeToEdgeEnabled, predictiveBackGestureEnabled)
  • ✅ Enabled reactCompiler experiment
  • ✅ Added dark mode splash screen
  • ✅ Simple index.js entry point (minimal diff, no expo-router structure changes)

Files Changed

Only react-native-expo/ files modified:

  • package.json: Dependency upgrades
  • app.json: Expo 54 config options
  • App.tsx: SafeAreaProvider implementation
  • index.js: Simple entry point (new file)
  • yarn.lock: Updated lockfile

Testing

  • Clean build iOS
  • Clean build Android
  • Ditto sync verified
  • SafeAreaView handles notches properly

🤖 Generated with Claude Code

@teodorciuraru teodorciuraru self-assigned this Nov 21, 2025
@teodorciuraru teodorciuraru force-pushed the teodorciuraru/sdks-2259-feat-upgrade-react-native-expo-clean branch 2 times, most recently from 33dfdd3 to 844bcff Compare November 21, 2025 11:02
Upgrades Expo SDK from 53 to 54 and regenerates native folders.

## Changes
- Upgrade Expo SDK: ~53 → ~54.0.25
- Upgrade React: 19.0.0 → 19.1.0
- Upgrade React Native: 0.79.5 → 0.81.5
- Update all Expo packages to SDK 54 versions
- Add SafeAreaProvider from react-native-safe-area-context
- Add react-native-worklets (peer dependency for reanimated)
- Add Expo 54 Android config (edgeToEdgeEnabled, predictiveBackGestureEnabled)
- Enable reactCompiler experiment
- Add dark mode splash screen config
- Regenerate ios/ and android/ folders via expo prebuild

## Files Changed
- package.json: Dependency upgrades
- app.json: Expo 54 config additions
- App.tsx: SafeAreaProvider wrapper
- .gitignore: Updated to match template
- yarn.lock: Updated lockfile
- ios/: Regenerated with Expo SDK 54
- android/: Regenerated with Expo SDK 54

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@teodorciuraru teodorciuraru force-pushed the teodorciuraru/sdks-2259-feat-upgrade-react-native-expo-clean branch from 844bcff to 75f81d9 Compare November 21, 2025 11:08
Teodor Ciuraru and others added 2 commits November 21, 2025 17:10
Upgrades Expo SDK from 53 to 54 and regenerates native folders.

## Changes
- Upgrade Expo SDK: ~53 → ~54.0.25
- Upgrade React: 19.0.0 → 19.1.0
- Upgrade React Native: 0.79.5 → 0.81.5
- Update all Expo packages to SDK 54 versions
- Add SafeAreaProvider from react-native-safe-area-context
- Add react-native-worklets (peer dependency for reanimated)
- Add Expo 54 Android config (edgeToEdgeEnabled, predictiveBackGestureEnabled)
- Enable reactCompiler experiment
- Add dark mode splash screen config
- Regenerate ios/ and android/ with Expo SDK 54
- Use index.js entry point (expo prebuild standard)

## Tested
- ✅ iOS builds and runs
- ✅ Android builds and runs
- ✅ SafeAreaView working properly
- ✅ Ditto sync functional

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@teodorciuraru teodorciuraru marked this pull request as ready for review November 21, 2025 15:42
Copilot AI review requested due to automatic review settings November 21, 2025 15:42
Copilot finished reviewing on behalf of teodorciuraru November 21, 2025 15:44
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR upgrades the react-native-expo quickstart from Expo SDK 53 to SDK 54, updating React Native from 0.79.5 to 0.81.5 and React from 19.0.0 to 19.1.0. The upgrade includes necessary configuration changes for both iOS and Android platforms, adds SafeAreaProvider for proper edge-to-edge handling, and includes a new peer dependency (react-native-worklets) required by react-native-reanimated 4.x.

Key Changes

  • Dependency upgrades to Expo SDK 54 with React Native 0.81.5 and React 19.1.0
  • Added SafeAreaProvider wrapper and react-native-worklets peer dependency
  • Enabled New Architecture with React Compiler experiment
  • Configured edge-to-edge display and dark mode splash screens for both platforms

Reviewed changes

Copilot reviewed 19 out of 22 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
react-native-expo/package.json Updated all dependencies to SDK 54 compatible versions, changed main entry to index.js
react-native-expo/index.js New simple entry point using registerRootComponent
react-native-expo/app.json Added Android edge-to-edge config, dark mode splash, and React Compiler experiment
react-native-expo/App.tsx Wrapped app in SafeAreaProvider, added DQL_STRICT_MODE configuration
react-native-expo/ios/Podfile Updated Podfile with SDK 54 requirements and ccache helper function
react-native-expo/ios/Podfile.lock Updated all iOS dependencies to SDK 54 versions
react-native-expo/ios/Info.plist Enabled New Architecture (RCTNewArchEnabled)
react-native-expo/ios/*.storyboard Added dark mode splash screen support
react-native-expo/android/build.gradle Removed deprecated reactNativeAndroidDir configuration
react-native-expo/android/gradle.properties Enabled parallel builds and edge-to-edge mode
react-native-expo/android/app/build.gradle Updated R8 configuration naming (enableProguardInReleaseBuilds → enableMinifyInReleaseBuilds)
react-native-expo/android/app/src/main/java/com/anonymous/reactnativeexpo/MainApplication.kt Updated to new React Native 0.81 initialization pattern
react-native-expo/android/app/src/main/AndroidManifest.xml Disabled predictive back gesture (android:enableOnBackInvokedCallback)
react-native-expo/android/app/src/main/res/values/styles.xml Updated edge-to-edge theming
react-native-expo/android/gradle/wrapper/gradle-wrapper.properties Upgraded Gradle from 8.13 to 8.14.3
react-native-expo/.gitignore Simplified native folder ignore patterns
Comments suppressed due to low confidence (1)

react-native-expo/android/gradlew:1

  • The CLASSPATH has been set to an empty string with escaped quotes, which will break Gradle execution. This should remain as CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar. The change on line 216 to use -jar flag is correct, but the CLASSPATH should not be emptied.
#!/bin/sh

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants