fix: pin Expo SDK 53 native package versions#5
Conversation
📝 WalkthroughWalkthroughThis PR updates version specifiers for eight React Native dependencies in ChangesDependency Version Stabilization
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
package.json (1)
13-77:⚠️ Potential issue | 🟠 MajorAdd/commit a lockfile to pin Expo/RN native dependency resolutions
package-lock.json(and other common lockfiles likeyarn.lock/pnpm-lock.yaml) are not present in the repo, so the dependency version specs inpackage.jsonwon’t be pinned to the intended SDK 53-compatible resolved versions on fresh installs.
- Commit the lockfile for the chosen package manager (README uses
npm install, so generate/commitpackage-lock.json)- Ensure CI/dev uses pinned installs (
npm ci/ frozen-lockfile equivalent) to prevent SDK/native drift🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@package.json` around lines 13 - 77, The repo is missing a lockfile so native Expo/React Native dependency resolutions from package.json can drift; generate and commit a package-lock.json by running npm install (or npm ci locally after deleting node_modules to reproduce), add package-lock.json to source control, and update CI to use npm ci (or the project's chosen package manager with a frozen-lockfile) to ensure SDK 53-compatible native dependency pinning and reproducible installs (refer to package.json dependencies).
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@package.json`:
- Around line 13-77: The repo is missing a lockfile so native Expo/React Native
dependency resolutions from package.json can drift; generate and commit a
package-lock.json by running npm install (or npm ci locally after deleting
node_modules to reproduce), add package-lock.json to source control, and update
CI to use npm ci (or the project's chosen package manager with a
frozen-lockfile) to ensure SDK 53-compatible native dependency pinning and
reproducible installs (refer to package.json dependencies).
Summary
expo-secure-storefrom the incompatible SDK 56 package line to SDK 53's~14.2.4.expo install --check.Root Cause
The dev build crashed with:
Failed resolution of: Lexpo/modules/kotlin/types/AnyTypeCache;expo-secure-store@56.0.4was compiled against a newer Expo Modules Core API than the SDK 53 app provides.Verification
npx expo install --checkpasses.npm ls @react-native-community/netinfo expo-haptics expo-secure-store lottie-react-native react-native react-native-gesture-handler react-native-svg --depth=0shows SDK-compatible versions.Local Rebuild Required
Because this changes native dependencies, install dependencies and rebuild the dev client:
Summary by CodeRabbit