As title says, is it possible to eject from ExpoKit to normal React Native?
We’re using Expo for development for now but I can see that in the future we will need to integrate some of our internal libraries so we will need to eject but I’m a bit confused and I can’t find any information about it.
Expo and ExpoKit is not quite the same.
If you just start a project with
expo init you have a project which can be run with Expo Client app on the phone etc. but for that reason you cannot add any 3rd party library containing native code.
If you eject to ExpoKit you end up basically with a React Native project with Expo SDK as a library. There are bunch of consequences (https://docs.expo.io/versions/v31.0.0/expokit/eject#should-i-eject-to-expokit) but at that point you can add 3rd party libraries with native code.
Ejecting from ExpoKit would be basically removing any references to Expo SDK and removing ExpoKit from your dependencies.
to add on to @jakubste’s reply, ExpoKit is currently all of Expo APIs + OTA update code loading/asset apis. we’ve been working on making Expo APIs installable as individual packages and we’re getting close to having this working for most APIs. in the very near future i plan to make it possible to ‘eject’ to a project that is identical to react-native init but with the Expo APIs all linked and no OTA update code included, which I think is what you’re looking for. I’ll be writing a blog post about this shortly with more information
Thanks for all of the answers @notbrent and @jakubste. I was indeed asking if after ejecting from Expo to ExpoKit you would still be allowed to eject to normal React Native.
Being possible to install Expo APIs as individual packages would be amazing and having the no OTA update code would be a plus. I say this as, for legal reasons, we might not even be able to have that so we would
needhave to eject to normal RN.
What should I do to get notified for that blog post @notbrent?
You can follow our blog here: https://blog.expo.io/
This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.