Skip to content

fix: make expo-crypto a peer dependency - #89

Open
localhost41 wants to merge 1 commit into
tetherto:mainfrom
localhost41:fix/expo-crypto-peer-dependency
Open

fix: make expo-crypto a peer dependency#89
localhost41 wants to merge 1 commit into
tetherto:mainfrom
localhost41:fix/expo-crypto-peer-dependency

Conversation

@localhost41

Copy link
Copy Markdown

Summary

  • move expo-crypto from runtime dependencies to peer dependencies so the host Expo app controls the native-module version
  • keep SDK 56 in dev dependencies for this package’s own build and tests
  • document npx expo install expo-crypto so Expo selects the version matching the app’s SDK

The peer range accepts the SDK 55 and SDK 56 module lines without forcing SDK 55 consumers onto expo-crypto@56.

Validation

  • npm test -- --runInBand (485 tests)
  • npm run typecheck
  • npm run lint
  • npm run build
  • packed-package install simulation with expo-crypto@~55.0.16
  • packed-package install simulation with expo-crypto@^56.0.4
  • git diff --check

Closes #82

@localhost41
localhost41 force-pushed the fix/expo-crypto-peer-dependency branch from f5ddfc7 to bfe4f5d Compare August 18, 2026 23:37
@nulllpc

nulllpc commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Can you quickly verify the fix against this small repo?

https://github.com/tetherto/wdk-examples/tree/main/react-native-showcase

@localhost41 Thanks a lot

@localhost41

Copy link
Copy Markdown
Author

Verified against the current react-native-showcase using PR head bfe4f5d.

  • Installed the packed PR branch into the Expo 55 showcase; expo-crypto resolves once at 55.0.18 and is shared by the app, React Native Core, and secure storage.
  • WDK worklet generation completed successfully (16.6 MB bundle).
  • Expo production exports completed successfully for both iOS and Android.
  • Expo native autolinking resolves the same single ExpoCrypto 55.0.18 module on both platforms.

The showcase has a few unrelated existing Expo Doctor/TypeScript configuration warnings, but none are caused by this change. Looks good from my side.

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.

expo-crypto@^56 dependency breaks any Expo SDK 55 app at runtime — Cannot find native module 'ExpoCrypto'

2 participants