Upgrade Expo example app from SDK 53 to SDK 54#409
Conversation
|
Caution Review the following alerts detected in dependencies. According to your organization's Security Policy, you must resolve all "Block" alerts before proceeding. It is recommended to resolve "Warn" alerts too. Learn more about Socket for GitHub.
|
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
6e5d78b to
62486a2
Compare
Why?
Intercom Android SDK 18.0.0 requires
compileSdk 36andtargetSdk 36. The Expo example was on SDK 53 / RN 0.79.6 (compileSdk 35), which cannot build with SDK 18.0.0. This complements #408 which upgraded the bare example app.How?
Upgrades the Expo example from SDK 53 to SDK 54, which bundles React Native 0.81.5 with
compileSdk 36/targetSdk 36. All Expo-managed dependencies were updated to their SDK 54 compatible versions vianpx expo install --fix.Implementation Plan
Upgrade Expo Example App from Expo SDK 53 to 54
Context
Intercom Android SDK 18.0.0 requires
compileSdk 36andtargetSdk 36. PR #408 upgraded the bareexampleapp to RN 0.81.1 (which ships with these SDK levels). The Expo example is still on Expo SDK 53 / RN 0.79.6 (compileSdk 35), so it cannot build with Intercom SDK 18.0.0. Expo SDK 54 bundles RN 0.81.5 withcompileSdk 36/targetSdk 36, making it the right upgrade target.Plan
1. Create new branch from
main2. Update
examples/expo-example/package.jsonUpgrade dependencies to Expo SDK 54 compatible versions. Key changes based on the official SDK 54 template:
exporeact-nativereactreact-domexpo-routerexpo-constantsexpo-fontexpo-hapticsexpo-imageexpo-linkingexpo-splash-screenexpo-status-barexpo-symbolsexpo-system-uiexpo-web-browser@expo/vector-iconsreact-native-safe-area-contextreact-native-screensreact-native-webreact-native-reanimatedPackages NOT in SDK 54 template (need version check via
npx expo install --fix):expo-blur: ~14.1.5 → TBDexpo-device: ~7.1.4 → TBDexpo-notifications: ~0.31.4 → TBDnativewind: ^4.0.1 → likely stays (not Expo-managed)react-native-mmkv-storage: ^12.0.0 → likely staysreact-native-webview: 13.13.5 → likely stays3. Run
npx expo install --fixto validate versionsThis ensures all expo-* packages are pinned to SDK 54 compatible versions, including the packages not in the template (expo-blur, expo-device, expo-notifications).
4. Regenerate lockfile
Delete and regenerate
pnpm-lock.yamlor the relevant lockfile.5. Update
examples/expo-example/app.jsonif neededCheck if any Expo 54 config changes are needed (e.g. new plugin API).
Files to modify
examples/expo-example/package.json— dependency versionsexamples/expo-example/app.json— if config changes neededVerification
cd examples/expo-example && npx expo install --check— verify all deps are SDK 54 compatiblecd examples/expo-example && npx expo run:android— build and run on Androidcd examples/expo-example && npx expo run:ios— build and run on iOSGenerated with Claude Code