'Different build variants / flavors for a ReactNative app using Expo

I need to make a react native app which will be used to produce other apps using the same code (changing some logos, colors, a few features depending on the case etc)

On Android with Java I was using flavors, but with Expo to generate builds variant on Android & iOS and not having to duplicate code/projects, i'm not sure how I can do this properly. Any best practice?



Solution 1:[1]

Expo now supports variants, but only if you use Expo Application Services (EAS).

There is a bit too much code to include it all, but the key bit is doing this is app.config.js:

const IS_DEV = process.env.APP_VARIANT === "development";

export default {
  // You can also switch out the app icon and other properties to further
  // differentiate the app on your device.
  name: IS_DEV ? "MyApp (Dev)" : "MyApp",
  slug: "my-app",
  ios: {
    bundleIdentifier: IS_DEV ? "com.myapp.dev" : "com.myapp",
  },
  android: {
    package: IS_DEV ? "com.myapp.dev" : "com.myapp",
  },
};

For more info: https://docs.expo.dev/build-reference/variants/

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 dain