1// To prebuild: 2// 1. `npm pack` in `../../templates/expo-template-bare-minimum` 3// 2. `EXPO_SDK_VERSION=43.0.0 expo prebuild --clean --template --no-install ../../templates/expo-template-bare-minimum/expo-template-bare-minimum-42.0.0.tgz` 4// - This can be debugged with `EXPO_DEBUG=1` and `DEBUG=expo:*` 5// 3. `pod install` in the ios folder. Do this in its own step since direnv may break your cocoapods install. 6// 4. `EXPO_SDK_VERSION=43.0.0 expo run:ios --no-install` 7// - This can be debugged with `EXPO_DEBUG=1` and `DEBUG=expo:*` 8// 5. `EXPO_SDK_VERSION=43.0.0 expo run:android` 9export default ({ config }) => { 10 config.version = '43.0.0'; 11 // app.json defines the sdkVersion as UNVERSIONED, we can override it here dynamically if we need to, 12 // for example with an environment variable. 13 if (process.env.EXPO_SDK_VERSION) { 14 config.sdkVersion = process.env.EXPO_SDK_VERSION; 15 } 16 config.plugins = [ 17 // iOS plugins 18 // Add a plugin to modify the AppDelegate. 19 './plugins/withNotFoundModule', 20 // Add the React DevMenu back to the client. 21 './plugins/withDevMenu', 22 // Add AsyncStorage 23 './plugins/withExpoAsyncStorage', 24 // Set the minimum version to 12 for Amplitude support 25 ['./plugins/withPodfileMinVersion', '12.0'], 26 27 // Android plugins 28 29 // unimodules-test-core requires kotlin, so additional setup must be executed. 30 'unimodules-test-core', 31 [ 32 './plugins/withGradleProperties', 33 { 34 // Increase default java VM size so it can handle building all the Expo packages. 35 'org.gradle.jvmargs': 36 '-Xmx3g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8', 37 }, 38 ], 39 [ 40 // unimodules-test-core must be added manually. 41 './plugins/withSettingsImport', 42 { 43 packageName: 'unimodules-test-core', 44 packagePath: '../../../packages/unimodules-test-core/android', 45 }, 46 ], 47 ]; 48 49 config.plugins.push([ 50 'expo-document-picker', 51 { 52 appleTeamId: 'XXXXXX', 53 }, 54 ]); 55 56 config.plugins.push([ 57 'expo-notifications', 58 { 59 icon: './assets/icons/notificationIcon.png', 60 color: '#5539cc', 61 sounds: ['./assets/sounds/cat.wav'], 62 }, 63 ]); 64 65 // The dev client plugins shouldn't be installed 66 config._internal.pluginHistory = { 67 // expo-dev-launcher causes prebuild to freeze on a find/replace. 68 'expo-dev-launcher': {}, 69 'expo-dev-menu': {}, 70 'expo-dev-client': {}, 71 }; 72 73 return config; 74}; 75