Skip to content

fix(expo-template): align dependencies with Expo SDK 54 - #577

Merged
thiagobrez merged 1 commit into
callstack:mainfrom
oleksandrzavarzin-callstack:fix/align-dependencies-with-Expo-SDK-54
Sep 9, 2026
Merged

fix(expo-template): align dependencies with Expo SDK 54#577
thiagobrez merged 1 commit into
callstack:mainfrom
oleksandrzavarzin-callstack:fix/align-dependencies-with-Expo-SDK-54

Conversation

@oleksandrzavarzin-callstack

Copy link
Copy Markdown
Contributor

PR Description

Bug fix for @bottom-tabs/expo-template. A freshly scaffolded app didn't typecheck and had
dependency drift.

  • Dependency drift. expo install --check reported react-native-reanimated@~4.3.1
    (expected ~4.1.1), react-native-worklets@~0.8.3 (expected 0.5.1) and
    @react-navigation/native@^7.2.2 (expected ^7.1.8).
    This is the same class of breakage fixed in v1.1.2, so it regressed.

  • Two type errors, both in template files. ExternalLink's href was typed string while
    app.json sets experiments.typedRoutes: true; it needs Href, intersected with string so
    openBrowserAsync(href) still typechecks. IconSymbol's style was ViewStyle but is
    forwarded to MaterialIcons, which is Text-based.

  • Four unused dependencies removed: expo-build-properties (a leftover from the
    useFrameworks: "static" config dropped in feat: drop SDWebImage, implement svg decoder #427),
    react-native-webview, and expo-blur + expo-haptics (leftovers from the stock
    Expo template).

yarn.lock is updated, since CI installs with --immutable.

How to test?

Pack the template from this branch and scaffold from the tarball:

yarn workspace @bottom-tabs/expo-template pack --out /tmp/expo-template.tgz
npx create-expo-app@latest /tmp/tpl --template /tmp/expo-template.tgz
cd /tmp/tpl && npm install
npx expo start   # once, then stop it - this generates .expo/types/router.d.ts
  • npx expo install --checkDependencies are up to date
  • npx tsc --noEmit → clean (two errors before this PR)
  • npx expo export --platform android → succeeds, confirming the removed packages were unused

The expo start step matters: without .expo/types/router.d.ts, Href falls back to
string | HrefObject and the typed-routes error can't reproduce, so tsc passes either way.

Screenshots

Not applicable - no runtime or UI change.

@thiagobrez
thiagobrez added this pull request to the merge queue Sep 9, 2026
Merged via the queue into callstack:main with commit 34f7117 Sep 9, 2026
5 checks passed
@oleksandrzavarzin-callstack
oleksandrzavarzin-callstack deleted the fix/align-dependencies-with-Expo-SDK-54 branch September 10, 2026 11:08
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.

2 participants