1import Constants from 'expo-constants'; 2import { Platform } from 'react-native'; 3import semver from 'semver'; 4 5import * as Kernel from '../kernel/Kernel'; 6 7const IOSClientReleaseType = Kernel.iosClientReleaseType; 8 9const IsIOSRestrictedBuild = 10 Platform.OS === 'ios' && 11 Kernel.iosClientReleaseType === Kernel.ExpoClientReleaseType.APPLE_APP_STORE; 12 13const SupportedExpoSdks = Constants.supportedExpoSdks || []; 14 15// Constants.supportedExpoSdks is not guaranteed to be sorted! 16const sortedSupportedExpoSdks = SupportedExpoSdks.sort(); 17 18let lowestSupportedSdkVersion: number = -1; 19 20if (SupportedExpoSdks.length > 0) { 21 lowestSupportedSdkVersion = semver.major(sortedSupportedExpoSdks[0]); 22} 23 24const supportedSdksString = `SDK${ 25 SupportedExpoSdks.length === 1 ? ':' : 's:' 26} ${sortedSupportedExpoSdks.map((sdk) => semver.major(sdk)).join(', ')}`; 27 28export default { 29 IOSClientReleaseType, 30 IsIOSRestrictedBuild, 31 lowestSupportedSdkVersion, 32 supportedSdksString, 33}; 34