@expo/cli 1.0.0-canary-20250320-7a205d3 → 1.0.0-canary-20250402-161f57b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (719) hide show
  1. package/build/bin/cli +93 -91
  2. package/build/bin/cli.map +1 -1
  3. package/build/metro-require/require.js +53 -52
  4. package/build/src/api/endpoint.js +6 -2
  5. package/build/src/api/endpoint.js.map +1 -1
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +5 -3
  7. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  8. package/build/src/api/getExpoSchema.js +16 -12
  9. package/build/src/api/getExpoSchema.js.map +1 -1
  10. package/build/src/api/getNativeModuleVersions.js +6 -4
  11. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  12. package/build/src/api/getProjectDevelopmentCertificate.js +5 -3
  13. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  14. package/build/src/api/getVersions.js +7 -5
  15. package/build/src/api/getVersions.js.map +1 -1
  16. package/build/src/api/graphql/client.js +32 -26
  17. package/build/src/api/graphql/client.js.map +1 -1
  18. package/build/src/api/graphql/queries/AppQuery.js +6 -4
  19. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  20. package/build/src/api/graphql/queries/UserQuery.js +5 -3
  21. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  22. package/build/src/api/graphql/types/App.js +3 -1
  23. package/build/src/api/graphql/types/App.js.map +1 -1
  24. package/build/src/api/rest/cache/FileSystemResponseCache.js +36 -32
  25. package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
  26. package/build/src/api/rest/cache/ResponseCache.js +20 -12
  27. package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +13 -11
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  30. package/build/src/api/rest/client.js +55 -37
  31. package/build/src/api/rest/client.js.map +1 -1
  32. package/build/src/api/rest/client.types.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithBaseUrl.js +5 -3
  34. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithOffline.js +5 -3
  36. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProgress.js +11 -7
  38. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  39. package/build/src/api/rest/wrapFetchWithProxy.js +5 -3
  40. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  41. package/build/src/api/rest/wrapFetchWithUserAgent.js +8 -6
  42. package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
  43. package/build/src/api/settings.js +7 -5
  44. package/build/src/api/settings.js.map +1 -1
  45. package/build/src/api/updateDevelopmentSession.js +23 -17
  46. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  47. package/build/src/api/user/UserSettings.js +53 -31
  48. package/build/src/api/user/UserSettings.js.map +1 -1
  49. package/build/src/api/user/actions.js +27 -21
  50. package/build/src/api/user/actions.js.map +1 -1
  51. package/build/src/api/user/expoSsoLauncher.js +30 -26
  52. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  53. package/build/src/api/user/otp.js +35 -29
  54. package/build/src/api/user/otp.js.map +1 -1
  55. package/build/src/api/user/user.js +44 -30
  56. package/build/src/api/user/user.js.map +1 -1
  57. package/build/src/config/configAsync.js +29 -23
  58. package/build/src/config/configAsync.js.map +1 -1
  59. package/build/src/config/index.js +25 -21
  60. package/build/src/config/index.js.map +1 -1
  61. package/build/src/customize/customizeAsync.js +8 -6
  62. package/build/src/customize/customizeAsync.js.map +1 -1
  63. package/build/src/customize/generate.js +20 -16
  64. package/build/src/customize/generate.js.map +1 -1
  65. package/build/src/customize/index.js +14 -12
  66. package/build/src/customize/index.js.map +1 -1
  67. package/build/src/customize/resolveOptions.js +4 -2
  68. package/build/src/customize/resolveOptions.js.map +1 -1
  69. package/build/src/customize/templates.js +58 -54
  70. package/build/src/customize/templates.js.map +1 -1
  71. package/build/src/customize/typescript.js +11 -7
  72. package/build/src/customize/typescript.js.map +1 -1
  73. package/build/src/export/createMetadataJson.js +11 -9
  74. package/build/src/export/createMetadataJson.js.map +1 -1
  75. package/build/src/export/embed/exportEager.js +8 -6
  76. package/build/src/export/embed/exportEager.js.map +1 -1
  77. package/build/src/export/embed/exportEmbedAsync.js +72 -62
  78. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  79. package/build/src/export/embed/exportServer.js +57 -55
  80. package/build/src/export/embed/exportServer.js.map +1 -1
  81. package/build/src/export/embed/index.js +44 -40
  82. package/build/src/export/embed/index.js.map +1 -1
  83. package/build/src/export/embed/resolveOptions.js +44 -36
  84. package/build/src/export/embed/resolveOptions.js.map +1 -1
  85. package/build/src/export/embed/xcodeCompilerLogger.js +39 -27
  86. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  87. package/build/src/export/exportApp.js +68 -64
  88. package/build/src/export/exportApp.js.map +1 -1
  89. package/build/src/export/exportAssets.js +34 -26
  90. package/build/src/export/exportAssets.js.map +1 -1
  91. package/build/src/export/exportAsync.js +13 -9
  92. package/build/src/export/exportAsync.js.map +1 -1
  93. package/build/src/export/exportDomComponents.js +53 -45
  94. package/build/src/export/exportDomComponents.js.map +1 -1
  95. package/build/src/export/exportHermes.js +75 -53
  96. package/build/src/export/exportHermes.js.map +1 -1
  97. package/build/src/export/exportStaticAsync.js +73 -62
  98. package/build/src/export/exportStaticAsync.js.map +1 -1
  99. package/build/src/export/favicon.js +33 -27
  100. package/build/src/export/favicon.js.map +1 -1
  101. package/build/src/export/getPublicExpoManifest.js +7 -5
  102. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  103. package/build/src/export/getResolvedLocales.js +11 -9
  104. package/build/src/export/getResolvedLocales.js.map +1 -1
  105. package/build/src/export/html.js +10 -6
  106. package/build/src/export/html.js.map +1 -1
  107. package/build/src/export/index.js +32 -28
  108. package/build/src/export/index.js.map +1 -1
  109. package/build/src/export/metroAssetLocalPath.js +36 -30
  110. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  111. package/build/src/export/persistMetroAssets.js +64 -34
  112. package/build/src/export/persistMetroAssets.js.map +1 -1
  113. package/build/src/export/publicFolder.js +10 -6
  114. package/build/src/export/publicFolder.js.map +1 -1
  115. package/build/src/export/resolveOptions.js +28 -24
  116. package/build/src/export/resolveOptions.js.map +1 -1
  117. package/build/src/export/saveAssets.js +50 -46
  118. package/build/src/export/saveAssets.js.map +1 -1
  119. package/build/src/export/web/exportWebAsync.js +13 -11
  120. package/build/src/export/web/exportWebAsync.js.map +1 -1
  121. package/build/src/export/web/index.js +19 -15
  122. package/build/src/export/web/index.js.map +1 -1
  123. package/build/src/export/web/resolveOptions.js +5 -3
  124. package/build/src/export/web/resolveOptions.js.map +1 -1
  125. package/build/src/export/writeContents.js +4 -2
  126. package/build/src/export/writeContents.js.map +1 -1
  127. package/build/src/graphql/generated.js +705 -479
  128. package/build/src/graphql/generated.js.map +1 -1
  129. package/build/src/install/applyPlugins.js +11 -7
  130. package/build/src/install/applyPlugins.js.map +1 -1
  131. package/build/src/install/checkPackages.js +26 -22
  132. package/build/src/install/checkPackages.js.map +1 -1
  133. package/build/src/install/fixPackages.js +16 -12
  134. package/build/src/install/fixPackages.js.map +1 -1
  135. package/build/src/install/index.js +18 -16
  136. package/build/src/install/index.js.map +1 -1
  137. package/build/src/install/installAsync.js +32 -26
  138. package/build/src/install/installAsync.js.map +1 -1
  139. package/build/src/install/installExpoPackage.js +22 -18
  140. package/build/src/install/installExpoPackage.js.map +1 -1
  141. package/build/src/install/resolveOptions.js +21 -19
  142. package/build/src/install/resolveOptions.js.map +1 -1
  143. package/build/src/install/utils/autoAddConfigPlugins.js +18 -14
  144. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  145. package/build/src/install/utils/checkPackagesCompatibility.js +14 -12
  146. package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
  147. package/build/src/lint/ESlintPrerequisite.js +50 -44
  148. package/build/src/lint/ESlintPrerequisite.js.map +1 -1
  149. package/build/src/lint/index.js +12 -8
  150. package/build/src/lint/index.js.map +1 -1
  151. package/build/src/lint/lintAsync.js +10 -8
  152. package/build/src/lint/lintAsync.js.map +1 -1
  153. package/build/src/log.js +36 -16
  154. package/build/src/log.js.map +1 -1
  155. package/build/src/login/index.js +24 -20
  156. package/build/src/login/index.js.map +1 -1
  157. package/build/src/logout/index.js +11 -7
  158. package/build/src/logout/index.js.map +1 -1
  159. package/build/src/prebuild/clearNativeFolder.js +38 -26
  160. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  161. package/build/src/prebuild/configureProjectAsync.js +18 -14
  162. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  163. package/build/src/prebuild/copyTemplateFiles.js +17 -13
  164. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  165. package/build/src/prebuild/ensureConfigAsync.js +6 -4
  166. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  167. package/build/src/prebuild/index.js +36 -32
  168. package/build/src/prebuild/index.js.map +1 -1
  169. package/build/src/prebuild/prebuildAsync.js +29 -25
  170. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  171. package/build/src/prebuild/renameTemplateAppName.js +43 -37
  172. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  173. package/build/src/prebuild/resolveOptions.js +70 -53
  174. package/build/src/prebuild/resolveOptions.js.map +1 -1
  175. package/build/src/prebuild/resolveTemplate.js +36 -32
  176. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  177. package/build/src/prebuild/updateFromTemplate.js +19 -13
  178. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  179. package/build/src/prebuild/updatePackageJson.js +53 -39
  180. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  181. package/build/src/prebuild/validateTemplatePlatforms.js +12 -8
  182. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  183. package/build/src/register/index.js +11 -7
  184. package/build/src/register/index.js.map +1 -1
  185. package/build/src/register/registerAsync.js +5 -3
  186. package/build/src/register/registerAsync.js.map +1 -1
  187. package/build/src/run/android/index.js +36 -32
  188. package/build/src/run/android/index.js.map +1 -1
  189. package/build/src/run/android/resolveDevice.js +10 -8
  190. package/build/src/run/android/resolveDevice.js.map +1 -1
  191. package/build/src/run/android/resolveGradlePropsAsync.js +18 -16
  192. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  193. package/build/src/run/android/resolveInstallApkName.js +17 -15
  194. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  195. package/build/src/run/android/resolveLaunchProps.js +12 -10
  196. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  197. package/build/src/run/android/resolveOptions.js +4 -2
  198. package/build/src/run/android/resolveOptions.js.map +1 -1
  199. package/build/src/run/android/runAndroidAsync.js +23 -21
  200. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  201. package/build/src/run/ensureNativeProject.js +7 -5
  202. package/build/src/run/ensureNativeProject.js.map +1 -1
  203. package/build/src/run/hints.js +13 -7
  204. package/build/src/run/hints.js.map +1 -1
  205. package/build/src/run/index.js +27 -23
  206. package/build/src/run/index.js.map +1 -1
  207. package/build/src/run/ios/XcodeBuild.js +80 -60
  208. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  209. package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
  210. package/build/src/run/ios/appleDevice/AppleDevice.js +69 -63
  211. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  212. package/build/src/run/ios/appleDevice/ClientManager.js +29 -26
  213. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  214. package/build/src/run/ios/appleDevice/client/AFCClient.js +28 -25
  215. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  216. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +29 -26
  217. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  218. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +22 -21
  219. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  220. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +32 -29
  221. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  222. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +28 -24
  223. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  224. package/build/src/run/ios/appleDevice/client/ServiceClient.js +7 -4
  225. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  226. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +28 -27
  227. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  228. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +23 -17
  229. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  230. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +146 -132
  231. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  232. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +29 -21
  233. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  234. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +29 -21
  235. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  236. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +34 -22
  237. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  238. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +27 -17
  239. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  240. package/build/src/run/ios/codeSigning/Security.js +53 -39
  241. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  242. package/build/src/run/ios/codeSigning/configureCodeSigning.js +13 -9
  243. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  244. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +27 -19
  245. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  246. package/build/src/run/ios/codeSigning/settings.js +9 -5
  247. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  248. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +14 -12
  249. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  250. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +27 -21
  251. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  252. package/build/src/run/ios/index.js +40 -36
  253. package/build/src/run/ios/index.js.map +1 -1
  254. package/build/src/run/ios/launchApp.js +23 -17
  255. package/build/src/run/ios/launchApp.js.map +1 -1
  256. package/build/src/run/ios/options/appleDestinations.js +38 -36
  257. package/build/src/run/ios/options/appleDestinations.js.map +1 -1
  258. package/build/src/run/ios/options/promptDevice.js +20 -16
  259. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  260. package/build/src/run/ios/options/resolveDevice.js +30 -24
  261. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  262. package/build/src/run/ios/options/resolveNativeScheme.js +31 -23
  263. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  264. package/build/src/run/ios/options/resolveOptions.js +7 -5
  265. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  266. package/build/src/run/ios/options/resolveXcodeProject.js +7 -5
  267. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  268. package/build/src/run/ios/runIosAsync.js +48 -44
  269. package/build/src/run/ios/runIosAsync.js.map +1 -1
  270. package/build/src/run/ios/validateExternalBinary.js +24 -22
  271. package/build/src/run/ios/validateExternalBinary.js.map +1 -1
  272. package/build/src/run/resolveBundlerProps.js +4 -2
  273. package/build/src/run/resolveBundlerProps.js.map +1 -1
  274. package/build/src/run/startBundler.js +16 -12
  275. package/build/src/run/startBundler.js.map +1 -1
  276. package/build/src/serve/index.js +20 -16
  277. package/build/src/serve/index.js.map +1 -1
  278. package/build/src/serve/serveAsync.js +36 -32
  279. package/build/src/serve/serveAsync.js.map +1 -1
  280. package/build/src/start/detectDevClient.js +13 -9
  281. package/build/src/start/detectDevClient.js.map +1 -1
  282. package/build/src/start/doctor/Prerequisite.js +12 -7
  283. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  284. package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -11
  285. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  286. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +23 -19
  287. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  288. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +23 -19
  289. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  290. package/build/src/start/doctor/apple/XcodePrerequisite.js +51 -45
  291. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  292. package/build/src/start/doctor/apple/XcrunPrerequisite.js +18 -16
  293. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  294. package/build/src/start/doctor/dependencies/bundledNativeModules.js +23 -19
  295. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  296. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +31 -25
  297. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  298. package/build/src/start/doctor/dependencies/getMissingPackages.js +25 -17
  299. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  300. package/build/src/start/doctor/dependencies/getVersionedPackages.js +40 -32
  301. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  302. package/build/src/start/doctor/dependencies/resolvePackages.js +32 -26
  303. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  304. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +41 -31
  305. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  306. package/build/src/start/doctor/ngrok/ExternalModule.js +34 -29
  307. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  308. package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -8
  309. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  310. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +32 -28
  311. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  312. package/build/src/start/doctor/typescript/updateTSConfig.js +23 -17
  313. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  314. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +33 -27
  315. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  316. package/build/src/start/index.js +46 -42
  317. package/build/src/start/index.js.map +1 -1
  318. package/build/src/start/interface/KeyPressHandler.js +18 -14
  319. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  320. package/build/src/start/interface/commandsTable.js +94 -80
  321. package/build/src/start/interface/commandsTable.js.map +1 -1
  322. package/build/src/start/interface/interactiveActions.js +44 -40
  323. package/build/src/start/interface/interactiveActions.js.map +1 -1
  324. package/build/src/start/interface/startInterface.js +65 -61
  325. package/build/src/start/interface/startInterface.js.map +1 -1
  326. package/build/src/start/platforms/AppIdResolver.js +6 -4
  327. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  328. package/build/src/start/platforms/DeviceManager.js +10 -6
  329. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  330. package/build/src/start/platforms/ExpoGoInstaller.js +25 -20
  331. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  332. package/build/src/start/platforms/PlatformManager.js +17 -15
  333. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  334. package/build/src/start/platforms/android/ADBServer.js +39 -35
  335. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  336. package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -16
  337. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  338. package/build/src/start/platforms/android/AndroidDeviceManager.js +24 -20
  339. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  340. package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
  341. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  342. package/build/src/start/platforms/android/AndroidSdk.js +11 -9
  343. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  344. package/build/src/start/platforms/android/activateWindow.js +26 -22
  345. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  346. package/build/src/start/platforms/android/adb.js +121 -83
  347. package/build/src/start/platforms/android/adb.js.map +1 -1
  348. package/build/src/start/platforms/android/adbReverse.js +20 -12
  349. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  350. package/build/src/start/platforms/android/emulator.js +36 -26
  351. package/build/src/start/platforms/android/emulator.js.map +1 -1
  352. package/build/src/start/platforms/android/getDevices.js +7 -5
  353. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  354. package/build/src/start/platforms/android/gradle.js +36 -28
  355. package/build/src/start/platforms/android/gradle.js.map +1 -1
  356. package/build/src/start/platforms/android/promptAndroidDevice.js +19 -15
  357. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  358. package/build/src/start/platforms/ios/AppleAppIdResolver.js +21 -19
  359. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  360. package/build/src/start/platforms/ios/AppleDeviceManager.js +37 -31
  361. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  362. package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
  363. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  364. package/build/src/start/platforms/ios/assertSystemRequirements.js +9 -7
  365. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  366. package/build/src/start/platforms/ios/devicectl.js +88 -74
  367. package/build/src/start/platforms/ios/devicectl.js.map +1 -1
  368. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +22 -18
  369. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  370. package/build/src/start/platforms/ios/getBestSimulator.js +29 -19
  371. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  372. package/build/src/start/platforms/ios/promptAppleDevice.js +14 -10
  373. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  374. package/build/src/start/platforms/ios/simctl.js +102 -74
  375. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  376. package/build/src/start/platforms/ios/simctlLogging.js +57 -52
  377. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  378. package/build/src/start/platforms/ios/xcrun.js +22 -18
  379. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  380. package/build/src/start/project/devices.js +19 -9
  381. package/build/src/start/project/devices.js.map +1 -1
  382. package/build/src/start/project/dotExpo.js +15 -11
  383. package/build/src/start/project/dotExpo.js.map +1 -1
  384. package/build/src/start/project/settings.js +4 -2
  385. package/build/src/start/project/settings.js.map +1 -1
  386. package/build/src/start/resolveOptions.js +48 -40
  387. package/build/src/start/resolveOptions.js.map +1 -1
  388. package/build/src/start/server/AsyncNgrok.js +55 -51
  389. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  390. package/build/src/start/server/AsyncWsTunnel.js +37 -33
  391. package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
  392. package/build/src/start/server/BundlerDevServer.js +81 -79
  393. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  394. package/build/src/start/server/DevServerManager.js +42 -38
  395. package/build/src/start/server/DevServerManager.js.map +1 -1
  396. package/build/src/start/server/DevToolsPluginManager.js +18 -14
  397. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  398. package/build/src/start/server/DevelopmentSession.js +18 -14
  399. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  400. package/build/src/start/server/ReactDevToolsProxy.js +16 -10
  401. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  402. package/build/src/start/server/UrlCreator.js +36 -33
  403. package/build/src/start/server/UrlCreator.js.map +1 -1
  404. package/build/src/start/server/getStaticRenderFunctions.js +30 -22
  405. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  406. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +9 -5
  407. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
  408. package/build/src/start/server/metro/MetroBundlerDevServer.js +293 -280
  409. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  410. package/build/src/start/server/metro/MetroTerminalReporter.js +63 -56
  411. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  412. package/build/src/start/server/metro/TerminalReporter.js +39 -33
  413. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  414. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  415. package/build/src/start/server/metro/createExpoFallbackResolver.js +13 -11
  416. package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -1
  417. package/build/src/start/server/metro/createExpoMetroResolver.js +47 -41
  418. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  419. package/build/src/start/server/metro/createJResolver.js +31 -27
  420. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  421. package/build/src/start/server/metro/createServerComponentsMiddleware.js +110 -98
  422. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  423. package/build/src/start/server/metro/createServerRouteMiddleware.js +34 -30
  424. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  425. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +13 -11
  426. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
  427. package/build/src/start/server/metro/debugging/MessageHandler.js +3 -1
  428. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  429. package/build/src/start/server/metro/debugging/attachAtlas.js +26 -22
  430. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
  431. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +19 -17
  432. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  433. package/build/src/start/server/metro/debugging/createHandlersFactory.js +25 -31
  434. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  435. package/build/src/start/server/metro/debugging/getDebuggerType.js +6 -4
  436. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  437. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +14 -8
  438. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  439. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -5
  440. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  441. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +8 -6
  442. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  443. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -5
  444. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  445. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +14 -12
  446. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
  447. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +14 -10
  448. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  449. package/build/src/start/server/metro/debugging/pageIsSupported.js +6 -4
  450. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  451. package/build/src/start/server/metro/debugging/types.js.map +1 -1
  452. package/build/src/start/server/metro/dev-server/createEventSocket.js +18 -16
  453. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
  454. package/build/src/start/server/metro/dev-server/createMessageSocket.js +23 -21
  455. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
  456. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +23 -21
  457. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
  458. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +4 -2
  459. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
  460. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +4 -2
  461. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
  462. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +8 -4
  463. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
  464. package/build/src/start/server/metro/externals.js +33 -25
  465. package/build/src/start/server/metro/externals.js.map +1 -1
  466. package/build/src/start/server/metro/fetchRouterManifest.js +28 -12
  467. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  468. package/build/src/start/server/metro/formatFileCandidates.js +11 -9
  469. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  470. package/build/src/start/server/metro/getCssModulesFromBundler.js +24 -20
  471. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  472. package/build/src/start/server/metro/instantiateMetro.js +87 -81
  473. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  474. package/build/src/start/server/metro/log-box/LogBoxLog.js +40 -36
  475. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
  476. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +20 -14
  477. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
  478. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +10 -6
  479. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
  480. package/build/src/start/server/metro/metroErrorInterface.js +88 -78
  481. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  482. package/build/src/start/server/metro/metroErrors.js +8 -4
  483. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  484. package/build/src/start/server/metro/metroPrivateServer.js +9 -7
  485. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
  486. package/build/src/start/server/metro/metroVirtualModules.js +10 -8
  487. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  488. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +24 -22
  489. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  490. package/build/src/start/server/metro/router.js +48 -32
  491. package/build/src/start/server/metro/router.js.map +1 -1
  492. package/build/src/start/server/metro/runServer-fork.js +24 -22
  493. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  494. package/build/src/start/server/metro/serializeHtml.js +24 -22
  495. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  496. package/build/src/start/server/metro/symbolicate.js.map +1 -1
  497. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +35 -29
  498. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  499. package/build/src/start/server/metro/withMetroMultiPlatform.js +150 -140
  500. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  501. package/build/src/start/server/metro/withMetroResolvers.js +49 -39
  502. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  503. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +8 -6
  504. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  505. package/build/src/start/server/middleware/CorsMiddleware.js +17 -15
  506. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  507. package/build/src/start/server/middleware/CreateFileMiddleware.js +32 -31
  508. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  509. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +22 -19
  510. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  511. package/build/src/start/server/middleware/DomComponentsMiddleware.js +33 -27
  512. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  513. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +61 -57
  514. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  515. package/build/src/start/server/middleware/ExpoMiddleware.js +15 -9
  516. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  517. package/build/src/start/server/middleware/FaviconMiddleware.js +16 -15
  518. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  519. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +4 -2
  520. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  521. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +34 -31
  522. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  523. package/build/src/start/server/middleware/ManifestMiddleware.js +64 -56
  524. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  525. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +23 -19
  526. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  527. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +20 -19
  528. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  529. package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -9
  530. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  531. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +17 -11
  532. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
  533. package/build/src/start/server/middleware/inspector/CdpClient.js +12 -10
  534. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
  535. package/build/src/start/server/middleware/inspector/JsInspector.js +35 -27
  536. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  537. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +21 -19
  538. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  539. package/build/src/start/server/middleware/inspector/middlwareMutations.js +6 -2
  540. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  541. package/build/src/start/server/middleware/metroOptions.js +120 -96
  542. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  543. package/build/src/start/server/middleware/mutations.js +7 -3
  544. package/build/src/start/server/middleware/mutations.js.map +1 -1
  545. package/build/src/start/server/middleware/resolveAssets.js +26 -18
  546. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  547. package/build/src/start/server/middleware/resolvePlatform.js +23 -15
  548. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  549. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +11 -9
  550. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
  551. package/build/src/start/server/middleware/server.types.js.map +1 -1
  552. package/build/src/start/server/openPlatforms.js +10 -8
  553. package/build/src/start/server/openPlatforms.js.map +1 -1
  554. package/build/src/start/server/platformBundlers.js +13 -11
  555. package/build/src/start/server/platformBundlers.js.map +1 -1
  556. package/build/src/start/server/serverLogLikeMetro.js +58 -50
  557. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  558. package/build/src/start/server/type-generation/expo-env.js +11 -7
  559. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  560. package/build/src/start/server/type-generation/routes.js +72 -50
  561. package/build/src/start/server/type-generation/routes.js.map +1 -1
  562. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +21 -19
  563. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  564. package/build/src/start/server/type-generation/tsconfig.js +36 -28
  565. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  566. package/build/src/start/server/webTemplate.js +28 -24
  567. package/build/src/start/server/webTemplate.js.map +1 -1
  568. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +52 -46
  569. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  570. package/build/src/start/server/webpack/compile.js +15 -11
  571. package/build/src/start/server/webpack/compile.js.map +1 -1
  572. package/build/src/start/server/webpack/formatWebpackMessages.js +28 -26
  573. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  574. package/build/src/start/server/webpack/resolveFromProject.js +18 -12
  575. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  576. package/build/src/start/server/webpack/tls.js +18 -12
  577. package/build/src/start/server/webpack/tls.js.map +1 -1
  578. package/build/src/start/startAsync.js +31 -27
  579. package/build/src/start/startAsync.js.map +1 -1
  580. package/build/src/utils/FileNotifier.js +20 -17
  581. package/build/src/utils/FileNotifier.js.map +1 -1
  582. package/build/src/utils/ansi.js +7 -5
  583. package/build/src/utils/ansi.js.map +1 -1
  584. package/build/src/utils/args.js +24 -14
  585. package/build/src/utils/args.js.map +1 -1
  586. package/build/src/utils/array.js +18 -6
  587. package/build/src/utils/array.js.map +1 -1
  588. package/build/src/utils/cocoapods.js +54 -46
  589. package/build/src/utils/cocoapods.js.map +1 -1
  590. package/build/src/utils/codesigning.js +79 -69
  591. package/build/src/utils/codesigning.js.map +1 -1
  592. package/build/src/utils/createFileTransform.js +16 -12
  593. package/build/src/utils/createFileTransform.js.map +1 -1
  594. package/build/src/utils/createTempPath.js +12 -8
  595. package/build/src/utils/createTempPath.js.map +1 -1
  596. package/build/src/utils/delay.js +12 -6
  597. package/build/src/utils/delay.js.map +1 -1
  598. package/build/src/utils/dir.js +40 -22
  599. package/build/src/utils/dir.js.map +1 -1
  600. package/build/src/utils/downloadAppAsync.js +10 -8
  601. package/build/src/utils/downloadAppAsync.js.map +1 -1
  602. package/build/src/utils/downloadExpoGoAsync.js +27 -23
  603. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  604. package/build/src/utils/editor.js +41 -35
  605. package/build/src/utils/editor.js.map +1 -1
  606. package/build/src/utils/env.js +63 -59
  607. package/build/src/utils/env.js.map +1 -1
  608. package/build/src/utils/errors.js +37 -30
  609. package/build/src/utils/errors.js.map +1 -1
  610. package/build/src/utils/exit.js +35 -31
  611. package/build/src/utils/exit.js.map +1 -1
  612. package/build/src/utils/expoUpdatesCli.js +32 -22
  613. package/build/src/utils/expoUpdatesCli.js.map +1 -1
  614. package/build/src/utils/fetch.js +8 -4
  615. package/build/src/utils/fetch.js.map +1 -1
  616. package/build/src/utils/filePath.js +10 -6
  617. package/build/src/utils/filePath.js.map +1 -1
  618. package/build/src/utils/findUp.js +13 -9
  619. package/build/src/utils/findUp.js.map +1 -1
  620. package/build/src/utils/fn.js +6 -2
  621. package/build/src/utils/fn.js.map +1 -1
  622. package/build/src/utils/getOrPromptApplicationId.js +41 -35
  623. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  624. package/build/src/utils/getRunningProcess.js +29 -21
  625. package/build/src/utils/getRunningProcess.js.map +1 -1
  626. package/build/src/utils/git.js +26 -20
  627. package/build/src/utils/git.js.map +1 -1
  628. package/build/src/utils/glob.js +8 -4
  629. package/build/src/utils/glob.js.map +1 -1
  630. package/build/src/utils/interactive.js +3 -1
  631. package/build/src/utils/interactive.js.map +1 -1
  632. package/build/src/utils/ip.js +21 -19
  633. package/build/src/utils/ip.js.map +1 -1
  634. package/build/src/utils/isModuleSymlinked.js +11 -9
  635. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  636. package/build/src/utils/jsonSchemaDeref.js +20 -18
  637. package/build/src/utils/jsonSchemaDeref.js.map +1 -1
  638. package/build/src/utils/link.js +17 -13
  639. package/build/src/utils/link.js.map +1 -1
  640. package/build/src/utils/mergeGitIgnorePaths.js +46 -28
  641. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  642. package/build/src/utils/modifyConfigAsync.js +16 -10
  643. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  644. package/build/src/utils/modifyConfigPlugins.js +10 -6
  645. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  646. package/build/src/utils/multipartMixed.js +13 -11
  647. package/build/src/utils/multipartMixed.js.map +1 -1
  648. package/build/src/utils/nodeEnv.js +12 -6
  649. package/build/src/utils/nodeEnv.js.map +1 -1
  650. package/build/src/utils/nodeModules.js +10 -8
  651. package/build/src/utils/nodeModules.js.map +1 -1
  652. package/build/src/utils/npm.js +49 -35
  653. package/build/src/utils/npm.js.map +1 -1
  654. package/build/src/utils/obj.js +11 -5
  655. package/build/src/utils/obj.js.map +1 -1
  656. package/build/src/utils/open.js +10 -8
  657. package/build/src/utils/open.js.map +1 -1
  658. package/build/src/utils/ora.js +13 -7
  659. package/build/src/utils/ora.js.map +1 -1
  660. package/build/src/utils/plist.js +21 -15
  661. package/build/src/utils/plist.js.map +1 -1
  662. package/build/src/utils/port.js +43 -33
  663. package/build/src/utils/port.js.map +1 -1
  664. package/build/src/utils/profile.js +11 -7
  665. package/build/src/utils/profile.js.map +1 -1
  666. package/build/src/utils/progress.js +11 -5
  667. package/build/src/utils/progress.js.map +1 -1
  668. package/build/src/utils/prompts.js +47 -29
  669. package/build/src/utils/prompts.js.map +1 -1
  670. package/build/src/utils/resolveArgs.js +36 -24
  671. package/build/src/utils/resolveArgs.js.map +1 -1
  672. package/build/src/utils/scheme.js +40 -32
  673. package/build/src/utils/scheme.js.map +1 -1
  674. package/build/src/utils/stream.js +5 -3
  675. package/build/src/utils/stream.js.map +1 -1
  676. package/build/src/utils/strings.js +6 -4
  677. package/build/src/utils/strings.js.map +1 -1
  678. package/build/src/utils/tar.js +18 -14
  679. package/build/src/utils/tar.js.map +1 -1
  680. package/build/src/utils/telemetry/Telemetry.js +29 -27
  681. package/build/src/utils/telemetry/Telemetry.js.map +1 -1
  682. package/build/src/utils/telemetry/clients/FetchClient.js +15 -13
  683. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
  684. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +26 -22
  685. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
  686. package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
  687. package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
  688. package/build/src/utils/telemetry/events.js +4 -2
  689. package/build/src/utils/telemetry/events.js.map +1 -1
  690. package/build/src/utils/telemetry/index.js +25 -29
  691. package/build/src/utils/telemetry/index.js.map +1 -1
  692. package/build/src/utils/telemetry/types.js.map +1 -1
  693. package/build/src/utils/telemetry/utils/constants.js +8 -4
  694. package/build/src/utils/telemetry/utils/constants.js.map +1 -1
  695. package/build/src/utils/telemetry/utils/context.js +18 -14
  696. package/build/src/utils/telemetry/utils/context.js.map +1 -1
  697. package/build/src/utils/template.js +6 -4
  698. package/build/src/utils/template.js.map +1 -1
  699. package/build/src/utils/terminal.js +4 -2
  700. package/build/src/utils/terminal.js.map +1 -1
  701. package/build/src/utils/tsconfig/evaluateTsConfig.js +21 -17
  702. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  703. package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -14
  704. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  705. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +7 -5
  706. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  707. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +14 -12
  708. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  709. package/build/src/utils/url.js +23 -13
  710. package/build/src/utils/url.js.map +1 -1
  711. package/build/src/utils/validateApplicationId.js +108 -86
  712. package/build/src/utils/validateApplicationId.js.map +1 -1
  713. package/build/src/utils/variadic.js +22 -16
  714. package/build/src/utils/variadic.js.map +1 -1
  715. package/build/src/whoami/index.js +11 -7
  716. package/build/src/whoami/index.js.map +1 -1
  717. package/build/src/whoami/whoamiAsync.js +11 -7
  718. package/build/src/whoami/whoamiAsync.js.map +1 -1
  719. package/package.json +17 -16
@@ -4,31 +4,33 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "SecurityBinPrerequisite", {
6
6
  enumerable: true,
7
- get: ()=>SecurityBinPrerequisite
7
+ get: function() {
8
+ return SecurityBinPrerequisite;
9
+ }
8
10
  });
9
- function _spawnAsync() {
10
- const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
11
- _spawnAsync = function() {
11
+ function _spawnasync() {
12
+ const data = /*#__PURE__*/ _interop_require_default(require("@expo/spawn-async"));
13
+ _spawnasync = function() {
12
14
  return data;
13
15
  };
14
16
  return data;
15
17
  }
16
- const _prerequisite = require("./Prerequisite");
17
- function _interopRequireDefault(obj) {
18
+ const _Prerequisite = require("./Prerequisite");
19
+ function _interop_require_default(obj) {
18
20
  return obj && obj.__esModule ? obj : {
19
21
  default: obj
20
22
  };
21
23
  }
22
- class SecurityBinPrerequisite extends _prerequisite.Prerequisite {
23
- static instance = new SecurityBinPrerequisite();
24
+ class SecurityBinPrerequisite extends _Prerequisite.Prerequisite {
25
+ static #_ = this.instance = new SecurityBinPrerequisite();
24
26
  async assertImplementation() {
25
27
  try {
26
28
  // make sure we can run security
27
- await (0, _spawnAsync().default)("which", [
28
- "security"
29
+ await (0, _spawnasync().default)('which', [
30
+ 'security'
29
31
  ]);
30
32
  } catch {
31
- throw new _prerequisite.PrerequisiteCommandError("SECURITY_BIN", "Cannot code sign project because the CLI `security` is not available on your computer.\nPlease ensure it's installed and try again.");
33
+ throw new _Prerequisite.PrerequisiteCommandError('SECURITY_BIN', "Cannot code sign project because the CLI `security` is not available on your computer.\nPlease ensure it's installed and try again.");
32
34
  }
33
35
  }
34
36
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/start/doctor/SecurityBinPrerequisite.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\n\nimport { Prerequisite, PrerequisiteCommandError } from './Prerequisite';\n\nexport class SecurityBinPrerequisite extends Prerequisite {\n static instance = new SecurityBinPrerequisite();\n\n async assertImplementation(): Promise<void> {\n try {\n // make sure we can run security\n await spawnAsync('which', ['security']);\n } catch {\n throw new PrerequisiteCommandError(\n 'SECURITY_BIN',\n \"Cannot code sign project because the CLI `security` is not available on your computer.\\nPlease ensure it's installed and try again.\"\n );\n }\n }\n}\n"],"names":["SecurityBinPrerequisite","Prerequisite","instance","assertImplementation","spawnAsync","PrerequisiteCommandError"],"mappings":"AAAA;;;;+BAIaA,yBAAuB;;aAAvBA,uBAAuB;;;8DAJb,mBAAmB;;;;;;8BAEa,gBAAgB;;;;;;AAEhE,MAAMA,uBAAuB,SAASC,aAAY,aAAA;IACvD,OAAOC,QAAQ,GAAG,IAAIF,uBAAuB,EAAE,CAAC;UAE1CG,oBAAoB,GAAkB;QAC1C,IAAI;YACF,gCAAgC;YAChC,MAAMC,IAAAA,WAAU,EAAA,QAAA,EAAC,OAAO,EAAE;gBAAC,UAAU;aAAC,CAAC,CAAC;QAC1C,EAAE,OAAM;YACN,MAAM,IAAIC,aAAwB,yBAAA,CAChC,cAAc,EACd,qIAAqI,CACtI,CAAC;QACJ,CAAC;IACH;CACD"}
1
+ {"version":3,"sources":["../../../../src/start/doctor/SecurityBinPrerequisite.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\n\nimport { Prerequisite, PrerequisiteCommandError } from './Prerequisite';\n\nexport class SecurityBinPrerequisite extends Prerequisite {\n static instance = new SecurityBinPrerequisite();\n\n async assertImplementation(): Promise<void> {\n try {\n // make sure we can run security\n await spawnAsync('which', ['security']);\n } catch {\n throw new PrerequisiteCommandError(\n 'SECURITY_BIN',\n \"Cannot code sign project because the CLI `security` is not available on your computer.\\nPlease ensure it's installed and try again.\"\n );\n }\n }\n}\n"],"names":["SecurityBinPrerequisite","Prerequisite","instance","assertImplementation","spawnAsync","PrerequisiteCommandError"],"mappings":";;;;+BAIaA;;;eAAAA;;;;gEAJU;;;;;;8BAEgC;;;;;;AAEhD,MAAMA,gCAAgCC,0BAAY;qBAChDC,WAAW,IAAIF;IAEtB,MAAMG,uBAAsC;QAC1C,IAAI;YACF,gCAAgC;YAChC,MAAMC,IAAAA,qBAAU,EAAC,SAAS;gBAAC;aAAW;QACxC,EAAE,OAAM;YACN,MAAM,IAAIC,sCAAwB,CAChC,gBACA;QAEJ;IACF;AACF"}
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "SimulatorAppPrerequisite", {
6
6
  enumerable: true,
7
- get: ()=>SimulatorAppPrerequisite
7
+ get: function() {
8
+ return SimulatorAppPrerequisite;
9
+ }
8
10
  });
9
11
  function _osascript() {
10
12
  const data = require("@expo/osascript");
@@ -13,16 +15,16 @@ function _osascript() {
13
15
  };
14
16
  return data;
15
17
  }
16
- function _spawnAsync() {
17
- const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
18
- _spawnAsync = function() {
18
+ function _spawnasync() {
19
+ const data = /*#__PURE__*/ _interop_require_default(require("@expo/spawn-async"));
20
+ _spawnasync = function() {
19
21
  return data;
20
22
  };
21
23
  return data;
22
24
  }
23
- const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../../log"));
24
- const _prerequisite = require("../Prerequisite");
25
- function _interopRequireDefault(obj) {
25
+ const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../../log"));
26
+ const _Prerequisite = require("../Prerequisite");
27
+ function _interop_require_default(obj) {
26
28
  return obj && obj.__esModule ? obj : {
27
29
  default: obj
28
30
  };
@@ -35,7 +37,7 @@ function _getRequireWildcardCache(nodeInterop) {
35
37
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
36
38
  })(nodeInterop);
37
39
  }
38
- function _interopRequireWildcard(obj, nodeInterop) {
40
+ function _interop_require_wildcard(obj, nodeInterop) {
39
41
  if (!nodeInterop && obj && obj.__esModule) {
40
42
  return obj;
41
43
  }
@@ -48,7 +50,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
48
50
  if (cache && cache.has(obj)) {
49
51
  return cache.get(obj);
50
52
  }
51
- var newObj = {};
53
+ var newObj = {
54
+ __proto__: null
55
+ };
52
56
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
53
57
  for(var key in obj){
54
58
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -66,7 +70,7 @@ function _interopRequireWildcard(obj, nodeInterop) {
66
70
  }
67
71
  return newObj;
68
72
  }
69
- const debug = require("debug")("expo:doctor:apple:simulatorApp");
73
+ const debug = require('debug')('expo:doctor:apple:simulatorApp');
70
74
  async function getSimulatorAppIdAsync() {
71
75
  try {
72
76
  return (await (0, _osascript().execAsync)('id of app "Simulator"')).trim();
@@ -75,27 +79,27 @@ async function getSimulatorAppIdAsync() {
75
79
  }
76
80
  return null;
77
81
  }
78
- class SimulatorAppPrerequisite extends _prerequisite.Prerequisite {
79
- static instance = new SimulatorAppPrerequisite();
82
+ class SimulatorAppPrerequisite extends _Prerequisite.Prerequisite {
83
+ static #_ = this.instance = new SimulatorAppPrerequisite();
80
84
  async assertImplementation() {
81
85
  const result = await getSimulatorAppIdAsync();
82
86
  if (!result) {
83
87
  // This error may occur in CI where the users intends to install just the simulators but no Xcode.
84
- throw new _prerequisite.PrerequisiteCommandError("SIMULATOR_APP", "Can't determine id of Simulator app; the Simulator is most likely not installed on this machine. Run `sudo xcode-select -s /Applications/Xcode.app`");
88
+ throw new _Prerequisite.PrerequisiteCommandError('SIMULATOR_APP', "Can't determine id of Simulator app; the Simulator is most likely not installed on this machine. Run `sudo xcode-select -s /Applications/Xcode.app`");
85
89
  }
86
- if (result !== "com.apple.iphonesimulator" && result !== "com.apple.CoreSimulator.SimulatorTrampoline") {
87
- throw new _prerequisite.PrerequisiteCommandError("SIMULATOR_APP", "Simulator is installed but is identified as '" + result + "'; don't know what that is.");
90
+ if (result !== 'com.apple.iphonesimulator' && result !== 'com.apple.CoreSimulator.SimulatorTrampoline') {
91
+ throw new _Prerequisite.PrerequisiteCommandError('SIMULATOR_APP', "Simulator is installed but is identified as '" + result + "'; don't know what that is.");
88
92
  }
89
93
  debug(`Simulator app id: ${result}`);
90
94
  try {
91
95
  // make sure we can run simctl
92
- await (0, _spawnAsync().default)("xcrun", [
93
- "simctl",
94
- "help"
96
+ await (0, _spawnasync().default)('xcrun', [
97
+ 'simctl',
98
+ 'help'
95
99
  ]);
96
100
  } catch (error) {
97
101
  _log.warn(`Unable to run simctl:\n${error.toString()}`);
98
- throw new _prerequisite.PrerequisiteCommandError("SIMCTL", "xcrun is not configured correctly. Ensure `sudo xcode-select --reset` works before running this command again.");
102
+ throw new _Prerequisite.PrerequisiteCommandError('SIMCTL', 'xcrun is not configured correctly. Ensure `sudo xcode-select --reset` works before running this command again.');
99
103
  }
100
104
  }
101
105
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/doctor/apple/SimulatorAppPrerequisite.ts"],"sourcesContent":["import { execAsync } from '@expo/osascript';\nimport spawnAsync from '@expo/spawn-async';\n\nimport * as Log from '../../../log';\nimport { Prerequisite, PrerequisiteCommandError } from '../Prerequisite';\n\nconst debug = require('debug')('expo:doctor:apple:simulatorApp') as typeof console.log;\n\nasync function getSimulatorAppIdAsync(): Promise<string | null> {\n try {\n return (await execAsync('id of app \"Simulator\"')).trim();\n } catch {\n // This error may occur in CI where the users intends to install just the simulators but no Xcode.\n }\n return null;\n}\n\nexport class SimulatorAppPrerequisite extends Prerequisite {\n static instance = new SimulatorAppPrerequisite();\n\n async assertImplementation(): Promise<void> {\n const result = await getSimulatorAppIdAsync();\n if (!result) {\n // This error may occur in CI where the users intends to install just the simulators but no Xcode.\n throw new PrerequisiteCommandError(\n 'SIMULATOR_APP',\n \"Can't determine id of Simulator app; the Simulator is most likely not installed on this machine. Run `sudo xcode-select -s /Applications/Xcode.app`\"\n );\n }\n if (\n result !== 'com.apple.iphonesimulator' &&\n result !== 'com.apple.CoreSimulator.SimulatorTrampoline'\n ) {\n throw new PrerequisiteCommandError(\n 'SIMULATOR_APP',\n \"Simulator is installed but is identified as '\" + result + \"'; don't know what that is.\"\n );\n }\n debug(`Simulator app id: ${result}`);\n\n try {\n // make sure we can run simctl\n await spawnAsync('xcrun', ['simctl', 'help']);\n } catch (error: any) {\n Log.warn(`Unable to run simctl:\\n${error.toString()}`);\n throw new PrerequisiteCommandError(\n 'SIMCTL',\n 'xcrun is not configured correctly. Ensure `sudo xcode-select --reset` works before running this command again.'\n );\n }\n }\n}\n"],"names":["SimulatorAppPrerequisite","debug","require","getSimulatorAppIdAsync","execAsync","trim","Prerequisite","instance","assertImplementation","result","PrerequisiteCommandError","spawnAsync","error","Log","warn","toString"],"mappings":"AAAA;;;;+BAiBaA,0BAAwB;;aAAxBA,wBAAwB;;;yBAjBX,iBAAiB;;;;;;;8DACpB,mBAAmB;;;;;;2DAErB,cAAc;8BACoB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExE,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,gCAAgC,CAAC,AAAsB,AAAC;AAEvF,eAAeC,sBAAsB,GAA2B;IAC9D,IAAI;QACF,OAAO,CAAC,MAAMC,IAAAA,UAAS,EAAA,UAAA,EAAC,uBAAuB,CAAC,CAAC,CAACC,IAAI,EAAE,CAAC;IAC3D,EAAE,OAAM;IACN,kGAAkG;IACpG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,MAAML,wBAAwB,SAASM,aAAY,aAAA;IACxD,OAAOC,QAAQ,GAAG,IAAIP,wBAAwB,EAAE,CAAC;UAE3CQ,oBAAoB,GAAkB;QAC1C,MAAMC,MAAM,GAAG,MAAMN,sBAAsB,EAAE,AAAC;QAC9C,IAAI,CAACM,MAAM,EAAE;YACX,kGAAkG;YAClG,MAAM,IAAIC,aAAwB,yBAAA,CAChC,eAAe,EACf,qJAAqJ,CACtJ,CAAC;QACJ,CAAC;QACD,IACED,MAAM,KAAK,2BAA2B,IACtCA,MAAM,KAAK,6CAA6C,EACxD;YACA,MAAM,IAAIC,aAAwB,yBAAA,CAChC,eAAe,EACf,+CAA+C,GAAGD,MAAM,GAAG,6BAA6B,CACzF,CAAC;QACJ,CAAC;QACDR,KAAK,CAAC,CAAC,kBAAkB,EAAEQ,MAAM,CAAC,CAAC,CAAC,CAAC;QAErC,IAAI;YACF,8BAA8B;YAC9B,MAAME,IAAAA,WAAU,EAAA,QAAA,EAAC,OAAO,EAAE;gBAAC,QAAQ;gBAAE,MAAM;aAAC,CAAC,CAAC;QAChD,EAAE,OAAOC,KAAK,EAAO;YACnBC,IAAG,CAACC,IAAI,CAAC,CAAC,uBAAuB,EAAEF,KAAK,CAACG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,IAAIL,aAAwB,yBAAA,CAChC,QAAQ,EACR,gHAAgH,CACjH,CAAC;QACJ,CAAC;IACH;CACD"}
1
+ {"version":3,"sources":["../../../../../src/start/doctor/apple/SimulatorAppPrerequisite.ts"],"sourcesContent":["import { execAsync } from '@expo/osascript';\nimport spawnAsync from '@expo/spawn-async';\n\nimport * as Log from '../../../log';\nimport { Prerequisite, PrerequisiteCommandError } from '../Prerequisite';\n\nconst debug = require('debug')('expo:doctor:apple:simulatorApp') as typeof console.log;\n\nasync function getSimulatorAppIdAsync(): Promise<string | null> {\n try {\n return (await execAsync('id of app \"Simulator\"')).trim();\n } catch {\n // This error may occur in CI where the users intends to install just the simulators but no Xcode.\n }\n return null;\n}\n\nexport class SimulatorAppPrerequisite extends Prerequisite {\n static instance = new SimulatorAppPrerequisite();\n\n async assertImplementation(): Promise<void> {\n const result = await getSimulatorAppIdAsync();\n if (!result) {\n // This error may occur in CI where the users intends to install just the simulators but no Xcode.\n throw new PrerequisiteCommandError(\n 'SIMULATOR_APP',\n \"Can't determine id of Simulator app; the Simulator is most likely not installed on this machine. Run `sudo xcode-select -s /Applications/Xcode.app`\"\n );\n }\n if (\n result !== 'com.apple.iphonesimulator' &&\n result !== 'com.apple.CoreSimulator.SimulatorTrampoline'\n ) {\n throw new PrerequisiteCommandError(\n 'SIMULATOR_APP',\n \"Simulator is installed but is identified as '\" + result + \"'; don't know what that is.\"\n );\n }\n debug(`Simulator app id: ${result}`);\n\n try {\n // make sure we can run simctl\n await spawnAsync('xcrun', ['simctl', 'help']);\n } catch (error: any) {\n Log.warn(`Unable to run simctl:\\n${error.toString()}`);\n throw new PrerequisiteCommandError(\n 'SIMCTL',\n 'xcrun is not configured correctly. Ensure `sudo xcode-select --reset` works before running this command again.'\n );\n }\n }\n}\n"],"names":["SimulatorAppPrerequisite","debug","require","getSimulatorAppIdAsync","execAsync","trim","Prerequisite","instance","assertImplementation","result","PrerequisiteCommandError","spawnAsync","error","Log","warn","toString"],"mappings":";;;;+BAiBaA;;;eAAAA;;;;yBAjBa;;;;;;;gEACH;;;;;;6DAEF;8BACkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,MAAMC,QAAQC,QAAQ,SAAS;AAE/B,eAAeC;IACb,IAAI;QACF,OAAO,AAAC,CAAA,MAAMC,IAAAA,sBAAS,EAAC,wBAAuB,EAAGC,IAAI;IACxD,EAAE,OAAM;IACN,kGAAkG;IACpG;IACA,OAAO;AACT;AAEO,MAAML,iCAAiCM,0BAAY;qBACjDC,WAAW,IAAIP;IAEtB,MAAMQ,uBAAsC;QAC1C,MAAMC,SAAS,MAAMN;QACrB,IAAI,CAACM,QAAQ;YACX,kGAAkG;YAClG,MAAM,IAAIC,sCAAwB,CAChC,iBACA;QAEJ;QACA,IACED,WAAW,+BACXA,WAAW,+CACX;YACA,MAAM,IAAIC,sCAAwB,CAChC,iBACA,kDAAkDD,SAAS;QAE/D;QACAR,MAAM,CAAC,kBAAkB,EAAEQ,QAAQ;QAEnC,IAAI;YACF,8BAA8B;YAC9B,MAAME,IAAAA,qBAAU,EAAC,SAAS;gBAAC;gBAAU;aAAO;QAC9C,EAAE,OAAOC,OAAY;YACnBC,KAAIC,IAAI,CAAC,CAAC,uBAAuB,EAAEF,MAAMG,QAAQ,IAAI;YACrD,MAAM,IAAIL,sCAAwB,CAChC,UACA;QAEJ;IACF;AACF"}
@@ -4,25 +4,27 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "XcodeDeveloperDiskImagePrerequisite", {
6
6
  enumerable: true,
7
- get: ()=>XcodeDeveloperDiskImagePrerequisite
7
+ get: function() {
8
+ return XcodeDeveloperDiskImagePrerequisite;
9
+ }
8
10
  });
9
- function _spawnAsync() {
10
- const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
11
- _spawnAsync = function() {
11
+ function _spawnasync() {
12
+ const data = /*#__PURE__*/ _interop_require_default(require("@expo/spawn-async"));
13
+ _spawnasync = function() {
12
14
  return data;
13
15
  };
14
16
  return data;
15
17
  }
16
18
  function _promises() {
17
- const data = /*#__PURE__*/ _interopRequireDefault(require("fs/promises"));
19
+ const data = /*#__PURE__*/ _interop_require_default(require("fs/promises"));
18
20
  _promises = function() {
19
21
  return data;
20
22
  };
21
23
  return data;
22
24
  }
23
- const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../../log"));
24
- const _prerequisite = require("../Prerequisite");
25
- function _interopRequireDefault(obj) {
25
+ const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../../log"));
26
+ const _Prerequisite = require("../Prerequisite");
27
+ function _interop_require_default(obj) {
26
28
  return obj && obj.__esModule ? obj : {
27
29
  default: obj
28
30
  };
@@ -35,7 +37,7 @@ function _getRequireWildcardCache(nodeInterop) {
35
37
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
36
38
  })(nodeInterop);
37
39
  }
38
- function _interopRequireWildcard(obj, nodeInterop) {
40
+ function _interop_require_wildcard(obj, nodeInterop) {
39
41
  if (!nodeInterop && obj && obj.__esModule) {
40
42
  return obj;
41
43
  }
@@ -48,7 +50,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
48
50
  if (cache && cache.has(obj)) {
49
51
  return cache.get(obj);
50
52
  }
51
- var newObj = {};
53
+ var newObj = {
54
+ __proto__: null
55
+ };
52
56
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
53
57
  for(var key in obj){
54
58
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -66,11 +70,11 @@ function _interopRequireWildcard(obj, nodeInterop) {
66
70
  }
67
71
  return newObj;
68
72
  }
69
- const ERROR_CODE = "XCODE_DEVELOPER_DISK_IMAGE";
73
+ const ERROR_CODE = 'XCODE_DEVELOPER_DISK_IMAGE';
70
74
  async function getXcodePathAsync() {
71
75
  try {
72
- const { stdout } = await (0, _spawnAsync().default)("xcode-select", [
73
- "-p"
76
+ const { stdout } = await (0, _spawnasync().default)('xcode-select', [
77
+ '-p'
74
78
  ]);
75
79
  if (stdout) {
76
80
  return stdout.trim();
@@ -78,24 +82,24 @@ async function getXcodePathAsync() {
78
82
  } catch (error) {
79
83
  _log.debug(`Could not find Xcode path: %O`, error);
80
84
  }
81
- throw new _prerequisite.PrerequisiteCommandError(ERROR_CODE, "Unable to locate Xcode.");
85
+ throw new _Prerequisite.PrerequisiteCommandError(ERROR_CODE, 'Unable to locate Xcode.');
82
86
  }
83
- class XcodeDeveloperDiskImagePrerequisite extends _prerequisite.Prerequisite {
84
- static instance = new XcodeDeveloperDiskImagePrerequisite();
85
- async assertImplementation({ version }) {
87
+ class XcodeDeveloperDiskImagePrerequisite extends _Prerequisite.Prerequisite {
88
+ static #_ = this.instance = new XcodeDeveloperDiskImagePrerequisite();
89
+ async assertImplementation({ version }) {
86
90
  const xcodePath = await getXcodePathAsync();
87
91
  // Like "11.2 (15C107)"
88
92
  const versions = await _promises().default.readdir(`${xcodePath}/Platforms/iPhoneOS.platform/DeviceSupport/`);
89
93
  const prefix = version.match(/\d+\.\d+/);
90
94
  if (prefix === null) {
91
- throw new _prerequisite.PrerequisiteCommandError(ERROR_CODE, `Invalid iOS version: ${version}`);
95
+ throw new _Prerequisite.PrerequisiteCommandError(ERROR_CODE, `Invalid iOS version: ${version}`);
92
96
  }
93
97
  for (const directory of versions){
94
98
  if (directory.includes(prefix[0])) {
95
99
  return `${xcodePath}/Platforms/iPhoneOS.platform/DeviceSupport/${directory}/DeveloperDiskImage.dmg`;
96
100
  }
97
101
  }
98
- throw new _prerequisite.PrerequisiteCommandError(ERROR_CODE, `Unable to find Developer Disk Image path for SDK ${version}.`);
102
+ throw new _Prerequisite.PrerequisiteCommandError(ERROR_CODE, `Unable to find Developer Disk Image path for SDK ${version}.`);
99
103
  }
100
104
  }
101
105
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport fs from 'fs/promises';\n\nimport * as Log from '../../../log';\nimport { Prerequisite, PrerequisiteCommandError } from '../Prerequisite';\n\nconst ERROR_CODE = 'XCODE_DEVELOPER_DISK_IMAGE';\nasync function getXcodePathAsync(): Promise<string> {\n try {\n const { stdout } = await spawnAsync('xcode-select', ['-p']);\n if (stdout) {\n return stdout.trim();\n }\n } catch (error: any) {\n Log.debug(`Could not find Xcode path: %O`, error);\n }\n throw new PrerequisiteCommandError(ERROR_CODE, 'Unable to locate Xcode.');\n}\n\nexport class XcodeDeveloperDiskImagePrerequisite extends Prerequisite<string, { version: string }> {\n static instance = new XcodeDeveloperDiskImagePrerequisite();\n\n async assertImplementation({ version }: { version: string }): Promise<string> {\n const xcodePath = await getXcodePathAsync();\n // Like \"11.2 (15C107)\"\n const versions = await fs.readdir(`${xcodePath}/Platforms/iPhoneOS.platform/DeviceSupport/`);\n const prefix = version.match(/\\d+\\.\\d+/);\n if (prefix === null) {\n throw new PrerequisiteCommandError(ERROR_CODE, `Invalid iOS version: ${version}`);\n }\n for (const directory of versions) {\n if (directory.includes(prefix[0])) {\n return `${xcodePath}/Platforms/iPhoneOS.platform/DeviceSupport/${directory}/DeveloperDiskImage.dmg`;\n }\n }\n throw new PrerequisiteCommandError(\n ERROR_CODE,\n `Unable to find Developer Disk Image path for SDK ${version}.`\n );\n }\n}\n"],"names":["XcodeDeveloperDiskImagePrerequisite","ERROR_CODE","getXcodePathAsync","stdout","spawnAsync","trim","error","Log","debug","PrerequisiteCommandError","Prerequisite","instance","assertImplementation","version","xcodePath","versions","fs","readdir","prefix","match","directory","includes"],"mappings":"AAAA;;;;+BAmBaA,qCAAmC;;aAAnCA,mCAAmC;;;8DAnBzB,mBAAmB;;;;;;;8DAC3B,aAAa;;;;;;2DAEP,cAAc;8BACoB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExE,MAAMC,UAAU,GAAG,4BAA4B,AAAC;AAChD,eAAeC,iBAAiB,GAAoB;IAClD,IAAI;QACF,MAAM,EAAEC,MAAM,CAAA,EAAE,GAAG,MAAMC,IAAAA,WAAU,EAAA,QAAA,EAAC,cAAc,EAAE;YAAC,IAAI;SAAC,CAAC,AAAC;QAC5D,IAAID,MAAM,EAAE;YACV,OAAOA,MAAM,CAACE,IAAI,EAAE,CAAC;QACvB,CAAC;IACH,EAAE,OAAOC,KAAK,EAAO;QACnBC,IAAG,CAACC,KAAK,CAAC,CAAC,6BAA6B,CAAC,EAAEF,KAAK,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,IAAIG,aAAwB,yBAAA,CAACR,UAAU,EAAE,yBAAyB,CAAC,CAAC;AAC5E,CAAC;AAEM,MAAMD,mCAAmC,SAASU,aAAY,aAAA;IACnE,OAAOC,QAAQ,GAAG,IAAIX,mCAAmC,EAAE,CAAC;UAEtDY,oBAAoB,CAAC,EAAEC,OAAO,CAAA,EAAuB,EAAmB;QAC5E,MAAMC,SAAS,GAAG,MAAMZ,iBAAiB,EAAE,AAAC;QAC5C,uBAAuB;QACvB,MAAMa,QAAQ,GAAG,MAAMC,SAAE,EAAA,QAAA,CAACC,OAAO,CAAC,CAAC,EAAEH,SAAS,CAAC,2CAA2C,CAAC,CAAC,AAAC;QAC7F,MAAMI,MAAM,GAAGL,OAAO,CAACM,KAAK,YAAY,AAAC;QACzC,IAAID,MAAM,KAAK,IAAI,EAAE;YACnB,MAAM,IAAIT,aAAwB,yBAAA,CAACR,UAAU,EAAE,CAAC,qBAAqB,EAAEY,OAAO,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,KAAK,MAAMO,SAAS,IAAIL,QAAQ,CAAE;YAChC,IAAIK,SAAS,CAACC,QAAQ,CAACH,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gBACjC,OAAO,CAAC,EAAEJ,SAAS,CAAC,2CAA2C,EAAEM,SAAS,CAAC,uBAAuB,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;QACD,MAAM,IAAIX,aAAwB,yBAAA,CAChCR,UAAU,EACV,CAAC,iDAAiD,EAAEY,OAAO,CAAC,CAAC,CAAC,CAC/D,CAAC;IACJ;CACD"}
1
+ {"version":3,"sources":["../../../../../src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport fs from 'fs/promises';\n\nimport * as Log from '../../../log';\nimport { Prerequisite, PrerequisiteCommandError } from '../Prerequisite';\n\nconst ERROR_CODE = 'XCODE_DEVELOPER_DISK_IMAGE';\nasync function getXcodePathAsync(): Promise<string> {\n try {\n const { stdout } = await spawnAsync('xcode-select', ['-p']);\n if (stdout) {\n return stdout.trim();\n }\n } catch (error: any) {\n Log.debug(`Could not find Xcode path: %O`, error);\n }\n throw new PrerequisiteCommandError(ERROR_CODE, 'Unable to locate Xcode.');\n}\n\nexport class XcodeDeveloperDiskImagePrerequisite extends Prerequisite<string, { version: string }> {\n static instance = new XcodeDeveloperDiskImagePrerequisite();\n\n async assertImplementation({ version }: { version: string }): Promise<string> {\n const xcodePath = await getXcodePathAsync();\n // Like \"11.2 (15C107)\"\n const versions = await fs.readdir(`${xcodePath}/Platforms/iPhoneOS.platform/DeviceSupport/`);\n const prefix = version.match(/\\d+\\.\\d+/);\n if (prefix === null) {\n throw new PrerequisiteCommandError(ERROR_CODE, `Invalid iOS version: ${version}`);\n }\n for (const directory of versions) {\n if (directory.includes(prefix[0])) {\n return `${xcodePath}/Platforms/iPhoneOS.platform/DeviceSupport/${directory}/DeveloperDiskImage.dmg`;\n }\n }\n throw new PrerequisiteCommandError(\n ERROR_CODE,\n `Unable to find Developer Disk Image path for SDK ${version}.`\n );\n }\n}\n"],"names":["XcodeDeveloperDiskImagePrerequisite","ERROR_CODE","getXcodePathAsync","stdout","spawnAsync","trim","error","Log","debug","PrerequisiteCommandError","Prerequisite","instance","assertImplementation","version","xcodePath","versions","fs","readdir","prefix","match","directory","includes"],"mappings":";;;;+BAmBaA;;;eAAAA;;;;gEAnBU;;;;;;;gEACR;;;;;;6DAEM;8BACkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,MAAMC,aAAa;AACnB,eAAeC;IACb,IAAI;QACF,MAAM,EAAEC,MAAM,EAAE,GAAG,MAAMC,IAAAA,qBAAU,EAAC,gBAAgB;YAAC;SAAK;QAC1D,IAAID,QAAQ;YACV,OAAOA,OAAOE,IAAI;QACpB;IACF,EAAE,OAAOC,OAAY;QACnBC,KAAIC,KAAK,CAAC,CAAC,6BAA6B,CAAC,EAAEF;IAC7C;IACA,MAAM,IAAIG,sCAAwB,CAACR,YAAY;AACjD;AAEO,MAAMD,4CAA4CU,0BAAY;qBAC5DC,WAAW,IAAIX;IAEtB,MAAMY,qBAAqB,EAAEC,OAAO,EAAuB,EAAmB;QAC5E,MAAMC,YAAY,MAAMZ;QACxB,uBAAuB;QACvB,MAAMa,WAAW,MAAMC,mBAAE,CAACC,OAAO,CAAC,GAAGH,UAAU,2CAA2C,CAAC;QAC3F,MAAMI,SAASL,QAAQM,KAAK,CAAC;QAC7B,IAAID,WAAW,MAAM;YACnB,MAAM,IAAIT,sCAAwB,CAACR,YAAY,CAAC,qBAAqB,EAAEY,SAAS;QAClF;QACA,KAAK,MAAMO,aAAaL,SAAU;YAChC,IAAIK,UAAUC,QAAQ,CAACH,MAAM,CAAC,EAAE,GAAG;gBACjC,OAAO,GAAGJ,UAAU,2CAA2C,EAAEM,UAAU,uBAAuB,CAAC;YACrG;QACF;QACA,MAAM,IAAIX,sCAAwB,CAChCR,YACA,CAAC,iDAAiD,EAAEY,QAAQ,CAAC,CAAC;IAElE;AACF"}
@@ -9,43 +9,47 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- getXcodeVersionAsync: ()=>getXcodeVersionAsync,
13
- XcodePrerequisite: ()=>XcodePrerequisite
12
+ XcodePrerequisite: function() {
13
+ return XcodePrerequisite;
14
+ },
15
+ getXcodeVersionAsync: function() {
16
+ return getXcodeVersionAsync;
17
+ }
14
18
  });
15
- function _spawnAsync() {
16
- const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
17
- _spawnAsync = function() {
19
+ function _spawnasync() {
20
+ const data = /*#__PURE__*/ _interop_require_default(require("@expo/spawn-async"));
21
+ _spawnasync = function() {
18
22
  return data;
19
23
  };
20
24
  return data;
21
25
  }
22
26
  function _chalk() {
23
- const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
27
+ const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
24
28
  _chalk = function() {
25
29
  return data;
26
30
  };
27
31
  return data;
28
32
  }
29
- function _childProcess() {
33
+ function _child_process() {
30
34
  const data = require("child_process");
31
- _childProcess = function() {
35
+ _child_process = function() {
32
36
  return data;
33
37
  };
34
38
  return data;
35
39
  }
36
40
  function _semver() {
37
- const data = /*#__PURE__*/ _interopRequireDefault(require("semver"));
41
+ const data = /*#__PURE__*/ _interop_require_default(require("semver"));
38
42
  _semver = function() {
39
43
  return data;
40
44
  };
41
45
  return data;
42
46
  }
43
- const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../../log"));
47
+ const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../../log"));
44
48
  const _errors = require("../../../utils/errors");
45
49
  const _profile = require("../../../utils/profile");
46
50
  const _prompts = require("../../../utils/prompts");
47
- const _prerequisite = require("../Prerequisite");
48
- function _interopRequireDefault(obj) {
51
+ const _Prerequisite = require("../Prerequisite");
52
+ function _interop_require_default(obj) {
49
53
  return obj && obj.__esModule ? obj : {
50
54
  default: obj
51
55
  };
@@ -58,7 +62,7 @@ function _getRequireWildcardCache(nodeInterop) {
58
62
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
59
63
  })(nodeInterop);
60
64
  }
61
- function _interopRequireWildcard(obj, nodeInterop) {
65
+ function _interop_require_wildcard(obj, nodeInterop) {
62
66
  if (!nodeInterop && obj && obj.__esModule) {
63
67
  return obj;
64
68
  }
@@ -71,7 +75,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
71
75
  if (cache && cache.has(obj)) {
72
76
  return cache.get(obj);
73
77
  }
74
- var newObj = {};
78
+ var newObj = {
79
+ __proto__: null
80
+ };
75
81
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
76
82
  for(var key in obj){
77
83
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -89,11 +95,11 @@ function _interopRequireWildcard(obj, nodeInterop) {
89
95
  }
90
96
  return newObj;
91
97
  }
92
- const debug = require("debug")("expo:doctor:apple:xcode");
98
+ const debug = require('debug')('expo:doctor:apple:xcode');
93
99
  // Based on the Apple announcement (last updated: Aug 2023).
94
100
  // https://developer.apple.com/news/upcoming-requirements/?id=04252023a
95
- const MIN_XCODE_VERSION = "14.1";
96
- const APP_STORE_ID = "497799835";
101
+ const MIN_XCODE_VERSION = '14.1';
102
+ const APP_STORE_ID = '497799835';
97
103
  const SUGGESTED_XCODE_VERSION = `${MIN_XCODE_VERSION}.0`;
98
104
  const promptToOpenAppStoreAsync = async (message)=>{
99
105
  // This prompt serves no purpose accept informing the user what to do next, we could just open the App Store but it could be confusing if they don't know what's going on.
@@ -107,15 +113,15 @@ const promptToOpenAppStoreAsync = async (message)=>{
107
113
  }
108
114
  };
109
115
  let _xcodeVersionPromise = null;
110
- const getXcodeVersionAsync = async ({ silent , force } = {})=>{
116
+ const getXcodeVersionAsync = async ({ silent, force } = {})=>{
111
117
  const logError = silent ? debug : _log.warn;
112
118
  const getVersion = async ()=>{
113
119
  try {
114
- var ref;
115
- const { stdout } = await (0, _spawnAsync().default)("xcodebuild", [
116
- "-version"
120
+ var _stdout_match;
121
+ const { stdout } = await (0, _spawnasync().default)('xcodebuild', [
122
+ '-version'
117
123
  ]);
118
- const last = (ref = stdout.match(/^Xcode (\d+\.\d+)/)) == null ? void 0 : ref[1];
124
+ const last = (_stdout_match = stdout.match(/^Xcode (\d+\.\d+)/)) == null ? void 0 : _stdout_match[1];
119
125
  // Convert to a semver string
120
126
  if (last) {
121
127
  const version = `${last}.0`;
@@ -132,7 +138,7 @@ const getXcodeVersionAsync = async ({ silent , force } = {})=>{
132
138
  }
133
139
  // not sure what's going on
134
140
  return {
135
- error: "Unable to check Xcode version. Command ran successfully but no version number was found.",
141
+ error: 'Unable to check Xcode version. Command ran successfully but no version number was found.',
136
142
  value: null
137
143
  };
138
144
  } catch {
@@ -158,12 +164,12 @@ const getXcodeVersionAsync = async ({ silent , force } = {})=>{
158
164
  * @param appId
159
165
  */ function openAppStore(appId) {
160
166
  const link = getAppStoreLink(appId);
161
- (0, _childProcess().execSync)(`open ${link}`, {
162
- stdio: "ignore"
167
+ (0, _child_process().execSync)(`open ${link}`, {
168
+ stdio: 'ignore'
163
169
  });
164
170
  }
165
171
  function getAppStoreLink(appId) {
166
- if (process.platform === "darwin") {
172
+ if (process.platform === 'darwin') {
167
173
  // TODO: Is there ever a case where the macappstore isn't available on mac?
168
174
  return `macappstore://itunes.apple.com/app/id${appId}`;
169
175
  }
@@ -171,25 +177,25 @@ function getAppStoreLink(appId) {
171
177
  }
172
178
  function spawnForString(cmd) {
173
179
  try {
174
- return (0, _childProcess().execSync)(cmd, {
175
- stdio: "pipe"
180
+ return (0, _child_process().execSync)(cmd, {
181
+ stdio: 'pipe'
176
182
  }).toString().trim();
177
183
  } catch {}
178
184
  return null;
179
185
  }
180
186
  /** @returns a string like `/Applications/Xcode.app/Contents/Developer` when Xcode has a correctly selected path. */ function getXcodeSelectPathAsync() {
181
- return spawnForString("/usr/bin/xcode-select --print-path");
187
+ return spawnForString('/usr/bin/xcode-select --print-path');
182
188
  }
183
189
  function getXcodeInstalled() {
184
- return spawnForString("ls /Applications/Xcode.app/Contents/Developer");
190
+ return spawnForString('ls /Applications/Xcode.app/Contents/Developer');
185
191
  }
186
- class XcodePrerequisite extends _prerequisite.Prerequisite {
187
- static instance = new XcodePrerequisite();
192
+ class XcodePrerequisite extends _Prerequisite.Prerequisite {
193
+ static #_ = this.instance = new XcodePrerequisite();
188
194
  /**
189
195
  * Ensure Xcode is installed and recent enough to be used with Expo.
190
196
  */ async assertImplementation() {
191
197
  const version = await (0, _profile.profile)(getXcodeVersionAsync)({
192
- force: process.env.NODE_ENV === "test"
198
+ force: process.env.NODE_ENV === 'test'
193
199
  });
194
200
  debug(`Xcode version: ${version}`);
195
201
  if (!version) {
@@ -201,18 +207,18 @@ class XcodePrerequisite extends _prerequisite.Prerequisite {
201
207
  debug(`Xcode select path: ${selectPath}`);
202
208
  if (!selectPath) {
203
209
  _log.error([
204
- "",
205
- _chalk().default.bold("Xcode has not been fully setup for Apple development yet."),
206
- "Download at: https://developer.apple.com/xcode/",
207
- "or in the App Store.",
208
- "",
209
- "After downloading Xcode, run the following two commands in your terminal:",
210
- _chalk().default.cyan(" sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer"),
211
- _chalk().default.cyan(" sudo xcodebuild -runFirstLaunch"),
212
- "",
213
- "Then you can re-run Expo CLI. Alternatively, you can build apps in the cloud with EAS CLI, or preview using the Expo Go app on a physical device.",
214
- "",
215
- ].join("\n"));
210
+ '',
211
+ _chalk().default.bold('Xcode has not been fully setup for Apple development yet.'),
212
+ 'Download at: https://developer.apple.com/xcode/',
213
+ 'or in the App Store.',
214
+ '',
215
+ 'After downloading Xcode, run the following two commands in your terminal:',
216
+ _chalk().default.cyan(' sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer'),
217
+ _chalk().default.cyan(' sudo xcodebuild -runFirstLaunch'),
218
+ '',
219
+ 'Then you can re-run Expo CLI. Alternatively, you can build apps in the cloud with EAS CLI, or preview using the Expo Go app on a physical device.',
220
+ ''
221
+ ].join('\n'));
216
222
  throw new _errors.AbortCommandError();
217
223
  } else {
218
224
  debug(`Unexpected Xcode setup (version: ${version}, select: ${selectPath})`);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/doctor/apple/XcodePrerequisite.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\nimport { execSync } from 'child_process';\nimport semver from 'semver';\n\nimport * as Log from '../../../log';\nimport { AbortCommandError } from '../../../utils/errors';\nimport { profile } from '../../../utils/profile';\nimport { confirmAsync } from '../../../utils/prompts';\nimport { Prerequisite } from '../Prerequisite';\n\nconst debug = require('debug')('expo:doctor:apple:xcode') as typeof console.log;\n\n// Based on the Apple announcement (last updated: Aug 2023).\n// https://developer.apple.com/news/upcoming-requirements/?id=04252023a\nconst MIN_XCODE_VERSION = '14.1';\nconst APP_STORE_ID = '497799835';\n\nconst SUGGESTED_XCODE_VERSION = `${MIN_XCODE_VERSION}.0`;\n\nconst promptToOpenAppStoreAsync = async (message: string) => {\n // This prompt serves no purpose accept informing the user what to do next, we could just open the App Store but it could be confusing if they don't know what's going on.\n const confirm = await confirmAsync({ initial: true, message });\n if (confirm) {\n Log.log(`Going to the App Store, re-run Expo CLI when Xcode has finished installing.`);\n openAppStore(APP_STORE_ID);\n }\n};\n\nlet _xcodeVersionPromise: Promise<{ value: string | null | false; error?: string }> | null = null;\n\nexport const getXcodeVersionAsync = async ({\n silent,\n force,\n}: { silent?: boolean; force?: boolean } = {}): Promise<string | null | false> => {\n const logError = silent ? debug : Log.warn;\n const getVersion = async (): Promise<{ value: string | null | false; error?: string }> => {\n try {\n const { stdout } = await spawnAsync('xcodebuild', ['-version']);\n const last = stdout.match(/^Xcode (\\d+\\.\\d+)/)?.[1];\n // Convert to a semver string\n if (last) {\n const version = `${last}.0`;\n\n if (!semver.valid(version)) {\n // Not sure why this would happen, if it does we should add a more confident error message.\n return { error: `Xcode version is in an unknown format: ${version}`, value: false };\n }\n return { value: version };\n }\n\n // not sure what's going on\n return {\n error:\n 'Unable to check Xcode version. Command ran successfully but no version number was found.',\n value: null,\n };\n } catch {\n // not installed\n }\n return { value: null };\n };\n\n if (force) {\n _xcodeVersionPromise = null;\n }\n\n _xcodeVersionPromise = _xcodeVersionPromise ?? getVersion();\n\n const result = await _xcodeVersionPromise;\n\n if (result.error) {\n logError(result.error);\n }\n\n return result.value;\n};\n\n/**\n * Open a link to the App Store. Just link in mobile apps, **never** redirect without prompting first.\n *\n * @param appId\n */\nfunction openAppStore(appId: string) {\n const link = getAppStoreLink(appId);\n execSync(`open ${link}`, { stdio: 'ignore' });\n}\n\nfunction getAppStoreLink(appId: string): string {\n if (process.platform === 'darwin') {\n // TODO: Is there ever a case where the macappstore isn't available on mac?\n return `macappstore://itunes.apple.com/app/id${appId}`;\n }\n return `https://apps.apple.com/us/app/id${appId}`;\n}\n\nfunction spawnForString(cmd: string): string | null {\n try {\n return execSync(cmd, { stdio: 'pipe' }).toString().trim();\n } catch {}\n return null;\n}\n\n/** @returns a string like `/Applications/Xcode.app/Contents/Developer` when Xcode has a correctly selected path. */\nfunction getXcodeSelectPathAsync() {\n return spawnForString('/usr/bin/xcode-select --print-path');\n}\nfunction getXcodeInstalled() {\n return spawnForString('ls /Applications/Xcode.app/Contents/Developer');\n}\n\nexport class XcodePrerequisite extends Prerequisite {\n static instance = new XcodePrerequisite();\n\n /**\n * Ensure Xcode is installed and recent enough to be used with Expo.\n */\n async assertImplementation(): Promise<void> {\n const version = await profile(getXcodeVersionAsync)({ force: process.env.NODE_ENV === 'test' });\n debug(`Xcode version: ${version}`);\n if (!version) {\n // A couple different issues could have occurred, let's check them after we're past the point of no return\n // since we no longer need to be fast about validation.\n\n // Ensure Xcode.app can be found before we prompt to sudo select it.\n if (getXcodeInstalled()) {\n const selectPath = profile(getXcodeSelectPathAsync)();\n debug(`Xcode select path: ${selectPath}`);\n if (!selectPath) {\n Log.error(\n [\n '',\n chalk.bold('Xcode has not been fully setup for Apple development yet.'),\n 'Download at: https://developer.apple.com/xcode/',\n 'or in the App Store.',\n '',\n 'After downloading Xcode, run the following two commands in your terminal:',\n chalk.cyan(' sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer'),\n chalk.cyan(' sudo xcodebuild -runFirstLaunch'),\n '',\n 'Then you can re-run Expo CLI. Alternatively, you can build apps in the cloud with EAS CLI, or preview using the Expo Go app on a physical device.',\n '',\n ].join('\\n')\n );\n throw new AbortCommandError();\n } else {\n debug(`Unexpected Xcode setup (version: ${version}, select: ${selectPath})`);\n }\n }\n\n // Almost certainly Xcode isn't installed.\n await promptToOpenAppStoreAsync(\n `Xcode must be fully installed before you can continue. Continue to the App Store?`\n );\n throw new AbortCommandError();\n }\n\n if (semver.lt(version, SUGGESTED_XCODE_VERSION)) {\n // Xcode version is too old.\n await promptToOpenAppStoreAsync(\n `Xcode (${version}) needs to be updated to at least version ${MIN_XCODE_VERSION}. Continue to the App Store?`\n );\n throw new AbortCommandError();\n }\n }\n}\n"],"names":["getXcodeVersionAsync","XcodePrerequisite","debug","require","MIN_XCODE_VERSION","APP_STORE_ID","SUGGESTED_XCODE_VERSION","promptToOpenAppStoreAsync","message","confirm","confirmAsync","initial","Log","log","openAppStore","_xcodeVersionPromise","silent","force","logError","warn","getVersion","stdout","spawnAsync","last","match","version","semver","valid","error","value","result","appId","link","getAppStoreLink","execSync","stdio","process","platform","spawnForString","cmd","toString","trim","getXcodeSelectPathAsync","getXcodeInstalled","Prerequisite","instance","assertImplementation","profile","env","NODE_ENV","selectPath","chalk","bold","cyan","join","AbortCommandError","lt"],"mappings":"AAAA;;;;;;;;;;;IA+BaA,oBAAoB,MAApBA,oBAAoB;IAgFpBC,iBAAiB,MAAjBA,iBAAiB;;;8DA/GP,mBAAmB;;;;;;;8DACxB,OAAO;;;;;;;yBACA,eAAe;;;;;;;8DACrB,QAAQ;;;;;;2DAEN,cAAc;wBACD,uBAAuB;yBACjC,wBAAwB;yBACnB,wBAAwB;8BACxB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE9C,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,yBAAyB,CAAC,AAAsB,AAAC;AAEhF,4DAA4D;AAC5D,uEAAuE;AACvE,MAAMC,iBAAiB,GAAG,MAAM,AAAC;AACjC,MAAMC,YAAY,GAAG,WAAW,AAAC;AAEjC,MAAMC,uBAAuB,GAAG,CAAC,EAAEF,iBAAiB,CAAC,EAAE,CAAC,AAAC;AAEzD,MAAMG,yBAAyB,GAAG,OAAOC,OAAe,GAAK;IAC3D,0KAA0K;IAC1K,MAAMC,OAAO,GAAG,MAAMC,IAAAA,QAAY,aAAA,EAAC;QAAEC,OAAO,EAAE,IAAI;QAAEH,OAAO;KAAE,CAAC,AAAC;IAC/D,IAAIC,OAAO,EAAE;QACXG,IAAG,CAACC,GAAG,CAAC,CAAC,2EAA2E,CAAC,CAAC,CAAC;QACvFC,YAAY,CAACT,YAAY,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC,AAAC;AAEF,IAAIU,oBAAoB,GAAqE,IAAI,AAAC;AAE3F,MAAMf,oBAAoB,GAAG,OAAO,EACzCgB,MAAM,CAAA,EACNC,KAAK,CAAA,EACiC,GAAG,EAAE,GAAqC;IAChF,MAAMC,QAAQ,GAAGF,MAAM,GAAGd,KAAK,GAAGU,IAAG,CAACO,IAAI,AAAC;IAC3C,MAAMC,UAAU,GAAG,UAAuE;QACxF,IAAI;gBAEWC,GAAiC;YAD9C,MAAM,EAAEA,MAAM,CAAA,EAAE,GAAG,MAAMC,IAAAA,WAAU,EAAA,QAAA,EAAC,YAAY,EAAE;gBAAC,UAAU;aAAC,CAAC,AAAC;YAChE,MAAMC,IAAI,GAAGF,CAAAA,GAAiC,GAAjCA,MAAM,CAACG,KAAK,qBAAqB,SAAK,GAAtCH,KAAAA,CAAsC,GAAtCA,GAAiC,AAAE,CAAC,CAAC,CAAC,AAAC;YACpD,6BAA6B;YAC7B,IAAIE,IAAI,EAAE;gBACR,MAAME,OAAO,GAAG,CAAC,EAAEF,IAAI,CAAC,EAAE,CAAC,AAAC;gBAE5B,IAAI,CAACG,OAAM,EAAA,QAAA,CAACC,KAAK,CAACF,OAAO,CAAC,EAAE;oBAC1B,2FAA2F;oBAC3F,OAAO;wBAAEG,KAAK,EAAE,CAAC,uCAAuC,EAAEH,OAAO,CAAC,CAAC;wBAAEI,KAAK,EAAE,KAAK;qBAAE,CAAC;gBACtF,CAAC;gBACD,OAAO;oBAAEA,KAAK,EAAEJ,OAAO;iBAAE,CAAC;YAC5B,CAAC;YAED,2BAA2B;YAC3B,OAAO;gBACLG,KAAK,EACH,0FAA0F;gBAC5FC,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,EAAE,OAAM;QACN,gBAAgB;QAClB,CAAC;QACD,OAAO;YAAEA,KAAK,EAAE,IAAI;SAAE,CAAC;IACzB,CAAC,AAAC;IAEF,IAAIZ,KAAK,EAAE;QACTF,oBAAoB,GAAG,IAAI,CAAC;IAC9B,CAAC;IAEDA,oBAAoB,GAAGA,oBAAoB,IAAIK,UAAU,EAAE,CAAC;IAE5D,MAAMU,MAAM,GAAG,MAAMf,oBAAoB,AAAC;IAE1C,IAAIe,MAAM,CAACF,KAAK,EAAE;QAChBV,QAAQ,CAACY,MAAM,CAACF,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,OAAOE,MAAM,CAACD,KAAK,CAAC;AACtB,CAAC,AAAC;AAEF;;;;CAIC,GACD,SAASf,YAAY,CAACiB,KAAa,EAAE;IACnC,MAAMC,IAAI,GAAGC,eAAe,CAACF,KAAK,CAAC,AAAC;IACpCG,IAAAA,aAAQ,EAAA,SAAA,EAAC,CAAC,KAAK,EAAEF,IAAI,CAAC,CAAC,EAAE;QAAEG,KAAK,EAAE,QAAQ;KAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAASF,eAAe,CAACF,KAAa,EAAU;IAC9C,IAAIK,OAAO,CAACC,QAAQ,KAAK,QAAQ,EAAE;QACjC,2EAA2E;QAC3E,OAAO,CAAC,qCAAqC,EAAEN,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,CAAC,gCAAgC,EAAEA,KAAK,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAASO,cAAc,CAACC,GAAW,EAAiB;IAClD,IAAI;QACF,OAAOL,IAAAA,aAAQ,EAAA,SAAA,EAACK,GAAG,EAAE;YAAEJ,KAAK,EAAE,MAAM;SAAE,CAAC,CAACK,QAAQ,EAAE,CAACC,IAAI,EAAE,CAAC;IAC5D,EAAE,OAAM,CAAC,CAAC;IACV,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kHAAkH,GAClH,SAASC,uBAAuB,GAAG;IACjC,OAAOJ,cAAc,CAAC,oCAAoC,CAAC,CAAC;AAC9D,CAAC;AACD,SAASK,iBAAiB,GAAG;IAC3B,OAAOL,cAAc,CAAC,+CAA+C,CAAC,CAAC;AACzE,CAAC;AAEM,MAAMrC,iBAAiB,SAAS2C,aAAY,aAAA;IACjD,OAAOC,QAAQ,GAAG,IAAI5C,iBAAiB,EAAE,CAAC;IAE1C;;GAEC,SACK6C,oBAAoB,GAAkB;QAC1C,MAAMrB,OAAO,GAAG,MAAMsB,IAAAA,QAAO,QAAA,EAAC/C,oBAAoB,CAAC,CAAC;YAAEiB,KAAK,EAAEmB,OAAO,CAACY,GAAG,CAACC,QAAQ,KAAK,MAAM;SAAE,CAAC,AAAC;QAChG/C,KAAK,CAAC,CAAC,eAAe,EAAEuB,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAACA,OAAO,EAAE;YACZ,0GAA0G;YAC1G,uDAAuD;YAEvD,oEAAoE;YACpE,IAAIkB,iBAAiB,EAAE,EAAE;gBACvB,MAAMO,UAAU,GAAGH,IAAAA,QAAO,QAAA,EAACL,uBAAuB,CAAC,EAAE,AAAC;gBACtDxC,KAAK,CAAC,CAAC,mBAAmB,EAAEgD,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAACA,UAAU,EAAE;oBACftC,IAAG,CAACgB,KAAK,CACP;wBACE,EAAE;wBACFuB,MAAK,EAAA,QAAA,CAACC,IAAI,CAAC,2DAA2D,CAAC;wBACvE,iDAAiD;wBACjD,sBAAsB;wBACtB,EAAE;wBACF,2EAA2E;wBAC3ED,MAAK,EAAA,QAAA,CAACE,IAAI,CAAC,yEAAyE,CAAC;wBACrFF,MAAK,EAAA,QAAA,CAACE,IAAI,CAAC,mCAAmC,CAAC;wBAC/C,EAAE;wBACF,mJAAmJ;wBACnJ,EAAE;qBACH,CAACC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;oBACF,MAAM,IAAIC,OAAiB,kBAAA,EAAE,CAAC;gBAChC,OAAO;oBACLrD,KAAK,CAAC,CAAC,iCAAiC,EAAEuB,OAAO,CAAC,UAAU,EAAEyB,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC;YAED,0CAA0C;YAC1C,MAAM3C,yBAAyB,CAC7B,CAAC,iFAAiF,CAAC,CACpF,CAAC;YACF,MAAM,IAAIgD,OAAiB,kBAAA,EAAE,CAAC;QAChC,CAAC;QAED,IAAI7B,OAAM,EAAA,QAAA,CAAC8B,EAAE,CAAC/B,OAAO,EAAEnB,uBAAuB,CAAC,EAAE;YAC/C,4BAA4B;YAC5B,MAAMC,yBAAyB,CAC7B,CAAC,OAAO,EAAEkB,OAAO,CAAC,0CAA0C,EAAErB,iBAAiB,CAAC,4BAA4B,CAAC,CAC9G,CAAC;YACF,MAAM,IAAImD,OAAiB,kBAAA,EAAE,CAAC;QAChC,CAAC;IACH;CACD"}
1
+ {"version":3,"sources":["../../../../../src/start/doctor/apple/XcodePrerequisite.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\nimport { execSync } from 'child_process';\nimport semver from 'semver';\n\nimport * as Log from '../../../log';\nimport { AbortCommandError } from '../../../utils/errors';\nimport { profile } from '../../../utils/profile';\nimport { confirmAsync } from '../../../utils/prompts';\nimport { Prerequisite } from '../Prerequisite';\n\nconst debug = require('debug')('expo:doctor:apple:xcode') as typeof console.log;\n\n// Based on the Apple announcement (last updated: Aug 2023).\n// https://developer.apple.com/news/upcoming-requirements/?id=04252023a\nconst MIN_XCODE_VERSION = '14.1';\nconst APP_STORE_ID = '497799835';\n\nconst SUGGESTED_XCODE_VERSION = `${MIN_XCODE_VERSION}.0`;\n\nconst promptToOpenAppStoreAsync = async (message: string) => {\n // This prompt serves no purpose accept informing the user what to do next, we could just open the App Store but it could be confusing if they don't know what's going on.\n const confirm = await confirmAsync({ initial: true, message });\n if (confirm) {\n Log.log(`Going to the App Store, re-run Expo CLI when Xcode has finished installing.`);\n openAppStore(APP_STORE_ID);\n }\n};\n\nlet _xcodeVersionPromise: Promise<{ value: string | null | false; error?: string }> | null = null;\n\nexport const getXcodeVersionAsync = async ({\n silent,\n force,\n}: { silent?: boolean; force?: boolean } = {}): Promise<string | null | false> => {\n const logError = silent ? debug : Log.warn;\n const getVersion = async (): Promise<{ value: string | null | false; error?: string }> => {\n try {\n const { stdout } = await spawnAsync('xcodebuild', ['-version']);\n const last = stdout.match(/^Xcode (\\d+\\.\\d+)/)?.[1];\n // Convert to a semver string\n if (last) {\n const version = `${last}.0`;\n\n if (!semver.valid(version)) {\n // Not sure why this would happen, if it does we should add a more confident error message.\n return { error: `Xcode version is in an unknown format: ${version}`, value: false };\n }\n return { value: version };\n }\n\n // not sure what's going on\n return {\n error:\n 'Unable to check Xcode version. Command ran successfully but no version number was found.',\n value: null,\n };\n } catch {\n // not installed\n }\n return { value: null };\n };\n\n if (force) {\n _xcodeVersionPromise = null;\n }\n\n _xcodeVersionPromise = _xcodeVersionPromise ?? getVersion();\n\n const result = await _xcodeVersionPromise;\n\n if (result.error) {\n logError(result.error);\n }\n\n return result.value;\n};\n\n/**\n * Open a link to the App Store. Just link in mobile apps, **never** redirect without prompting first.\n *\n * @param appId\n */\nfunction openAppStore(appId: string) {\n const link = getAppStoreLink(appId);\n execSync(`open ${link}`, { stdio: 'ignore' });\n}\n\nfunction getAppStoreLink(appId: string): string {\n if (process.platform === 'darwin') {\n // TODO: Is there ever a case where the macappstore isn't available on mac?\n return `macappstore://itunes.apple.com/app/id${appId}`;\n }\n return `https://apps.apple.com/us/app/id${appId}`;\n}\n\nfunction spawnForString(cmd: string): string | null {\n try {\n return execSync(cmd, { stdio: 'pipe' }).toString().trim();\n } catch {}\n return null;\n}\n\n/** @returns a string like `/Applications/Xcode.app/Contents/Developer` when Xcode has a correctly selected path. */\nfunction getXcodeSelectPathAsync() {\n return spawnForString('/usr/bin/xcode-select --print-path');\n}\nfunction getXcodeInstalled() {\n return spawnForString('ls /Applications/Xcode.app/Contents/Developer');\n}\n\nexport class XcodePrerequisite extends Prerequisite {\n static instance = new XcodePrerequisite();\n\n /**\n * Ensure Xcode is installed and recent enough to be used with Expo.\n */\n async assertImplementation(): Promise<void> {\n const version = await profile(getXcodeVersionAsync)({ force: process.env.NODE_ENV === 'test' });\n debug(`Xcode version: ${version}`);\n if (!version) {\n // A couple different issues could have occurred, let's check them after we're past the point of no return\n // since we no longer need to be fast about validation.\n\n // Ensure Xcode.app can be found before we prompt to sudo select it.\n if (getXcodeInstalled()) {\n const selectPath = profile(getXcodeSelectPathAsync)();\n debug(`Xcode select path: ${selectPath}`);\n if (!selectPath) {\n Log.error(\n [\n '',\n chalk.bold('Xcode has not been fully setup for Apple development yet.'),\n 'Download at: https://developer.apple.com/xcode/',\n 'or in the App Store.',\n '',\n 'After downloading Xcode, run the following two commands in your terminal:',\n chalk.cyan(' sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer'),\n chalk.cyan(' sudo xcodebuild -runFirstLaunch'),\n '',\n 'Then you can re-run Expo CLI. Alternatively, you can build apps in the cloud with EAS CLI, or preview using the Expo Go app on a physical device.',\n '',\n ].join('\\n')\n );\n throw new AbortCommandError();\n } else {\n debug(`Unexpected Xcode setup (version: ${version}, select: ${selectPath})`);\n }\n }\n\n // Almost certainly Xcode isn't installed.\n await promptToOpenAppStoreAsync(\n `Xcode must be fully installed before you can continue. Continue to the App Store?`\n );\n throw new AbortCommandError();\n }\n\n if (semver.lt(version, SUGGESTED_XCODE_VERSION)) {\n // Xcode version is too old.\n await promptToOpenAppStoreAsync(\n `Xcode (${version}) needs to be updated to at least version ${MIN_XCODE_VERSION}. Continue to the App Store?`\n );\n throw new AbortCommandError();\n }\n }\n}\n"],"names":["XcodePrerequisite","getXcodeVersionAsync","debug","require","MIN_XCODE_VERSION","APP_STORE_ID","SUGGESTED_XCODE_VERSION","promptToOpenAppStoreAsync","message","confirm","confirmAsync","initial","Log","log","openAppStore","_xcodeVersionPromise","silent","force","logError","warn","getVersion","stdout","spawnAsync","last","match","version","semver","valid","error","value","result","appId","link","getAppStoreLink","execSync","stdio","process","platform","spawnForString","cmd","toString","trim","getXcodeSelectPathAsync","getXcodeInstalled","Prerequisite","instance","assertImplementation","profile","env","NODE_ENV","selectPath","chalk","bold","cyan","join","AbortCommandError","lt"],"mappings":"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"}