1import type { ExpoConfig } from '@expo/config-types'; 2import semver from 'semver'; 3 4export function gteSdkVersion(exp: Pick<ExpoConfig, 'sdkVersion'>, sdkVersion: string): boolean { 5 if (!exp.sdkVersion) { 6 return false; 7 } 8 9 if (exp.sdkVersion === 'UNVERSIONED') { 10 return true; 11 } 12 13 try { 14 return semver.gte(exp.sdkVersion, sdkVersion); 15 } catch { 16 throw new Error(`${exp.sdkVersion} is not a valid version. Must be in the form of x.y.z`); 17 } 18} 19 20export function lteSdkVersion(exp: Pick<ExpoConfig, 'sdkVersion'>, sdkVersion: string): boolean { 21 if (!exp.sdkVersion) { 22 return false; 23 } 24 25 if (exp.sdkVersion === 'UNVERSIONED') { 26 return false; 27 } 28 29 try { 30 return semver.lte(exp.sdkVersion, sdkVersion); 31 } catch { 32 throw new Error(`${exp.sdkVersion} is not a valid version. Must be in the form of x.y.z`); 33 } 34} 35