All skills

Guidelines for upgrading Expo SDK versions and fixing dependency issues

Use this Skill: https://skilld.dev/gh/gigs-slc/react-native-skills/upgrading-expo

This session only. Nothing lands on disk.

referencesnew-architecture.md

≈545 tokens on demand. Your agent reads this file only when SKILL.md points to it.

New Architecture

The New Architecture is enabled by default in Expo SDK 53+. It replaces the legacy bridge with a faster, synchronous communication layer between JavaScript and native code.

Documentation

Full guide: https://docs.expo.dev/guides/new-architecture/

What Changed

  • JSI (JavaScript Interface) — Direct synchronous calls between JS and native
  • Fabric — New rendering system with concurrent features
  • TurboModules — Lazy-loaded native modules with type safety

SDK Compatibility

SDK Version New Architecture Status
SDK 53+ Enabled by default
SDK 52 Opt-in via app.json
SDK 51- Experimental

Configuration

New Architecture is enabled by default. To explicitly disable (not recommended):

{
  "expo": {
    "newArchEnabled": false
  }
}

Expo Go

Expo Go only supports the New Architecture as of SDK 53. Apps using the old architecture must use development builds.

Common Migration Issues

Native Module Compatibility

Some older native modules may not support the New Architecture. Check:

  1. Module documentation for New Architecture support
  2. GitHub issues for compatibility discussions
  3. Consider alternatives if module is unmaintained

Reanimated

React Native Reanimated requires react-native-worklets in SDK 54+:

npx expo install react-native-worklets

Layout Animations

Some layout animations behave differently. Test thoroughly after upgrading.

Verifying New Architecture

Check if New Architecture is active:

import { Platform } from "react-native";

// Returns true if Fabric is enabled
const isNewArch = global._IS_FABRIC !== undefined;

Verify from the command line if the currently running app uses the New Architecture: bunx xcobra expo eval "_IS_FABRIC" -> true

Troubleshooting

  1. Clear caches — npx expo start --clear
  2. Clean prebuild — npx expo prebuild --clean
  3. Check native modules — Ensure all dependencies support New Architecture
  4. Review console warnings — Legacy modules log compatibility warnings

Source: SKILL.md on GitHub

2 warnings6mo4 checks · Risk MEDIUM
  • Gen Agent Trust Hub7mo

    The skill provides comprehensive instructions for upgrading Expo SDK projects. However, it includes a command referencing an unverified third-party tool ('xcobra') which poses a security risk through the execution of untrusted code via bunx.

  • Socket6mo

    No alerts

  • Snyk7mo

    Risk: LOW · No issues

  • Runlayer7mo

    1/4 files flagged

Signed by skilld at 1d299ca. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 days ago.

Dormantupdated 8 months ago
version
1.0.0

README badge

README badge for gigs-slc/react-native-skills/upgrading-expo