Skip to content

refactor(rn): bump expo SDK to 57 - #69

Merged
simeng-li merged 1 commit into
masterfrom
simeng-refactor-bump-expo-sdk-to-57
Sep 10, 2026
Merged

refactor(rn): bump expo SDK to 57#69
simeng-li merged 1 commit into
masterfrom
simeng-refactor-bump-expo-sdk-to-57

Conversation

@simeng-li

@simeng-li simeng-li commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes logto-io/logto#9578.

@logto/rn@1.2.0 caps the expo-crypto / expo-secure-store / expo-web-browser peer ranges at <57. On npm this is a hard ERESOLVE install failure for every Expo SDK 57 project — npm i @logto/rn fails outright, nothing is installed. (pnpm degrades to a peer warning instead, which is why this looked milder than it is.)

Widen the caps to <58 and move the dev deps and the sample app onto Expo SDK 57, so the widened range is actually exercised.

No source changes — the SDK code is unaffected by the Expo 57 bump. The published build/ output of all three Expo modules is byte-identical between 56.x and 57.x, .d.ts included; only native code and package metadata changed.

  • packages/rn/package.json: peer caps <57<58; dev deps to expo-*@57 and react-native@^0.86.3; version 1.2.01.3.0.
  • packages/rn-sample/package.json: Expo SDK 56 → 57 (expo ~57.0.21, @expo/metro-runtime ~57.0.15, expo-status-bar, expo-crypto, expo-secure-store ^57.0.3, expo-web-browser, react/react-dom 19.2.3, react-native 0.86.3), matching Expo 57.0.21's bundledNativeModules.

react-native is pinned exactly rather than with ~, matching Expo's own template. A tilde range lets RN float to a newer patch than the resolved expo expects, which is what caused the earlier 57.0.16 / 0.86.3 mismatch.

Testing

Tested locally

  • pnpm -r build && pnpm -r lint && pnpm -r test — green, 5/5 tests passing.
  • Every sample dependency verified against the installed expo@57.0.21's bundledNativeModules.json (the file expo-doctor reads) — all aligned.
  • Reproduced the reporter's ERESOLVE against 1.2.0, then confirmed a packed 1.3.0 resolves clean in an Expo SDK 57 npm project.

Checklist

  • .changeset
  • unit tests
  • integration tests
  • necessary TSDoc comments

@simeng-li
simeng-li requested review from a team, charIeszhao and wangsijie and removed request for a team August 31, 2026 07:37
@simeng-li
simeng-li enabled auto-merge (squash) September 10, 2026 08:47
Comment thread packages/rn-sample/package.json Outdated
Widen the expo-crypto / expo-secure-store / expo-web-browser peer caps to
<58. On npm the old <57 cap is a hard ERESOLVE install failure for every
Expo SDK 57 project, not just a peer warning.

Bump the dev deps and the sample app to Expo SDK 57 (expo 57.0.21, RN
0.86.3, React 19.2.3). react-native is pinned exactly, matching Expo's own
template, so it cannot drift ahead of the react-native patch that the
installed expo's bundledNativeModules validates against.
@simeng-li
simeng-li force-pushed the simeng-refactor-bump-expo-sdk-to-57 branch from ab7a7db to 6279dfb Compare September 10, 2026 08:59
@simeng-li
simeng-li disabled auto-merge September 10, 2026 09:24
@simeng-li
simeng-li merged commit 384d285 into master Sep 10, 2026
2 of 3 checks passed
@simeng-li
simeng-li deleted the simeng-refactor-bump-expo-sdk-to-57 branch September 10, 2026 09:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

bug: Error when installing @logto/rn npm package for Expo integration

2 participants