upgrading-expo

Upgrade Expo SDK versions

View Source
name:upgrading-expodescription:"Upgrade Expo SDK versions"source:"https://github.com/expo/skills/tree/main/plugins/upgrading-expo"risk:safe

Upgrading Expo

Overview

Upgrade Expo SDK versions safely, handling breaking changes, dependencies, and configuration updates.

When to Use This Skill

Use this skill when you need to upgrade Expo SDK versions.

Use this skill when:

  • Upgrading to a new Expo SDK version

  • Handling breaking changes between SDK versions

  • Updating dependencies for compatibility

  • Migrating deprecated APIs to new versions

  • Preparing apps for new Expo features
  • Instructions

    This skill guides you through upgrading Expo SDK versions:

  • Pre-Upgrade Planning: Review release notes and breaking changes

  • Dependency Updates: Update packages for SDK compatibility

  • Configuration Migration: Update app.json and configuration files

  • Code Updates: Migrate deprecated APIs to new versions

  • Testing: Verify app functionality after upgrade
  • Upgrade Process

    1. Pre-Upgrade Checklist

  • Review Expo SDK release notes

  • Identify breaking changes affecting your app

  • Check compatibility of third-party packages

  • Backup current project state

  • Create a feature branch for the upgrade
  • 2. Update Expo SDK

    # Update Expo CLI
    npm install -g expo-cli@latest

    Upgrade Expo SDK


    npx expo install expo@latest

    Update all Expo packages


    npx expo install --fix

    3. Handle Breaking Changes

  • Review migration guides for breaking changes

  • Update deprecated API calls

  • Modify configuration files as needed

  • Update native dependencies if required

  • Test affected features thoroughly
  • 4. Update Dependencies

    # Check for outdated packages
    npx expo-doctor

    Update packages to compatible versions


    npx expo install --fix

    Verify compatibility


    npx expo-doctor

    5. Testing

  • Test core app functionality

  • Verify native modules work correctly

  • Check for runtime errors

  • Test on both iOS and Android

  • Verify app store builds still work
  • Common Issues

    Dependency Conflicts

  • Use expo install instead of npm install for Expo packages

  • Check package compatibility with new SDK version

  • Resolve peer dependency warnings
  • Configuration Changes

  • Update app.json for new SDK requirements

  • Migrate deprecated configuration options

  • Update native configuration files if needed
  • Breaking API Changes

  • Review API migration guides

  • Update code to use new APIs

  • Test affected features after changes
  • Best Practices

  • Always upgrade in a feature branch

  • Test thoroughly before merging

  • Review release notes carefully

  • Update dependencies incrementally

  • Keep Expo CLI updated

  • Use expo-doctor to verify setup
  • Resources

    For more information, see the source repository.