Make the root component configurable in app.json instead of being hardcoded to "main" in package.json
complete
Aron Adler
This would make it much simpler to support monorepos with two or more apps from a shared codebase.
If you want to export multiple apps you currently need two app.json files and you can start each one by running
expo start --config path/to/app.json
. This is really easy.The problem is that you can't run two apps in parallel because the root component has to be set in the repo's package.json's "main" property. This means manually changing the "main" to point to the other app's root component every single time you are switching apps.
The only solution currently is having multiple package.json files, which is a maintenance nightmare, especially if you want to share a lot of code between apps.
TL;DR putting the "main" property in app.json instead of package.json means that all the information about each app is set in the app.json and it enables running multiple apps in parallel and easier deployment.
Evan Bacon
complete
The solution is to use
expo-yarn-workspaces
to support multiple different projects. You can also use appEntry field in the app.json but I'd recommend against it since it may break other tooling you'd like to use with your project.Aron Adler
Brent Vatne done: https://github.com/expo/expo-cli/issues/1487. Let me know if you'd like to me to change anything.
Brent Vatne
can you open a rfc for this on http://github.com/expo/expo-cli?