mobile: realign native deps with Expo SDK 56 expectations

Dependabot bumped react-native-reanimated (4.4.1), react-native-
safe-area-context (5.8.0), and react-native-worklets (0.9.1) past the
versions Expo SDK 56 pins, which broke the native iOS build: expo's
Swift macro API drifted between expo-modules-core patches and
expo-crypto stopped compiling (OptimizedFunction macro mismatch).
CI never caught it because nothing compiles native code; the first
EAS build since the SDK 56 upgrade (d627b3c1) failed with it.

Applied `npx expo install --fix` (expo ~56.0.9, reanimated 4.3.1,
safe-area-context ~5.7.0, worklets 0.8.3) + pnpm dedupe, and added
the SDK-pinned native packages to the dependabot ignore list so they
only move via SDK bumps.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Ullrich Schäfer 2026-06-10 03:24:00 +02:00
parent 1a65b40d18
commit ba64b2cd57
No known key found for this signature in database
GPG key ID: A32FF691A0F752D9
3 changed files with 235 additions and 390 deletions

View file

@ -20,10 +20,22 @@ updates:
update-types: ["version-update:semver-major"]
- dependency-name: "@types/node"
update-types: ["version-update:semver-major"]
# react-native is pinned by the Expo SDK — upgrade it via an Expo
# SDK bump, not on its own. Community react-native-* libraries are
# intentionally NOT ignored here; they can be bumped independently.
# These packages are version-pinned by the Expo SDK (see
# expo/bundledNativeModules.json) — upgrade them via an Expo SDK
# bump / `npx expo install --fix`, never on their own. Dependabot
# bumping them past the SDK's expected version broke the native
# build (expo-modules-core macro mismatch, June 2026) because CI
# never compiles native code. `react` stays unignored: the web
# apps own its version via the workspace catalog, and apps/mobile
# excludes it from expo version checks.
- dependency-name: "react-native"
- dependency-name: "react-native-gesture-handler"
- dependency-name: "react-native-reanimated"
- dependency-name: "react-native-safe-area-context"
- dependency-name: "react-native-screens"
- dependency-name: "react-native-worklets"
- dependency-name: "@sentry/react-native"
- dependency-name: "jest-expo"
- package-ecosystem: "github-actions"
directory: "/"

View file

@ -41,7 +41,7 @@
"@trails-cool/map-core": "workspace:*",
"@trails-cool/sentry-config": "workspace:*",
"@trails-cool/types": "workspace:*",
"expo": "~56.0.4",
"expo": "~56.0.9",
"expo-constants": "~56.0.17",
"expo-crypto": "~56.0.4",
"expo-dev-client": "~56.0.19",
@ -62,10 +62,10 @@
"react": "catalog:",
"react-native": "0.85.3",
"react-native-gesture-handler": "^2.31.2",
"react-native-reanimated": "^4.4.1",
"react-native-safe-area-context": "~5.8.0",
"react-native-reanimated": "^4.3.1",
"react-native-safe-area-context": "~5.7.0",
"react-native-screens": "~4.25.2",
"react-native-worklets": "0.9.1",
"react-native-worklets": "0.8.3",
"use-latest-callback": "^0.3.4",
"zod": "^4.4.3"
},

599
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff