Skip to content

Conversation

@plahteenlahti
Copy link
Member

This major migration modernizes the app from React Native 0.64 to Expo SDK 54:

Core Changes:

  • Upgrade React Native 0.64 → 0.81
  • Upgrade React 17 → 19.1
  • Migrate to Expo SDK 54 with New Architecture enabled
  • Replace bare RN workflow with Expo managed workflow

Package Migrations:

  • react-native-splash-screen → expo-splash-screen
  • react-native-localize → expo-localization
  • react-native-device-info → expo-device + expo-application
  • react-native-keychain → expo-secure-store
  • react-native-linear-gradient → expo-linear-gradient
  • react-native-fast-image → expo-image
  • @react-native-community/blur → expo-blur
  • react-native-haptic-feedback → expo-haptics
  • react-native-ultimate-config → expo-constants
  • react-query → @tanstack/react-query
  • AWS Amplify v3 → v6

Animation Updates:

  • Migrate react-native-reanimated v1 → v4
  • Update animation patterns to use useAnimatedStyle, useSharedValue
  • Replace interpolate with new Reanimated 4 API

Build System:

  • Remove ios/ and android/ folders (generated via expo prebuild)
  • Add EAS Build configuration
  • Update TypeScript to 5.9
  • Add ESLint flat config
  • Configure babel with module-resolver aliases

Breaking Changes:

  • Native code is now generated via expo prebuild
  • New Architecture (Fabric/TurboModules) is enabled
  • Minimum iOS 13.4+, Android SDK 24+

This major migration modernizes the app from React Native 0.64 to Expo SDK 54:

Core Changes:
- Upgrade React Native 0.64 → 0.81
- Upgrade React 17 → 19.1
- Migrate to Expo SDK 54 with New Architecture enabled
- Replace bare RN workflow with Expo managed workflow

Package Migrations:
- react-native-splash-screen → expo-splash-screen
- react-native-localize → expo-localization
- react-native-device-info → expo-device + expo-application
- react-native-keychain → expo-secure-store
- react-native-linear-gradient → expo-linear-gradient
- react-native-fast-image → expo-image
- @react-native-community/blur → expo-blur
- react-native-haptic-feedback → expo-haptics
- react-native-ultimate-config → expo-constants
- react-query → @tanstack/react-query
- AWS Amplify v3 → v6

Animation Updates:
- Migrate react-native-reanimated v1 → v4
- Update animation patterns to use useAnimatedStyle, useSharedValue
- Replace interpolate with new Reanimated 4 API

Build System:
- Remove ios/ and android/ folders (generated via expo prebuild)
- Add EAS Build configuration
- Update TypeScript to 5.9
- Add ESLint flat config
- Configure babel with module-resolver aliases

Breaking Changes:
- Native code is now generated via expo prebuild
- New Architecture (Fabric/TurboModules) is enabled
- Minimum iOS 13.4+, Android SDK 24+
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.

3 participants