Fyi, I am just an Expo user like you
@keith-kurak is an Expo team member, though.
Yes, I agree that config plugins are cool and powerful and also that they are initially hard to wrap your head around or know how to start. I think this is mostly a temporary problem, though. Config plugins are still a fairly new concept, so there are still many NPMs that need one, and have not written one themselves. So if you want to use one of those NPMs, you’d need to write the config plugin yourself.
I think that over time more of these dependencies will have their own config plugins, and the chances of you needing to write one will be much lower.
I’ve written a few simple config plugins and I found that the easiest way to go was to find an existing Expo config plugin that did something similar to what I needed to do and basically copy that and modify it.
Places to look for examples:
- https://github.com/expo/expo/tree/main/packages/%40expo/config-plugins/src/plugins
- https://github.com/expo/expo/blob/main/packages/ (check the subdirectories for “plugin” directories)
- https://github.com/expo/config-plugins/tree/main/packages
You might also find something useful in the following forum posts that I’ve bookmarked:
- Managed - EAS Build fails for iOS Simulator - #2 by bacon
- Can't get expoToken in Expo Notification, due to Failed resolution of: Lcom/google/firebase/iid/FirebaseInstanceId; - #8 by barthap10
- EAS - React Native Branch - example config plugin (Working on iOS and Android)
- [ios][eas] modify podfile on build - #2 by brents
- Editing "Default mods" for AndroidManifest.xml from app.config.js
- Build failed: Gradle build failed with unknown error. Expo Managed Workflow - #11 by charliecruzan
- expo config plugins list - #3 by bacon
- An example of a mod for gradleProperties - #2 by charliecruzan
- EAS build fails for Android: Execution failed for task ':app:mergeReleaseNativeLibs' - #15 by wodin
- Managed EAS build - How to edit build.gradle via mods. - #2 by wodin
- EAS update build phase (managed workflow) - #6 by heyfina-dev
- Problem with GIF animation and EAS build - #2 by wodin
- NFC Host-based card emulation (HCE) - #9 by wodin
- react native expo ssl pinning - #5 by bryancnguyen
- Animated webp expected to work with EAS builds? - #5 by gollyjer
- Working config plugin for react-native-background-geolocation
- EAS build requires READ_PHONE_STATE permission on Android - #3 by notbrent
- iOS Widget Extension on EAS Build - #2 by wkozyra
- EAS build error - Unable to add a source with url `https://cdn.cocoapods.org/` named `trunk` - #4 by wkozyra
- Add XCode target without ejecting from expo - #2 by wkozyra