"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.expoSdkUniversalModulesConfigs = exports.vendoredNativeModules = void 0;
const defaultUniversalModuleConfig = {
ios: {
// subdirectory in which the module podspec is placed.
subdirectory: 'ios',
// whether when adding a new version of ABI
// the module should be versioned and released
// as eg. ABI28_0_0EXCamera
versionable: true,
// whether the module should be included in the newly created detached app.
detachable: true,
// whether the module should be included in Expo Client
includeInExpoClient: true
},
android: {
// subdirectory in which the Android project can be found.
subdirectory: 'android',
// whether when adding a new version of ABI
// the module should be versioned and released
// as eg. abi28_2_0.expo.modules.camera
versionable: true,
// whether the module should be included in the newly created detached app,
// so when releasing a new version of expoview
// as eg. host.exp.exponent:expoview:28.2.0 the module will
// be assembled and uploaded to the local maven repo
detachable: true,
// whether the module should be included in Expo Client
includeInExpoClient: true
}
};
const firebaseModuleConfig = {
ios: {
versionable: false,
detachable: false,
includeInExpoClient: false
},
android: {
versionable: false,
detachable: false,
includeInExpoClient: false
}
};
const expoUniversalModules = [// native modules
{
podName: 'EXAdsAdMob',
libName: 'expo-ads-admob',
sdkVersions: '>=30.0.0'
}, {
podName: 'EXAdsFacebook',
libName: 'expo-ads-facebook',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXAmplitude',
libName: 'expo-analytics-amplitude',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXSegment',
libName: 'expo-analytics-segment',
sdkVersions: '>=30.0.0'
}, {
podName: 'EXAppAuth',
libName: 'expo-app-auth',
sdkVersions: '>=32.0.0'
}, {
podName: 'EXAppLoaderProvider',
libName: 'expo-app-loader-provider',
sdkVersions: '>=32.0.0'
}, {
podName: 'EXAV',
libName: 'expo-av',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXBackgroundFetch',
libName: 'expo-background-fetch',
sdkVersions: '>=32.0.0'
}, {
podName: 'EXBarCodeScanner',
libName: 'expo-barcode-scanner',
sdkVersions: '>=30.0.0'
}, {
podName: 'EXBarCodeScannerInterface',
libName: 'expo-barcode-scanner-interface',
sdkVersions: '>=30.0.0 <33.0.0'
}, {
podName: 'EXBattery',
libName: 'expo-battery',
sdkVersions: '>=34.0.0'
}, {
podName: 'EXBluetooth',
libName: 'expo-bluetooth',
sdkVersions: '>=34.0.0',
config: {
ios: {
includeInExpoClient: false
},
android: {
includeInExpoClient: false
}
}
}, {
podName: 'EXBlur',
libName: 'expo-blur',
sdkVersions: '>=33.0.0',
config: {
android: {
versionable: false,
detachable: false,
includeInExpoClient: false
}
}
}, {
podName: 'EXBrightness',
libName: 'expo-brightness',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXCalendar',
libName: 'expo-calendar',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXCamera',
libName: 'expo-camera',
sdkVersions: '>=29.0.0'
}, {
podName: 'EXCameraInterface',
libName: 'expo-camera-interface',
sdkVersions: '>=29.0.0 <33.0.0'
}, {
podName: 'EXConstants',
libName: 'expo-constants',
sdkVersions: '>=29.0.0'
}, {
podName: 'EXConstantsInterface',
libName: 'expo-constants-interface',
sdkVersions: '>=29.0.0 <33.0.0'
}, {
podName: 'EXContacts',
libName: 'expo-contacts',
sdkVersions: '>=30.0.0'
}, {
podName: 'EXCore',
libName: 'expo-core',
sdkVersions: '>=29.0.0 <33.0.0'
}, {
podName: 'EXCrypto',
libName: 'expo-crypto',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXDevice',
libName: 'expo-device',
sdkVersions: '>=34.0.0'
}, {
podName: 'EXDocumentPicker',
libName: 'expo-document-picker',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXErrors',
libName: 'expo-errors',
sdkVersions: '>=32.0.0 <33.0.0'
}, {
podName: 'EXFacebook',
libName: 'expo-facebook',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXFaceDetector',
libName: 'expo-face-detector',
detachable: false,
sdkVersions: '>=29.0.0'
}, {
podName: 'EXFaceDetectorInterface',
libName: 'expo-face-detector-interface',
sdkVersions: '>=29.0.0 <33.0.0'
}, {
podName: 'EXFileSystem',
libName: 'expo-file-system',
sdkVersions: '>=29.0.0'
}, {
podName: 'EXFileSystemInterface',
libName: 'expo-file-system-interface',
sdkVersions: '>=29.0.0 <33.0.0'
}, {
podName: 'EXFirebaseAnalytics',
libName: 'expo-firebase-analytics',
sdkVersions: '>=31.0.0',
config: firebaseModuleConfig
}, {
podName: 'EXFirebaseApp',
libName: 'expo-firebase-app',
sdkVersions: '>=31.0.0',
config: firebaseModuleConfig
}, {
podName: 'EXFirebaseAuth',
libName: 'expo-firebase-auth',
sdkVersions: '>=31.0.0',
config: firebaseModuleConfig
}, {
podName: 'EXFirebaseCrashlytics',
libName: 'expo-firebase-crashlytics',
sdkVersions: '>=31.0.0',
config: firebaseModuleConfig
}, {
podName: 'EXFirebaseDatabase',
libName: 'expo-firebase-database',
sdkVersions: '>=31.0.0',
config: firebaseModuleConfig
}, {
podName: 'EXFirebaseFirestore',
libName: 'expo-firebase-firestore',
sdkVersions: '>=31.0.0',
config: firebaseModuleConfig
}, {
podName: 'EXFirebaseFunctions',
libName: 'expo-firebase-functions',
sdkVersions: '>=31.0.0',
config: firebaseModuleConfig
}, {
podName: 'EXFirebaseInstanceID',
libName: 'expo-firebase-instance-id',
sdkVersions: '>=31.0.0',
config: firebaseModuleConfig
}, {
podName: 'EXFirebaseInvites',
libName: 'expo-firebase-invites',
sdkVersions: '>=31.0.0',
config: firebaseModuleConfig
}, {
podName: 'EXFirebaseLinks',
libName: 'expo-firebase-links',
sdkVersions: '>=31.0.0',
config: firebaseModuleConfig
}, {
podName: 'EXFirebaseMessaging',
libName: 'expo-firebase-messaging',
sdkVersions: '>=31.0.0',
config: firebaseModuleConfig
}, {
podName: 'EXFirebaseNotifications',
libName: 'expo-firebase-notifications',
sdkVersions: '>=31.0.0',
config: firebaseModuleConfig
}, {
podName: 'EXFirebasePerformance',
libName: 'expo-firebase-performance',
sdkVersions: '>=31.0.0',
config: firebaseModuleConfig
}, {
podName: 'EXFirebaseRemoteConfig',
libName: 'expo-firebase-remote-config',
sdkVersions: '>=31.0.0',
config: firebaseModuleConfig
}, {
podName: 'EXFirebaseStorage',
libName: 'expo-firebase-storage',
sdkVersions: '>=31.0.0',
config: firebaseModuleConfig
}, {
podName: 'EXFont',
libName: 'expo-font',
sdkVersions: '>=30.0.0'
}, {
podName: 'EXFontInterface',
libName: 'expo-font-interface',
sdkVersions: '>=30.0.0 <33.0.0'
}, {
podName: 'EXGL',
libName: 'expo-gl',
sdkVersions: '>=29.0.0'
}, {
podName: 'EXGL-CPP',
libName: 'expo-gl-cpp',
sdkVersions: '>=29.0.0',
versionable: false,
config: {
ios: {
subdirectory: 'cpp'
}
}
}, {
podName: 'EXGoogleSignIn',
libName: 'expo-google-sign-in',
sdkVersions: '>=32.0.0'
}, {
podName: 'EXHaptics',
libName: 'expo-haptics',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXImageLoaderInterface',
libName: 'expo-image-loader-interface',
sdkVersions: '>=30.0.0 <33.0.0'
}, {
podName: 'EXImageManipulator',
libName: 'expo-image-manipulator',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXImagePicker',
libName: 'expo-image-picker',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXInAppPurchases',
libName: 'expo-in-app-purchases',
sdkVersions: '>=33.0.0',
config: {
ios: {
includeInExpoClient: false
},
android: {
includeInExpoClient: false
}
}
}, {
libName: 'expo-intent-launcher',
sdkVersions: '>=33.0.0',
config: {
ios: {
versionable: false,
detachable: false,
includeInExpoClient: false
}
}
}, {
podName: 'EXKeepAwake',
libName: 'expo-keep-awake',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXLinearGradient',
libName: 'expo-linear-gradient',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXLocalAuthentication',
libName: 'expo-local-authentication',
sdkVersions: '>=30.0.0'
}, {
podName: 'EXLocalization',
libName: 'expo-localization',
sdkVersions: '>=31.0.0'
}, {
podName: 'EXLocation',
libName: 'expo-location',
sdkVersions: '>=30.0.0'
}, {
podName: 'EXMailComposer',
libName: 'expo-mail-composer',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXMediaLibrary',
libName: 'expo-media-library',
sdkVersions: '>=30.0.0'
}, {
podName: 'EXPaymentsStripe',
libName: 'expo-payments-stripe',
sdkVersions: '>=30.0.0',
detachable: false,
config: {
ios: {
includeInExpoClient: false
}
}
}, {
podName: 'EXPermissions',
libName: 'expo-permissions',
sdkVersions: '>=29.0.0'
}, {
podName: 'EXPermissionsInterface',
libName: 'expo-permissions-interface',
sdkVersions: '>=29.0.0 <33.0.0'
}, {
podName: 'EXPrint',
libName: 'expo-print',
sdkVersions: '>=30.0.0'
}, {
podName: 'EXRandom',
libName: 'expo-random',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXReactNativeAdapter',
libName: 'expo-react-native-adapter',
sdkVersions: '>=29.0.0 <33.0.0'
}, {
podName: 'EXSecureStore',
libName: 'expo-secure-store',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXSensors',
libName: 'expo-sensors',
sdkVersions: '>=29.0.0'
}, {
podName: 'EXSensorsInterface',
libName: 'expo-sensors-interface',
sdkVersions: '>=29.0.0 <33.0.0'
}, {
podName: 'EXSharing',
libName: 'expo-sharing',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXSMS',
libName: 'expo-sms',
sdkVersions: '>=29.0.0'
}, {
podName: 'EXSpeech',
libName: 'expo-speech',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXSQLite',
libName: 'expo-sqlite',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXTaskManager',
libName: 'expo-task-manager',
sdkVersions: '>=32.0.0'
}, {
podName: 'EXTaskManagerInterface',
libName: 'expo-task-manager-interface',
sdkVersions: '>=32.0.0 <33.0.0',
config: {
android: {
versionable: false
}
}
}, {
podName: 'EXVideoThumbnails',
libName: 'expo-video-thumbnails',
sdkVersions: '>=33.0.0'
}, {
podName: 'EXWebBrowser',
libName: 'expo-web-browser',
sdkVersions: '>=33.0.0'
}, // JS-only modules
{
libName: 'expo-asset',
sdkVersions: '>=29.0.0',
isNativeModule: false
}, {
libName: 'expo-module-template',
sdkVersions: '>=29.0.0',
isNativeModule: false
}, {
podName: 'UMCore',
libName: '@unimodules/core',
sdkVersions: '>=33.0.0'
}, {
podName: 'UMReactNativeAdapter',
libName: '@unimodules/react-native-adapter',
sdkVersions: '>=33.0.0'
}, {
podName: 'UMBarCodeScannerInterface',
libName: 'unimodules-barcode-scanner-interface',
sdkVersions: '>=33.0.0'
}, {
podName: 'UMCameraInterface',
libName: 'unimodules-camera-interface',
sdkVersions: '>=33.0.0'
}, {
podName: 'UMConstantsInterface',
libName: 'unimodules-constants-interface',
sdkVersions: '>=33.0.0'
}, {
podName: 'UMFaceDetectorInterface',
libName: 'unimodules-face-detector-interface',
sdkVersions: '>=33.0.0'
}, {
podName: 'UMFileSystemInterface',
libName: 'unimodules-file-system-interface',
sdkVersions: '>=33.0.0'
}, {
podName: 'UMFontInterface',
libName: 'unimodules-font-interface',
sdkVersions: '>=33.0.0'
}, {
podName: 'UMImageLoaderInterface',
libName: 'unimodules-image-loader-interface',
sdkVersions: '>=33.0.0'
}, {
podName: 'UMPermissionsInterface',
libName: 'unimodules-permissions-interface',
sdkVersions: '>=33.0.0'
}, {
podName: 'UMSensorsInterface',
libName: 'unimodules-sensors-interface',
sdkVersions: '>=33.0.0'
}, {
podName: 'UMTaskManagerInterface',
libName: 'unimodules-task-manager-interface',
sdkVersions: '>=33.0.0',
config: {
android: {
versionable: false
}
}
}];
const vendoredNativeModules = [{
libName: '@expo/vector-icons',
sdkVersions: '>=26.0.0',
isNativeModule: true
}, {
libName: '@react-native-community/netinfo',
sdkVersions: '>=33.0.0',
isNativeModule: true
}, {
libName: 'lottie-react-native',
sdkVersions: '>=26.0.0',
isNativeModule: true
}, {
libName: 'react-native-branch',
sdkVersions: '>=26.0.0',
isNativeModule: true
}, {
libName: 'react-native-gesture-handler',
sdkVersions: '>=26.0.0',
isNativeModule: true
}, {
libName: 'react-native-maps',
sdkVersions: '>=26.0.0',
isNativeModule: true
}, {
libName: 'react-native-reanimated',
sdkVersions: '>=28.0.0',
isNativeModule: true
}, {
libName: 'react-native-screens',
sdkVersions: '>=30.0.0',
isNativeModule: true
}, {
libName: 'react-native-svg',
sdkVersions: '>=26.0.0',
isNativeModule: true
}, {
libName: 'react-native-view-shot',
sdkVersions: '>=26.0.0',
isNativeModule: true
}, {
libName: 'react-native-webview',
sdkVersions: '>=33.0.0',
isNativeModule: true
}];
exports.vendoredNativeModules = vendoredNativeModules;
function defaults(defaultConfig, ...customConfigs) {
return Object.assign({}, defaultConfig, ...customConfigs);
}
const expoSdkUniversalModulesConfigs = expoUniversalModules.map(({
config = {},
podName,
libName,
sdkVersions,
isNativeModule = true,
...params
}) => {
return {
podName,
libName,
sdkVersions,
isNativeModule,
config: {
ios: defaults(defaultUniversalModuleConfig.ios, params, 'ios' in config ? config.ios : undefined),
android: defaults(defaultUniversalModuleConfig.android, params, 'android' in config ? config.android : undefined)
}
};
});
exports.expoSdkUniversalModulesConfigs = expoSdkUniversalModulesConfigs;
//# sourceMappingURL=../__sourcemaps__/modules/config.js.map