Difference between CRNA Eject and Expo Detach?

Is there some actual difference or does Expo Detach exists solely to confuse things more? :slight_smile:

I tried a fresh project created with CRNA. Then I run yarn run eject with a selection of Expokit.
Same fresh CRNA project and this time run exp detach.
The result is almost identical.

There is one small difference I managed to spot. When ejecting with CRNA, it actually changes package.json to use the fork of react-native. The Exp Detach does not do that, it just complains it’s not used. It’s kinda strange that Expo itself would not want to want to force use of its own fork :slight_smile:

I can probably understand that exp detach can be useful if you have manually created react native app, but who does that? :slight_smile: Might be worth somehow consolidate this to eliminate confusion. Or am I only one confused?


exp detach is basically the same as ejecting from CRNA.

Typically, you would use exp detach if you start a project using exp rather than CRNA, and so that project would already be using the fork.

This is definitely a bit confusing but we thought it was better to work with Facebook to make create-react-native-app than to not do that. We’ll probably unify these two paths over time. Thanks for the feedback.