Examples
You can find example projects demonstrating the usage of React Native Brownfield in the apps directory.
It contains the following apps:
RNApp- a React Native app that is packaged using React Native Brownfield to an artifact consumed in native apps, in which you can refer to an exemplar usage of the library for packaging a React Native app to a consumable artifactExpoApp54- the Expo application that is packaged analogously to the above using React Native Brownfield Expo config plugin; this app uses Expo SDK v54, which is an important test case since pre-55 versions require additional configuration stepsExpoApp55- another Expo application similar toExpoApp54, but using Expo SDK v55AndroidApp- an Android app consuming the packaged artifact fromRNApporExpoApp, in which you can refer to an exemplar usage of the library for integrating React Native Brownfield into a native Android app; this app comes in two flavors:expo- which uses the artifact produced fromExpoAppvanilla- which uses the artifact produced fromRNApp
AppleApp- an iOS app consuming the packaged artifact fromRNApp, in which you can refer to an exemplar usage of the library for integrating React Native Brownfield into a native iOS app; this app comes in two configurations:expo- which uses the artifact produced fromExpoAppvanilla- which uses the artifact produced fromRNApp
Additional notes
There are 2 demo apps for Expo: ExpoApp55 (Expo 55 SDK) and ExpoApp54 (Expo 54 SDK). This is to test our setup works with both pre- and post-55 Expo SDK versions. It is important since the pre-55 Expo versions require additional handling, which is not applied by our Expo config plugin for Expo >= 55.
The ReactBrownfield iOS Pods project (namely ExpoHostRuntime.swift) depends on the EXPO_SDK_GTE_55 compile-time define. This define is added to the project from the Podfile, injected by the Expo config plugin for Expo SDK versions >= 55.
