feat: move async-storage to peerDependencies #354
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
@react-native-async-storage/async-storagefromdependenciestopeerDependenciesto resolve duplicate native module conflicts^1.15.0 || ^2.0.0peerDependenciesMeta- SDK falls back to in-memory storage if unavailableContext
Expo 52+ requires
@react-native-async-storage/async-storagev2.x, whilemixpanel-react-nativewas pinning v1.x as a direct dependency. This causedexpo-doctorto flag duplicate native module dependencies, which can lead to unexpected build errors.Moving async-storage to peerDependencies allows consuming projects to use their preferred version (v1.x or v2.x), eliminating the conflict.
Breaking Change
Action Required: If your project doesn't already include async-storage, run:
Most Expo projects already include this package, so no additional installation is needed.
Test plan
npm pack --dry-runexcludes async-storage from dependenciesFixes #323
Related: #327