@@ -31,8 +31,10 @@ const {
3131 */
3232const getRNPackageVersion = ( ( ) => {
3333 const isTesting = "NODE_TEST_CONTEXT" in process . env ;
34+
3435 /** @type {Record<string, number> } */
3536 let versions = { } ;
37+
3638 /** @type {(packageName: string) => number } */
3739 return ( packageName , fs = nodefs ) => {
3840 if ( isTesting || ! versions [ packageName ] ) {
@@ -49,7 +51,12 @@ const getRNPackageVersion = (() => {
4951 * @returns {number }
5052 */
5153function cliPlatformIOSVersion ( ) {
52- return getRNPackageVersion ( "@react-native-community/cli-platform-ios" ) ;
54+ try {
55+ return getRNPackageVersion ( "@react-native-community/cli-platform-ios" ) ;
56+ } catch ( _ ) {
57+ // The returned value doesn't matter when we're on 0.76 or later
58+ return Number . MAX_SAFE_INTEGER ;
59+ }
5360}
5461
5562/**
@@ -61,17 +68,24 @@ function getAndroidPackageName(manifestPath, fs = nodefs) {
6168 return undefined ;
6269 }
6370
64- const rncliAndroidVersion = getRNPackageVersion (
65- "@react-native-community/cli-platform-android" ,
66- fs
67- ) ;
68- if ( rncliAndroidVersion < v ( 12 , 3 , 7 ) ) {
69- // TODO: This block can be removed when we drop support for 0.72
70- return undefined ;
71- }
72- if ( rncliAndroidVersion >= v ( 13 , 0 , 0 ) && rncliAndroidVersion < v ( 13 , 6 , 9 ) ) {
73- // TODO: This block can be removed when we drop support for 0.73
74- return undefined ;
71+ try {
72+ const rncliAndroidVersion = getRNPackageVersion (
73+ "@react-native-community/cli-platform-android" ,
74+ fs
75+ ) ;
76+ if ( rncliAndroidVersion < v ( 12 , 3 , 7 ) ) {
77+ // TODO: This block can be removed when we drop support for 0.72
78+ return undefined ;
79+ }
80+ if (
81+ rncliAndroidVersion >= v ( 13 , 0 , 0 ) &&
82+ rncliAndroidVersion < v ( 13 , 6 , 9 )
83+ ) {
84+ // TODO: This block can be removed when we drop support for 0.73
85+ return undefined ;
86+ }
87+ } catch ( _ ) {
88+ // We're on 0.76 or later
7589 }
7690
7791 /** @type {{ android?: { package?: string }} } */
0 commit comments