Skip to content

rc.6: CurvedTransition crash on React Native - eager reanimated imports break module evaluation #462

Description

@wcastand

Description

Upgrading from 1.0.0-rc.5 to 1.0.0-rc.6 causes a crash on app startup in React Native (Expo SDK 54, Hermes, Fabric).

Error

error: [runtime not ready]: TypeError: Cannot read property 'CurvedTransition' of undefined
error: [runtime not ready]: TypeError: Cannot read property 'View' of undefined

The app fails to load entirely — expo-router shows AppEntryNotFound because uniwind's module evaluation crashes and cascades.

Root cause

dist/module/core/reanimated.js eagerly imports all symbols from react-native-reanimated at the top level:

import {
  CurvedTransition,
  // ... many others
} from "react-native-reanimated";

During initial module graph evaluation, the reanimated native module isn't ready yet ([runtime not ready] prefix). This causes the entire uniwind module to fail, which then breaks everything that depends on it.

rc.5 did not have this issue — rolling back to rc.5 fixes it.

Environment

  • uniwind (uniwind-pro): 1.0.0-rc.6
  • react-native-reanimated: 4.2.2
  • Expo SDK: 54
  • Runtime: Hermes + Fabric
  • Platform: iOS simulator (iPhone 17)

Suggested fix

Lazy-load the reanimated imports (e.g. behind a function call or require()) so they aren't evaluated during initial module graph setup, or gate them behind a runtime-ready check.

Workaround

Pin to 1.0.0-rc.5.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions