@expo/cli 0.22.24 → 0.22.25

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 (722) 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 +10 -8
  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 +53 -35
  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 +39 -21
  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 +71 -61
  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 +67 -63
  88. package/build/src/export/exportApp.js.map +1 -1
  89. package/build/src/export/exportAssets.js +35 -27
  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 +85 -63
  96. package/build/src/export/exportHermes.js.map +1 -1
  97. package/build/src/export/exportStaticAsync.js +72 -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 +42 -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 +400 -274
  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 +13 -11
  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 +46 -40
  172. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  173. package/build/src/prebuild/resolveOptions.js +66 -52
  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 +74 -56
  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 +87 -73
  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 +40 -36
  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 +29 -21
  405. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  406. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +6 -4
  407. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
  408. package/build/src/start/server/metro/MetroBundlerDevServer.js +269 -271
  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/createExpoMetroResolver.js +46 -40
  416. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  417. package/build/src/start/server/metro/createJResolver.js +32 -28
  418. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  419. package/build/src/start/server/metro/createServerComponentsMiddleware.js +96 -92
  420. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  421. package/build/src/start/server/metro/createServerRouteMiddleware.js +32 -30
  422. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  423. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +13 -11
  424. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
  425. package/build/src/start/server/metro/debugging/MessageHandler.js +3 -1
  426. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  427. package/build/src/start/server/metro/debugging/attachAtlas.js +26 -22
  428. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
  429. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +19 -17
  430. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  431. package/build/src/start/server/metro/debugging/createHandlersFactory.js +25 -31
  432. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  433. package/build/src/start/server/metro/debugging/getDebuggerType.js +6 -4
  434. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  435. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +14 -8
  436. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  437. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -5
  438. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  439. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +8 -6
  440. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  441. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -5
  442. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  443. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +14 -12
  444. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
  445. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +14 -10
  446. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  447. package/build/src/start/server/metro/debugging/pageIsSupported.js +6 -4
  448. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  449. package/build/src/start/server/metro/debugging/types.js.map +1 -1
  450. package/build/src/start/server/metro/dev-server/createEventSocket.js +18 -16
  451. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
  452. package/build/src/start/server/metro/dev-server/createMessageSocket.js +23 -21
  453. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
  454. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +23 -21
  455. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
  456. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +4 -2
  457. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
  458. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +4 -2
  459. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
  460. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +8 -4
  461. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
  462. package/build/src/start/server/metro/externals.js +33 -25
  463. package/build/src/start/server/metro/externals.js.map +1 -1
  464. package/build/src/start/server/metro/fetchRouterManifest.js +16 -12
  465. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  466. package/build/src/start/server/metro/formatFileCandidates.js +11 -9
  467. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  468. package/build/src/start/server/metro/getCssModulesFromBundler.js +22 -18
  469. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  470. package/build/src/start/server/metro/instantiateMetro.js +85 -79
  471. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  472. package/build/src/start/server/metro/log-box/LogBoxLog.js +40 -36
  473. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
  474. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +20 -14
  475. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
  476. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +10 -6
  477. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
  478. package/build/src/start/server/metro/metroErrorInterface.js +88 -78
  479. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  480. package/build/src/start/server/metro/metroErrors.js +8 -4
  481. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  482. package/build/src/start/server/metro/metroPrivateServer.js +9 -7
  483. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
  484. package/build/src/start/server/metro/metroVirtualModules.js +10 -8
  485. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  486. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +24 -22
  487. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  488. package/build/src/start/server/metro/router.js +48 -32
  489. package/build/src/start/server/metro/router.js.map +1 -1
  490. package/build/src/start/server/metro/runServer-fork.js +24 -22
  491. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  492. package/build/src/start/server/metro/serializeHtml.js +24 -22
  493. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  494. package/build/src/start/server/metro/symbolicate.js.map +1 -1
  495. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +35 -29
  496. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  497. package/build/src/start/server/metro/withMetroMultiPlatform.js +149 -139
  498. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  499. package/build/src/start/server/metro/withMetroResolvers.js +49 -39
  500. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  501. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +8 -6
  502. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  503. package/build/src/start/server/middleware/CorsMiddleware.js +17 -15
  504. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  505. package/build/src/start/server/middleware/CreateFileMiddleware.js +32 -31
  506. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  507. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +22 -19
  508. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  509. package/build/src/start/server/middleware/DomComponentsMiddleware.js +33 -27
  510. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  511. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +64 -60
  512. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  513. package/build/src/start/server/middleware/ExpoMiddleware.js +15 -9
  514. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  515. package/build/src/start/server/middleware/FaviconMiddleware.js +15 -14
  516. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  517. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +4 -2
  518. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  519. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +34 -31
  520. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  521. package/build/src/start/server/middleware/ManifestMiddleware.js +64 -56
  522. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  523. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +23 -19
  524. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  525. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +20 -19
  526. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  527. package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -9
  528. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  529. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +17 -11
  530. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
  531. package/build/src/start/server/middleware/inspector/CdpClient.js +12 -10
  532. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
  533. package/build/src/start/server/middleware/inspector/JsInspector.js +35 -27
  534. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  535. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +21 -19
  536. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  537. package/build/src/start/server/middleware/inspector/middlwareMutations.js +6 -2
  538. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  539. package/build/src/start/server/middleware/metroOptions.js +120 -96
  540. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  541. package/build/src/start/server/middleware/mutations.js +7 -3
  542. package/build/src/start/server/middleware/mutations.js.map +1 -1
  543. package/build/src/start/server/middleware/resolveAssets.js +26 -18
  544. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  545. package/build/src/start/server/middleware/resolvePlatform.js +23 -15
  546. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  547. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +11 -9
  548. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
  549. package/build/src/start/server/middleware/server.types.js.map +1 -1
  550. package/build/src/start/server/openPlatforms.js +10 -8
  551. package/build/src/start/server/openPlatforms.js.map +1 -1
  552. package/build/src/start/server/platformBundlers.js +13 -11
  553. package/build/src/start/server/platformBundlers.js.map +1 -1
  554. package/build/src/start/server/serverLogLikeMetro.js +58 -50
  555. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  556. package/build/src/start/server/type-generation/expo-env.js +11 -7
  557. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  558. package/build/src/start/server/type-generation/routes.js +76 -54
  559. package/build/src/start/server/type-generation/routes.js.map +1 -1
  560. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +21 -19
  561. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  562. package/build/src/start/server/type-generation/tsconfig.js +36 -28
  563. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  564. package/build/src/start/server/webTemplate.js +28 -24
  565. package/build/src/start/server/webTemplate.js.map +1 -1
  566. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +52 -46
  567. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  568. package/build/src/start/server/webpack/compile.js +15 -11
  569. package/build/src/start/server/webpack/compile.js.map +1 -1
  570. package/build/src/start/server/webpack/formatWebpackMessages.js +28 -26
  571. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  572. package/build/src/start/server/webpack/resolveFromProject.js +18 -12
  573. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  574. package/build/src/start/server/webpack/tls.js +18 -12
  575. package/build/src/start/server/webpack/tls.js.map +1 -1
  576. package/build/src/start/startAsync.js +31 -27
  577. package/build/src/start/startAsync.js.map +1 -1
  578. package/build/src/utils/FileNotifier.js +20 -17
  579. package/build/src/utils/FileNotifier.js.map +1 -1
  580. package/build/src/utils/ansi.js +7 -5
  581. package/build/src/utils/ansi.js.map +1 -1
  582. package/build/src/utils/args.js +24 -14
  583. package/build/src/utils/args.js.map +1 -1
  584. package/build/src/utils/array.js +18 -6
  585. package/build/src/utils/array.js.map +1 -1
  586. package/build/src/utils/cocoapods.js +54 -46
  587. package/build/src/utils/cocoapods.js.map +1 -1
  588. package/build/src/utils/codesigning.js +78 -68
  589. package/build/src/utils/codesigning.js.map +1 -1
  590. package/build/src/utils/createFileTransform.js +16 -12
  591. package/build/src/utils/createFileTransform.js.map +1 -1
  592. package/build/src/utils/createTempPath.js +17 -13
  593. package/build/src/utils/createTempPath.js.map +1 -1
  594. package/build/src/utils/delay.js +12 -6
  595. package/build/src/utils/delay.js.map +1 -1
  596. package/build/src/utils/dir.js +46 -28
  597. package/build/src/utils/dir.js.map +1 -1
  598. package/build/src/utils/downloadAppAsync.js +10 -8
  599. package/build/src/utils/downloadAppAsync.js.map +1 -1
  600. package/build/src/utils/downloadExpoGoAsync.js +25 -21
  601. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  602. package/build/src/utils/editor.js +41 -35
  603. package/build/src/utils/editor.js.map +1 -1
  604. package/build/src/utils/env.js +63 -59
  605. package/build/src/utils/env.js.map +1 -1
  606. package/build/src/utils/errors.js +37 -30
  607. package/build/src/utils/errors.js.map +1 -1
  608. package/build/src/utils/exit.js +35 -31
  609. package/build/src/utils/exit.js.map +1 -1
  610. package/build/src/utils/expoUpdatesCli.js +32 -22
  611. package/build/src/utils/expoUpdatesCli.js.map +1 -1
  612. package/build/src/utils/fetch.js +8 -4
  613. package/build/src/utils/fetch.js.map +1 -1
  614. package/build/src/utils/filePath.js +10 -6
  615. package/build/src/utils/filePath.js.map +1 -1
  616. package/build/src/utils/findUp.js +13 -9
  617. package/build/src/utils/findUp.js.map +1 -1
  618. package/build/src/utils/fn.js +6 -2
  619. package/build/src/utils/fn.js.map +1 -1
  620. package/build/src/utils/getOrPromptApplicationId.js +32 -26
  621. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  622. package/build/src/utils/getRunningProcess.js +29 -21
  623. package/build/src/utils/getRunningProcess.js.map +1 -1
  624. package/build/src/utils/git.js +26 -20
  625. package/build/src/utils/git.js.map +1 -1
  626. package/build/src/utils/glob.js +8 -4
  627. package/build/src/utils/glob.js.map +1 -1
  628. package/build/src/utils/interactive.js +3 -1
  629. package/build/src/utils/interactive.js.map +1 -1
  630. package/build/src/utils/ip.js +21 -19
  631. package/build/src/utils/ip.js.map +1 -1
  632. package/build/src/utils/isModuleSymlinked.js +11 -9
  633. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  634. package/build/src/utils/jsonSchemaDeref.js +20 -18
  635. package/build/src/utils/jsonSchemaDeref.js.map +1 -1
  636. package/build/src/utils/link.js +17 -13
  637. package/build/src/utils/link.js.map +1 -1
  638. package/build/src/utils/mergeGitIgnorePaths.js +46 -28
  639. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  640. package/build/src/utils/modifyConfigAsync.js +16 -10
  641. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  642. package/build/src/utils/modifyConfigPlugins.js +10 -6
  643. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  644. package/build/src/utils/nodeEnv.js +12 -6
  645. package/build/src/utils/nodeEnv.js.map +1 -1
  646. package/build/src/utils/nodeModules.js +10 -8
  647. package/build/src/utils/nodeModules.js.map +1 -1
  648. package/build/src/utils/npm.js +50 -36
  649. package/build/src/utils/npm.js.map +1 -1
  650. package/build/src/utils/obj.js +11 -5
  651. package/build/src/utils/obj.js.map +1 -1
  652. package/build/src/utils/open.js +10 -8
  653. package/build/src/utils/open.js.map +1 -1
  654. package/build/src/utils/ora.js +13 -7
  655. package/build/src/utils/ora.js.map +1 -1
  656. package/build/src/utils/plist.js +21 -15
  657. package/build/src/utils/plist.js.map +1 -1
  658. package/build/src/utils/port.js +43 -33
  659. package/build/src/utils/port.js.map +1 -1
  660. package/build/src/utils/profile.js +11 -7
  661. package/build/src/utils/profile.js.map +1 -1
  662. package/build/src/utils/progress.js +11 -5
  663. package/build/src/utils/progress.js.map +1 -1
  664. package/build/src/utils/prompts.js +47 -29
  665. package/build/src/utils/prompts.js.map +1 -1
  666. package/build/src/utils/resolveArgs.js +36 -24
  667. package/build/src/utils/resolveArgs.js.map +1 -1
  668. package/build/src/utils/scheme.js +40 -32
  669. package/build/src/utils/scheme.js.map +1 -1
  670. package/build/src/utils/stream.js +5 -3
  671. package/build/src/utils/stream.js.map +1 -1
  672. package/build/src/utils/strings.js +6 -4
  673. package/build/src/utils/strings.js.map +1 -1
  674. package/build/src/utils/tar.js +19 -15
  675. package/build/src/utils/tar.js.map +1 -1
  676. package/build/src/utils/telemetry/Telemetry.js +29 -27
  677. package/build/src/utils/telemetry/Telemetry.js.map +1 -1
  678. package/build/src/utils/telemetry/clients/FetchClient.js +15 -13
  679. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
  680. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +26 -22
  681. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
  682. package/build/src/utils/telemetry/clients/RudderClient.js +10 -8
  683. package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
  684. package/build/src/utils/telemetry/clients/RudderDetachedClient.js +26 -22
  685. package/build/src/utils/telemetry/clients/RudderDetachedClient.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/clients/flushRudderDetached.js +10 -10
  689. package/build/src/utils/telemetry/clients/flushRudderDetached.js.map +1 -1
  690. package/build/src/utils/telemetry/events.js +4 -2
  691. package/build/src/utils/telemetry/events.js.map +1 -1
  692. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  693. package/build/src/utils/telemetry/index.js +25 -29
  694. package/build/src/utils/telemetry/index.js.map +1 -1
  695. package/build/src/utils/telemetry/types.js.map +1 -1
  696. package/build/src/utils/telemetry/utils/constants.js +8 -4
  697. package/build/src/utils/telemetry/utils/constants.js.map +1 -1
  698. package/build/src/utils/telemetry/utils/context.js +18 -14
  699. package/build/src/utils/telemetry/utils/context.js.map +1 -1
  700. package/build/src/utils/template.js +6 -4
  701. package/build/src/utils/template.js.map +1 -1
  702. package/build/src/utils/terminal.js +4 -2
  703. package/build/src/utils/terminal.js.map +1 -1
  704. package/build/src/utils/tsconfig/evaluateTsConfig.js +21 -17
  705. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  706. package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -14
  707. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  708. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +7 -5
  709. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  710. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +14 -12
  711. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  712. package/build/src/utils/url.js +23 -13
  713. package/build/src/utils/url.js.map +1 -1
  714. package/build/src/utils/validateApplicationId.js +108 -86
  715. package/build/src/utils/validateApplicationId.js.map +1 -1
  716. package/build/src/utils/variadic.js +22 -16
  717. package/build/src/utils/variadic.js.map +1 -1
  718. package/build/src/whoami/index.js +11 -7
  719. package/build/src/whoami/index.js.map +1 -1
  720. package/build/src/whoami/whoamiAsync.js +11 -7
  721. package/build/src/whoami/whoamiAsync.js.map +1 -1
  722. package/package.json +3 -3
@@ -4,56 +4,58 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "resolveInstallApkNameAsync", {
6
6
  enumerable: true,
7
- get: ()=>resolveInstallApkNameAsync
7
+ get: function() {
8
+ return resolveInstallApkNameAsync;
9
+ }
8
10
  });
9
11
  function _fs() {
10
- const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
12
+ const data = /*#__PURE__*/ _interop_require_default(require("fs"));
11
13
  _fs = function() {
12
14
  return data;
13
15
  };
14
16
  return data;
15
17
  }
16
18
  function _path() {
17
- const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
19
+ const data = /*#__PURE__*/ _interop_require_default(require("path"));
18
20
  _path = function() {
19
21
  return data;
20
22
  };
21
23
  return data;
22
24
  }
23
25
  const _adb = require("../../start/platforms/android/adb");
24
- function _interopRequireDefault(obj) {
26
+ function _interop_require_default(obj) {
25
27
  return obj && obj.__esModule ? obj : {
26
28
  default: obj
27
29
  };
28
30
  }
29
- const debug = require("debug")("expo:run:android:resolveInstallApkName");
30
- async function resolveInstallApkNameAsync(device, { appName , buildType , flavors , apkVariantDirectory }) {
31
+ const debug = require('debug')('expo:run:android:resolveInstallApkName');
32
+ async function resolveInstallApkNameAsync(device, { appName, buildType, flavors, apkVariantDirectory }) {
31
33
  const availableCPUs = await (0, _adb.getDeviceABIsAsync)(device);
32
34
  availableCPUs.push(_adb.DeviceABI.universal);
33
- debug("Supported ABIs: " + availableCPUs.join(", "));
34
- debug("Searching for APK: " + apkVariantDirectory);
35
+ debug('Supported ABIs: ' + availableCPUs.join(', '));
36
+ debug('Searching for APK: ' + apkVariantDirectory);
35
37
  // Check for cpu specific builds first
36
38
  for (const availableCPU of availableCPUs){
37
39
  const apkName = getApkFileName(appName, buildType, flavors, availableCPU);
38
40
  const apkPath = _path().default.join(apkVariantDirectory, apkName);
39
- debug("Checking for APK at:", apkPath);
41
+ debug('Checking for APK at:', apkPath);
40
42
  if (_fs().default.existsSync(apkPath)) {
41
43
  return apkName;
42
44
  }
43
45
  }
44
46
  // Otherwise use the default apk named after the variant: app-debug.apk
45
- const apkName1 = getApkFileName(appName, buildType, flavors);
46
- const apkPath1 = _path().default.join(apkVariantDirectory, apkName1);
47
- debug("Checking for fallback APK at:", apkPath1);
48
- if (_fs().default.existsSync(apkPath1)) {
49
- return apkName1;
47
+ const apkName = getApkFileName(appName, buildType, flavors);
48
+ const apkPath = _path().default.join(apkVariantDirectory, apkName);
49
+ debug('Checking for fallback APK at:', apkPath);
50
+ if (_fs().default.existsSync(apkPath)) {
51
+ return apkName;
50
52
  }
51
53
  return null;
52
54
  }
53
55
  function getApkFileName(appName, buildType, flavors, cpuArch) {
54
56
  let apkName = `${appName}-`;
55
57
  if (flavors) {
56
- apkName += flavors.reduce((rest, flavor)=>`${rest}${flavor}-`, "");
58
+ apkName += flavors.reduce((rest, flavor)=>`${rest}${flavor}-`, '');
57
59
  }
58
60
  if (cpuArch) {
59
61
  apkName += `${cpuArch}-`;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/run/android/resolveInstallApkName.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nimport { GradleProps } from './resolveGradlePropsAsync';\nimport { Device, DeviceABI, getDeviceABIsAsync } from '../../start/platforms/android/adb';\n\nconst debug = require('debug')('expo:run:android:resolveInstallApkName') as typeof console.log;\n\nexport async function resolveInstallApkNameAsync(\n device: Pick<Device, 'name' | 'pid'>,\n { appName, buildType, flavors, apkVariantDirectory }: GradleProps\n) {\n const availableCPUs = await getDeviceABIsAsync(device);\n availableCPUs.push(DeviceABI.universal);\n\n debug('Supported ABIs: ' + availableCPUs.join(', '));\n debug('Searching for APK: ' + apkVariantDirectory);\n\n // Check for cpu specific builds first\n for (const availableCPU of availableCPUs) {\n const apkName = getApkFileName(appName, buildType, flavors, availableCPU);\n const apkPath = path.join(apkVariantDirectory, apkName);\n debug('Checking for APK at:', apkPath);\n if (fs.existsSync(apkPath)) {\n return apkName;\n }\n }\n\n // Otherwise use the default apk named after the variant: app-debug.apk\n const apkName = getApkFileName(appName, buildType, flavors);\n const apkPath = path.join(apkVariantDirectory, apkName);\n debug('Checking for fallback APK at:', apkPath);\n if (fs.existsSync(apkPath)) {\n return apkName;\n }\n\n return null;\n}\n\nfunction getApkFileName(\n appName: string,\n buildType: string,\n flavors?: string[] | null,\n cpuArch?: string | null\n) {\n let apkName = `${appName}-`;\n if (flavors) {\n apkName += flavors.reduce((rest, flavor) => `${rest}${flavor}-`, '');\n }\n if (cpuArch) {\n apkName += `${cpuArch}-`;\n }\n apkName += `${buildType}.apk`;\n\n return apkName;\n}\n"],"names":["resolveInstallApkNameAsync","debug","require","device","appName","buildType","flavors","apkVariantDirectory","availableCPUs","getDeviceABIsAsync","push","DeviceABI","universal","join","availableCPU","apkName","getApkFileName","apkPath","path","fs","existsSync","cpuArch","reduce","rest","flavor"],"mappings":"AAAA;;;;+BAQsBA,4BAA0B;;aAA1BA,0BAA0B;;;8DARjC,IAAI;;;;;;;8DACF,MAAM;;;;;;qBAG+B,mCAAmC;;;;;;AAEzF,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,wCAAwC,CAAC,AAAsB,AAAC;AAExF,eAAeF,0BAA0B,CAC9CG,MAAoC,EACpC,EAAEC,OAAO,CAAA,EAAEC,SAAS,CAAA,EAAEC,OAAO,CAAA,EAAEC,mBAAmB,CAAA,EAAe,EACjE;IACA,MAAMC,aAAa,GAAG,MAAMC,IAAAA,IAAkB,mBAAA,EAACN,MAAM,CAAC,AAAC;IACvDK,aAAa,CAACE,IAAI,CAACC,IAAS,UAAA,CAACC,SAAS,CAAC,CAAC;IAExCX,KAAK,CAAC,kBAAkB,GAAGO,aAAa,CAACK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACrDZ,KAAK,CAAC,qBAAqB,GAAGM,mBAAmB,CAAC,CAAC;IAEnD,sCAAsC;IACtC,KAAK,MAAMO,YAAY,IAAIN,aAAa,CAAE;QACxC,MAAMO,OAAO,GAAGC,cAAc,CAACZ,OAAO,EAAEC,SAAS,EAAEC,OAAO,EAAEQ,YAAY,CAAC,AAAC;QAC1E,MAAMG,OAAO,GAAGC,KAAI,EAAA,QAAA,CAACL,IAAI,CAACN,mBAAmB,EAAEQ,OAAO,CAAC,AAAC;QACxDd,KAAK,CAAC,sBAAsB,EAAEgB,OAAO,CAAC,CAAC;QACvC,IAAIE,GAAE,EAAA,QAAA,CAACC,UAAU,CAACH,OAAO,CAAC,EAAE;YAC1B,OAAOF,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,MAAMA,QAAO,GAAGC,cAAc,CAACZ,OAAO,EAAEC,SAAS,EAAEC,OAAO,CAAC,AAAC;IAC5D,MAAMW,QAAO,GAAGC,KAAI,EAAA,QAAA,CAACL,IAAI,CAACN,mBAAmB,EAAEQ,QAAO,CAAC,AAAC;IACxDd,KAAK,CAAC,+BAA+B,EAAEgB,QAAO,CAAC,CAAC;IAChD,IAAIE,GAAE,EAAA,QAAA,CAACC,UAAU,CAACH,QAAO,CAAC,EAAE;QAC1B,OAAOF,QAAO,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAASC,cAAc,CACrBZ,OAAe,EACfC,SAAiB,EACjBC,OAAyB,EACzBe,OAAuB,EACvB;IACA,IAAIN,OAAO,GAAG,CAAC,EAAEX,OAAO,CAAC,CAAC,CAAC,AAAC;IAC5B,IAAIE,OAAO,EAAE;QACXS,OAAO,IAAIT,OAAO,CAACgB,MAAM,CAAC,CAACC,IAAI,EAAEC,MAAM,GAAK,CAAC,EAAED,IAAI,CAAC,EAAEC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,IAAIH,OAAO,EAAE;QACXN,OAAO,IAAI,CAAC,EAAEM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACDN,OAAO,IAAI,CAAC,EAAEV,SAAS,CAAC,IAAI,CAAC,CAAC;IAE9B,OAAOU,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"sources":["../../../../src/run/android/resolveInstallApkName.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nimport { GradleProps } from './resolveGradlePropsAsync';\nimport { Device, DeviceABI, getDeviceABIsAsync } from '../../start/platforms/android/adb';\n\nconst debug = require('debug')('expo:run:android:resolveInstallApkName') as typeof console.log;\n\nexport async function resolveInstallApkNameAsync(\n device: Pick<Device, 'name' | 'pid'>,\n { appName, buildType, flavors, apkVariantDirectory }: GradleProps\n) {\n const availableCPUs = await getDeviceABIsAsync(device);\n availableCPUs.push(DeviceABI.universal);\n\n debug('Supported ABIs: ' + availableCPUs.join(', '));\n debug('Searching for APK: ' + apkVariantDirectory);\n\n // Check for cpu specific builds first\n for (const availableCPU of availableCPUs) {\n const apkName = getApkFileName(appName, buildType, flavors, availableCPU);\n const apkPath = path.join(apkVariantDirectory, apkName);\n debug('Checking for APK at:', apkPath);\n if (fs.existsSync(apkPath)) {\n return apkName;\n }\n }\n\n // Otherwise use the default apk named after the variant: app-debug.apk\n const apkName = getApkFileName(appName, buildType, flavors);\n const apkPath = path.join(apkVariantDirectory, apkName);\n debug('Checking for fallback APK at:', apkPath);\n if (fs.existsSync(apkPath)) {\n return apkName;\n }\n\n return null;\n}\n\nfunction getApkFileName(\n appName: string,\n buildType: string,\n flavors?: string[] | null,\n cpuArch?: string | null\n) {\n let apkName = `${appName}-`;\n if (flavors) {\n apkName += flavors.reduce((rest, flavor) => `${rest}${flavor}-`, '');\n }\n if (cpuArch) {\n apkName += `${cpuArch}-`;\n }\n apkName += `${buildType}.apk`;\n\n return apkName;\n}\n"],"names":["resolveInstallApkNameAsync","debug","require","device","appName","buildType","flavors","apkVariantDirectory","availableCPUs","getDeviceABIsAsync","push","DeviceABI","universal","join","availableCPU","apkName","getApkFileName","apkPath","path","fs","existsSync","cpuArch","reduce","rest","flavor"],"mappings":";;;;+BAQsBA;;;eAAAA;;;;gEARP;;;;;;;gEACE;;;;;;qBAGqC;;;;;;AAEtD,MAAMC,QAAQC,QAAQ,SAAS;AAExB,eAAeF,2BACpBG,MAAoC,EACpC,EAAEC,OAAO,EAAEC,SAAS,EAAEC,OAAO,EAAEC,mBAAmB,EAAe;IAEjE,MAAMC,gBAAgB,MAAMC,IAAAA,uBAAkB,EAACN;IAC/CK,cAAcE,IAAI,CAACC,cAAS,CAACC,SAAS;IAEtCX,MAAM,qBAAqBO,cAAcK,IAAI,CAAC;IAC9CZ,MAAM,wBAAwBM;IAE9B,sCAAsC;IACtC,KAAK,MAAMO,gBAAgBN,cAAe;QACxC,MAAMO,UAAUC,eAAeZ,SAASC,WAAWC,SAASQ;QAC5D,MAAMG,UAAUC,eAAI,CAACL,IAAI,CAACN,qBAAqBQ;QAC/Cd,MAAM,wBAAwBgB;QAC9B,IAAIE,aAAE,CAACC,UAAU,CAACH,UAAU;YAC1B,OAAOF;QACT;IACF;IAEA,uEAAuE;IACvE,MAAMA,UAAUC,eAAeZ,SAASC,WAAWC;IACnD,MAAMW,UAAUC,eAAI,CAACL,IAAI,CAACN,qBAAqBQ;IAC/Cd,MAAM,iCAAiCgB;IACvC,IAAIE,aAAE,CAACC,UAAU,CAACH,UAAU;QAC1B,OAAOF;IACT;IAEA,OAAO;AACT;AAEA,SAASC,eACPZ,OAAe,EACfC,SAAiB,EACjBC,OAAyB,EACzBe,OAAuB;IAEvB,IAAIN,UAAU,GAAGX,QAAQ,CAAC,CAAC;IAC3B,IAAIE,SAAS;QACXS,WAAWT,QAAQgB,MAAM,CAAC,CAACC,MAAMC,SAAW,GAAGD,OAAOC,OAAO,CAAC,CAAC,EAAE;IACnE;IACA,IAAIH,SAAS;QACXN,WAAW,GAAGM,QAAQ,CAAC,CAAC;IAC1B;IACAN,WAAW,GAAGV,UAAU,IAAI,CAAC;IAE7B,OAAOU;AACT"}
@@ -4,31 +4,33 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "resolveLaunchPropsAsync", {
6
6
  enumerable: true,
7
- get: ()=>resolveLaunchPropsAsync
7
+ get: function() {
8
+ return resolveLaunchPropsAsync;
9
+ }
8
10
  });
9
- function _configPlugins() {
11
+ function _configplugins() {
10
12
  const data = require("@expo/config-plugins");
11
- _configPlugins = function() {
13
+ _configplugins = function() {
12
14
  return data;
13
15
  };
14
16
  return data;
15
17
  }
16
- const _androidAppIdResolver = require("../../start/platforms/android/AndroidAppIdResolver");
18
+ const _AndroidAppIdResolver = require("../../start/platforms/android/AndroidAppIdResolver");
17
19
  const _errors = require("../../utils/errors");
18
20
  async function getMainActivityAsync(projectRoot) {
19
- const filePath = await _configPlugins().AndroidConfig.Paths.getAndroidManifestAsync(projectRoot);
20
- const androidManifest = await _configPlugins().AndroidConfig.Manifest.readAndroidManifestAsync(filePath);
21
+ const filePath = await _configplugins().AndroidConfig.Paths.getAndroidManifestAsync(projectRoot);
22
+ const androidManifest = await _configplugins().AndroidConfig.Manifest.readAndroidManifestAsync(filePath);
21
23
  // Assert MainActivity defined.
22
- const activity = await _configPlugins().AndroidConfig.Manifest.getRunnableActivity(androidManifest);
24
+ const activity = await _configplugins().AndroidConfig.Manifest.getRunnableActivity(androidManifest);
23
25
  if (!activity) {
24
- throw new _errors.CommandError("ANDROID_MALFORMED", `${filePath} is missing a runnable activity element.`);
26
+ throw new _errors.CommandError('ANDROID_MALFORMED', `${filePath} is missing a runnable activity element.`);
25
27
  }
26
28
  // Often this is ".MainActivity"
27
- return activity.$["android:name"];
29
+ return activity.$['android:name'];
28
30
  }
29
31
  async function resolveLaunchPropsAsync(projectRoot, options) {
30
32
  const mainActivity = await getMainActivityAsync(projectRoot);
31
- const packageName = await new _androidAppIdResolver.AndroidAppIdResolver(projectRoot).getAppIdFromNativeAsync();
33
+ const packageName = await new _AndroidAppIdResolver.AndroidAppIdResolver(projectRoot).getAppIdFromNativeAsync();
32
34
  const customAppId = options.appId;
33
35
  const launchActivity = customAppId && customAppId !== packageName ? `${customAppId}/${packageName}${mainActivity}` : `${packageName}/${mainActivity}`;
34
36
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/run/android/resolveLaunchProps.ts"],"sourcesContent":["import { AndroidConfig } from '@expo/config-plugins';\n\nimport { AndroidAppIdResolver } from '../../start/platforms/android/AndroidAppIdResolver';\nimport { CommandError } from '../../utils/errors';\n\nexport interface LaunchProps {\n /**\n * The \"common\" Android package name, configured through the app manifest.\n * @see https://source.android.com/docs/core/architecture/hidl/code-style#package-names\n */\n packageName: string;\n /**\n * Optional customized application ID, used in product flavors.\n * @see https://developer.android.com/build/build-variants#change-app-id\n */\n customAppId?: string;\n /**\n * The main activity to launch, by default this is `.MainActivity`.\n * @see https://github.com/expo/expo/blob/c0aec226a43c0f186258a063a6145c3e52246f8a/templates/expo-template-bare-minimum/android/app/src/main/AndroidManifest.xml#L22\n */\n mainActivity: string;\n /**\n * The full launch activity reference used in the app intent to launch the app with `adb am start -n <launchActivity>`.\n * Usually, this is structured as `<package-name>/.<activity-name>`.\n * For product flavors, this is structured as `<custom-app-id>/<package-name>.<activity-name>`.\n * @see https://developer.android.com/studio/command-line/adb#IntentSpec\n */\n launchActivity: string;\n}\n\nasync function getMainActivityAsync(projectRoot: string): Promise<string> {\n const filePath = await AndroidConfig.Paths.getAndroidManifestAsync(projectRoot);\n const androidManifest = await AndroidConfig.Manifest.readAndroidManifestAsync(filePath);\n\n // Assert MainActivity defined.\n const activity = await AndroidConfig.Manifest.getRunnableActivity(androidManifest);\n if (!activity) {\n throw new CommandError(\n 'ANDROID_MALFORMED',\n `${filePath} is missing a runnable activity element.`\n );\n }\n // Often this is \".MainActivity\"\n return activity.$['android:name'];\n}\n\nexport async function resolveLaunchPropsAsync(\n projectRoot: string,\n options: { appId?: string }\n): Promise<LaunchProps> {\n const mainActivity = await getMainActivityAsync(projectRoot);\n const packageName = await new AndroidAppIdResolver(projectRoot).getAppIdFromNativeAsync();\n const customAppId = options.appId;\n\n const launchActivity =\n customAppId && customAppId !== packageName\n ? `${customAppId}/${packageName}${mainActivity}`\n : `${packageName}/${mainActivity}`;\n\n return {\n mainActivity,\n launchActivity,\n packageName,\n customAppId,\n };\n}\n"],"names":["resolveLaunchPropsAsync","getMainActivityAsync","projectRoot","filePath","AndroidConfig","Paths","getAndroidManifestAsync","androidManifest","Manifest","readAndroidManifestAsync","activity","getRunnableActivity","CommandError","$","options","mainActivity","packageName","AndroidAppIdResolver","getAppIdFromNativeAsync","customAppId","appId","launchActivity"],"mappings":"AAAA;;;;+BA8CsBA,yBAAuB;;aAAvBA,uBAAuB;;;yBA9Cf,sBAAsB;;;;;;sCAEf,oDAAoD;wBAC5D,oBAAoB;AA2BjD,eAAeC,oBAAoB,CAACC,WAAmB,EAAmB;IACxE,MAAMC,QAAQ,GAAG,MAAMC,cAAa,EAAA,cAAA,CAACC,KAAK,CAACC,uBAAuB,CAACJ,WAAW,CAAC,AAAC;IAChF,MAAMK,eAAe,GAAG,MAAMH,cAAa,EAAA,cAAA,CAACI,QAAQ,CAACC,wBAAwB,CAACN,QAAQ,CAAC,AAAC;IAExF,+BAA+B;IAC/B,MAAMO,QAAQ,GAAG,MAAMN,cAAa,EAAA,cAAA,CAACI,QAAQ,CAACG,mBAAmB,CAACJ,eAAe,CAAC,AAAC;IACnF,IAAI,CAACG,QAAQ,EAAE;QACb,MAAM,IAAIE,OAAY,aAAA,CACpB,mBAAmB,EACnB,CAAC,EAAET,QAAQ,CAAC,wCAAwC,CAAC,CACtD,CAAC;IACJ,CAAC;IACD,gCAAgC;IAChC,OAAOO,QAAQ,CAACG,CAAC,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC;AAEM,eAAeb,uBAAuB,CAC3CE,WAAmB,EACnBY,OAA2B,EACL;IACtB,MAAMC,YAAY,GAAG,MAAMd,oBAAoB,CAACC,WAAW,CAAC,AAAC;IAC7D,MAAMc,WAAW,GAAG,MAAM,IAAIC,qBAAoB,qBAAA,CAACf,WAAW,CAAC,CAACgB,uBAAuB,EAAE,AAAC;IAC1F,MAAMC,WAAW,GAAGL,OAAO,CAACM,KAAK,AAAC;IAElC,MAAMC,cAAc,GAClBF,WAAW,IAAIA,WAAW,KAAKH,WAAW,GACtC,CAAC,EAAEG,WAAW,CAAC,CAAC,EAAEH,WAAW,CAAC,EAAED,YAAY,CAAC,CAAC,GAC9C,CAAC,EAAEC,WAAW,CAAC,CAAC,EAAED,YAAY,CAAC,CAAC,AAAC;IAEvC,OAAO;QACLA,YAAY;QACZM,cAAc;QACdL,WAAW;QACXG,WAAW;KACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"sources":["../../../../src/run/android/resolveLaunchProps.ts"],"sourcesContent":["import { AndroidConfig } from '@expo/config-plugins';\n\nimport { AndroidAppIdResolver } from '../../start/platforms/android/AndroidAppIdResolver';\nimport { CommandError } from '../../utils/errors';\n\nexport interface LaunchProps {\n /**\n * The \"common\" Android package name, configured through the app manifest.\n * @see https://source.android.com/docs/core/architecture/hidl/code-style#package-names\n */\n packageName: string;\n /**\n * Optional customized application ID, used in product flavors.\n * @see https://developer.android.com/build/build-variants#change-app-id\n */\n customAppId?: string;\n /**\n * The main activity to launch, by default this is `.MainActivity`.\n * @see https://github.com/expo/expo/blob/c0aec226a43c0f186258a063a6145c3e52246f8a/templates/expo-template-bare-minimum/android/app/src/main/AndroidManifest.xml#L22\n */\n mainActivity: string;\n /**\n * The full launch activity reference used in the app intent to launch the app with `adb am start -n <launchActivity>`.\n * Usually, this is structured as `<package-name>/.<activity-name>`.\n * For product flavors, this is structured as `<custom-app-id>/<package-name>.<activity-name>`.\n * @see https://developer.android.com/studio/command-line/adb#IntentSpec\n */\n launchActivity: string;\n}\n\nasync function getMainActivityAsync(projectRoot: string): Promise<string> {\n const filePath = await AndroidConfig.Paths.getAndroidManifestAsync(projectRoot);\n const androidManifest = await AndroidConfig.Manifest.readAndroidManifestAsync(filePath);\n\n // Assert MainActivity defined.\n const activity = await AndroidConfig.Manifest.getRunnableActivity(androidManifest);\n if (!activity) {\n throw new CommandError(\n 'ANDROID_MALFORMED',\n `${filePath} is missing a runnable activity element.`\n );\n }\n // Often this is \".MainActivity\"\n return activity.$['android:name'];\n}\n\nexport async function resolveLaunchPropsAsync(\n projectRoot: string,\n options: { appId?: string }\n): Promise<LaunchProps> {\n const mainActivity = await getMainActivityAsync(projectRoot);\n const packageName = await new AndroidAppIdResolver(projectRoot).getAppIdFromNativeAsync();\n const customAppId = options.appId;\n\n const launchActivity =\n customAppId && customAppId !== packageName\n ? `${customAppId}/${packageName}${mainActivity}`\n : `${packageName}/${mainActivity}`;\n\n return {\n mainActivity,\n launchActivity,\n packageName,\n customAppId,\n };\n}\n"],"names":["resolveLaunchPropsAsync","getMainActivityAsync","projectRoot","filePath","AndroidConfig","Paths","getAndroidManifestAsync","androidManifest","Manifest","readAndroidManifestAsync","activity","getRunnableActivity","CommandError","$","options","mainActivity","packageName","AndroidAppIdResolver","getAppIdFromNativeAsync","customAppId","appId","launchActivity"],"mappings":";;;;+BA8CsBA;;;eAAAA;;;;yBA9CQ;;;;;;sCAEO;wBACR;AA2B7B,eAAeC,qBAAqBC,WAAmB;IACrD,MAAMC,WAAW,MAAMC,8BAAa,CAACC,KAAK,CAACC,uBAAuB,CAACJ;IACnE,MAAMK,kBAAkB,MAAMH,8BAAa,CAACI,QAAQ,CAACC,wBAAwB,CAACN;IAE9E,+BAA+B;IAC/B,MAAMO,WAAW,MAAMN,8BAAa,CAACI,QAAQ,CAACG,mBAAmB,CAACJ;IAClE,IAAI,CAACG,UAAU;QACb,MAAM,IAAIE,oBAAY,CACpB,qBACA,GAAGT,SAAS,wCAAwC,CAAC;IAEzD;IACA,gCAAgC;IAChC,OAAOO,SAASG,CAAC,CAAC,eAAe;AACnC;AAEO,eAAeb,wBACpBE,WAAmB,EACnBY,OAA2B;IAE3B,MAAMC,eAAe,MAAMd,qBAAqBC;IAChD,MAAMc,cAAc,MAAM,IAAIC,0CAAoB,CAACf,aAAagB,uBAAuB;IACvF,MAAMC,cAAcL,QAAQM,KAAK;IAEjC,MAAMC,iBACJF,eAAeA,gBAAgBH,cAC3B,GAAGG,YAAY,CAAC,EAAEH,cAAcD,cAAc,GAC9C,GAAGC,YAAY,CAAC,EAAED,cAAc;IAEtC,OAAO;QACLA;QACAM;QACAL;QACAG;IACF;AACF"}
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "resolveOptionsAsync", {
6
6
  enumerable: true,
7
- get: ()=>resolveOptionsAsync
7
+ get: function() {
8
+ return resolveOptionsAsync;
9
+ }
8
10
  });
9
11
  const _resolveDevice = require("./resolveDevice");
10
12
  const _resolveGradlePropsAsync = require("./resolveGradlePropsAsync");
@@ -17,7 +19,7 @@ async function resolveOptionsAsync(projectRoot, options) {
17
19
  ...await (0, _resolveBundlerProps.resolveBundlerPropsAsync)(projectRoot, options),
18
20
  ...await (0, _resolveGradlePropsAsync.resolveGradlePropsAsync)(projectRoot, options, device.device),
19
21
  ...await (0, _resolveLaunchProps.resolveLaunchPropsAsync)(projectRoot, options),
20
- variant: options.variant ?? "debug",
22
+ variant: options.variant ?? 'debug',
21
23
  // Resolve the device based on the provided device id or prompt
22
24
  // from a list of devices (connected or simulated) that are filtered by the scheme.
23
25
  device,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/run/android/resolveOptions.ts"],"sourcesContent":["import { resolveDeviceAsync } from './resolveDevice';\nimport { GradleProps, resolveGradlePropsAsync } from './resolveGradlePropsAsync';\nimport { LaunchProps, resolveLaunchPropsAsync } from './resolveLaunchProps';\nimport { AndroidDeviceManager } from '../../start/platforms/android/AndroidDeviceManager';\nimport { BundlerProps, resolveBundlerPropsAsync } from '../resolveBundlerProps';\n\nexport type Options = {\n variant?: string;\n device?: boolean | string;\n port?: number;\n bundler?: boolean;\n install?: boolean;\n buildCache?: boolean;\n allArch?: boolean;\n binary?: string;\n appId?: string;\n};\n\nexport type ResolvedOptions = GradleProps &\n BundlerProps &\n LaunchProps & {\n variant: string;\n buildCache: boolean;\n device: AndroidDeviceManager;\n install: boolean;\n architectures?: string;\n appId?: string;\n };\n\nexport async function resolveOptionsAsync(\n projectRoot: string,\n options: Options\n): Promise<ResolvedOptions> {\n // Resolve the device before the gradle props because we need the device to be running to get the ABI.\n const device = await resolveDeviceAsync(options.device);\n\n return {\n ...(await resolveBundlerPropsAsync(projectRoot, options)),\n ...(await resolveGradlePropsAsync(projectRoot, options, device.device)),\n ...(await resolveLaunchPropsAsync(projectRoot, options)),\n variant: options.variant ?? 'debug',\n // Resolve the device based on the provided device id or prompt\n // from a list of devices (connected or simulated) that are filtered by the scheme.\n device,\n buildCache: !!options.buildCache,\n install: !!options.install,\n };\n}\n"],"names":["resolveOptionsAsync","projectRoot","options","device","resolveDeviceAsync","resolveBundlerPropsAsync","resolveGradlePropsAsync","resolveLaunchPropsAsync","variant","buildCache","install"],"mappings":"AAAA;;;;+BA6BsBA,qBAAmB;;aAAnBA,mBAAmB;;+BA7BN,iBAAiB;yCACC,2BAA2B;oCAC3B,sBAAsB;qCAEpB,wBAAwB;AAyBxE,eAAeA,mBAAmB,CACvCC,WAAmB,EACnBC,OAAgB,EACU;IAC1B,sGAAsG;IACtG,MAAMC,MAAM,GAAG,MAAMC,IAAAA,cAAkB,mBAAA,EAACF,OAAO,CAACC,MAAM,CAAC,AAAC;IAExD,OAAO;QACL,GAAI,MAAME,IAAAA,oBAAwB,yBAAA,EAACJ,WAAW,EAAEC,OAAO,CAAC;QACxD,GAAI,MAAMI,IAAAA,wBAAuB,wBAAA,EAACL,WAAW,EAAEC,OAAO,EAAEC,MAAM,CAACA,MAAM,CAAC;QACtE,GAAI,MAAMI,IAAAA,mBAAuB,wBAAA,EAACN,WAAW,EAAEC,OAAO,CAAC;QACvDM,OAAO,EAAEN,OAAO,CAACM,OAAO,IAAI,OAAO;QACnC,+DAA+D;QAC/D,mFAAmF;QACnFL,MAAM;QACNM,UAAU,EAAE,CAAC,CAACP,OAAO,CAACO,UAAU;QAChCC,OAAO,EAAE,CAAC,CAACR,OAAO,CAACQ,OAAO;KAC3B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"sources":["../../../../src/run/android/resolveOptions.ts"],"sourcesContent":["import { resolveDeviceAsync } from './resolveDevice';\nimport { GradleProps, resolveGradlePropsAsync } from './resolveGradlePropsAsync';\nimport { LaunchProps, resolveLaunchPropsAsync } from './resolveLaunchProps';\nimport { AndroidDeviceManager } from '../../start/platforms/android/AndroidDeviceManager';\nimport { BundlerProps, resolveBundlerPropsAsync } from '../resolveBundlerProps';\n\nexport type Options = {\n variant?: string;\n device?: boolean | string;\n port?: number;\n bundler?: boolean;\n install?: boolean;\n buildCache?: boolean;\n allArch?: boolean;\n binary?: string;\n appId?: string;\n};\n\nexport type ResolvedOptions = GradleProps &\n BundlerProps &\n LaunchProps & {\n variant: string;\n buildCache: boolean;\n device: AndroidDeviceManager;\n install: boolean;\n architectures?: string;\n appId?: string;\n };\n\nexport async function resolveOptionsAsync(\n projectRoot: string,\n options: Options\n): Promise<ResolvedOptions> {\n // Resolve the device before the gradle props because we need the device to be running to get the ABI.\n const device = await resolveDeviceAsync(options.device);\n\n return {\n ...(await resolveBundlerPropsAsync(projectRoot, options)),\n ...(await resolveGradlePropsAsync(projectRoot, options, device.device)),\n ...(await resolveLaunchPropsAsync(projectRoot, options)),\n variant: options.variant ?? 'debug',\n // Resolve the device based on the provided device id or prompt\n // from a list of devices (connected or simulated) that are filtered by the scheme.\n device,\n buildCache: !!options.buildCache,\n install: !!options.install,\n };\n}\n"],"names":["resolveOptionsAsync","projectRoot","options","device","resolveDeviceAsync","resolveBundlerPropsAsync","resolveGradlePropsAsync","resolveLaunchPropsAsync","variant","buildCache","install"],"mappings":";;;;+BA6BsBA;;;eAAAA;;;+BA7Ba;yCACkB;oCACA;qCAEE;AAyBhD,eAAeA,oBACpBC,WAAmB,EACnBC,OAAgB;IAEhB,sGAAsG;IACtG,MAAMC,SAAS,MAAMC,IAAAA,iCAAkB,EAACF,QAAQC,MAAM;IAEtD,OAAO;QACL,GAAI,MAAME,IAAAA,6CAAwB,EAACJ,aAAaC,QAAQ;QACxD,GAAI,MAAMI,IAAAA,gDAAuB,EAACL,aAAaC,SAASC,OAAOA,MAAM,CAAC;QACtE,GAAI,MAAMI,IAAAA,2CAAuB,EAACN,aAAaC,QAAQ;QACvDM,SAASN,QAAQM,OAAO,IAAI;QAC5B,+DAA+D;QAC/D,mFAAmF;QACnFL;QACAM,YAAY,CAAC,CAACP,QAAQO,UAAU;QAChCC,SAAS,CAAC,CAACR,QAAQQ,OAAO;IAC5B;AACF"}
@@ -4,24 +4,26 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "runAndroidAsync", {
6
6
  enumerable: true,
7
- get: ()=>runAndroidAsync
7
+ get: function() {
8
+ return runAndroidAsync;
9
+ }
8
10
  });
9
11
  function _chalk() {
10
- const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
12
+ const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
11
13
  _chalk = function() {
12
14
  return data;
13
15
  };
14
16
  return data;
15
17
  }
16
18
  function _fs() {
17
- const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
19
+ const data = /*#__PURE__*/ _interop_require_default(require("fs"));
18
20
  _fs = function() {
19
21
  return data;
20
22
  };
21
23
  return data;
22
24
  }
23
25
  function _path() {
24
- const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
26
+ const data = /*#__PURE__*/ _interop_require_default(require("path"));
25
27
  _path = function() {
26
28
  return data;
27
29
  };
@@ -39,32 +41,32 @@ const _scheme = require("../../utils/scheme");
39
41
  const _ensureNativeProject = require("../ensureNativeProject");
40
42
  const _hints = require("../hints");
41
43
  const _startBundler = require("../startBundler");
42
- function _interopRequireDefault(obj) {
44
+ function _interop_require_default(obj) {
43
45
  return obj && obj.__esModule ? obj : {
44
46
  default: obj
45
47
  };
46
48
  }
47
- const debug = require("debug")("expo:run:android");
48
- async function runAndroidAsync(projectRoot, { install , ...options }) {
49
- var ref, ref1;
49
+ const debug = require('debug')('expo:run:android');
50
+ async function runAndroidAsync(projectRoot, { install, ...options }) {
51
+ var _options_variant, _this;
50
52
  // NOTE: This is a guess, the developer can overwrite with `NODE_ENV`.
51
- const isProduction = (ref = options.variant) == null ? void 0 : ref.toLowerCase().endsWith("release");
52
- (0, _nodeEnv.setNodeEnv)(isProduction ? "production" : "development");
53
- require("@expo/env").load(projectRoot);
53
+ const isProduction = (_options_variant = options.variant) == null ? void 0 : _options_variant.toLowerCase().endsWith('release');
54
+ (0, _nodeEnv.setNodeEnv)(isProduction ? 'production' : 'development');
55
+ require('@expo/env').load(projectRoot);
54
56
  await (0, _ensureNativeProject.ensureNativeProjectAsync)(projectRoot, {
55
- platform: "android",
57
+ platform: 'android',
56
58
  install
57
59
  });
58
60
  const props = await (0, _resolveOptions.resolveOptionsAsync)(projectRoot, options);
59
- debug("Package name: " + props.packageName);
60
- _log.Log.log("› Building app...");
61
- const androidProjectRoot = _path().default.join(projectRoot, "android");
61
+ debug('Package name: ' + props.packageName);
62
+ _log.Log.log('› Building app...');
63
+ const androidProjectRoot = _path().default.join(projectRoot, 'android');
62
64
  if (!options.binary) {
63
65
  let eagerBundleOptions;
64
66
  if (isProduction) {
65
67
  eagerBundleOptions = JSON.stringify(await (0, _exportEager.exportEagerAsync)(projectRoot, {
66
68
  dev: false,
67
- platform: "android"
69
+ platform: 'android'
68
70
  }));
69
71
  }
70
72
  await (0, _gradle.assembleAsync)(androidProjectRoot, {
@@ -83,7 +85,7 @@ async function runAndroidAsync(projectRoot, { install , ...options }) {
83
85
  const manager = await (0, _startBundler.startBundlerAsync)(projectRoot, {
84
86
  port: props.port,
85
87
  // If a scheme is specified then use that instead of the package name.
86
- scheme: (ref1 = await (0, _scheme.getSchemesForAndroidAsync)(projectRoot)) == null ? void 0 : ref1[0],
88
+ scheme: (_this = await (0, _scheme.getSchemesForAndroidAsync)(projectRoot)) == null ? void 0 : _this[0],
87
89
  headless: !props.shouldStartBundler
88
90
  });
89
91
  if (options.binary) {
@@ -97,7 +99,7 @@ async function runAndroidAsync(projectRoot, { install , ...options }) {
97
99
  } else {
98
100
  await installAppAsync(androidProjectRoot, props);
99
101
  }
100
- await manager.getDefaultDevServer().openCustomRuntimeAsync("emulator", {
102
+ await manager.getDefaultDevServer().openCustomRuntimeAsync('emulator', {
101
103
  applicationId: props.packageName,
102
104
  customAppId: props.customAppId,
103
105
  launchActivity: props.launchActivity
@@ -121,10 +123,10 @@ async function installAppAsync(androidProjectRoot, props) {
121
123
  } else {
122
124
  // If we cannot resolve the APK file path then we can attempt to install using Gradle.
123
125
  // This offers more advanced resolution that we may not have first class support for.
124
- _log.Log.log("› Failed to locate binary file, installing with Gradle...");
126
+ _log.Log.log('› Failed to locate binary file, installing with Gradle...');
125
127
  await (0, _gradle.installAsync)(androidProjectRoot, {
126
- variant: props.variant ?? "debug",
127
- appName: props.appName ?? "app",
128
+ variant: props.variant ?? 'debug',
129
+ appName: props.appName ?? 'app',
128
130
  port: props.port
129
131
  });
130
132
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/run/android/runAndroidAsync.ts"],"sourcesContent":["import chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { resolveInstallApkNameAsync } from './resolveInstallApkName';\nimport { Options, ResolvedOptions, resolveOptionsAsync } from './resolveOptions';\nimport { exportEagerAsync } from '../../export/embed/exportEager';\nimport { Log } from '../../log';\nimport type { AndroidOpenInCustomProps } from '../../start/platforms/android/AndroidPlatformManager';\nimport { assembleAsync, installAsync } from '../../start/platforms/android/gradle';\nimport { CommandError } from '../../utils/errors';\nimport { setNodeEnv } from '../../utils/nodeEnv';\nimport { ensurePortAvailabilityAsync } from '../../utils/port';\nimport { getSchemesForAndroidAsync } from '../../utils/scheme';\nimport { ensureNativeProjectAsync } from '../ensureNativeProject';\nimport { logProjectLogsLocation } from '../hints';\nimport { startBundlerAsync } from '../startBundler';\n\nconst debug = require('debug')('expo:run:android');\n\nexport async function runAndroidAsync(projectRoot: string, { install, ...options }: Options) {\n // NOTE: This is a guess, the developer can overwrite with `NODE_ENV`.\n const isProduction = options.variant?.toLowerCase().endsWith('release');\n setNodeEnv(isProduction ? 'production' : 'development');\n require('@expo/env').load(projectRoot);\n\n await ensureNativeProjectAsync(projectRoot, { platform: 'android', install });\n\n const props = await resolveOptionsAsync(projectRoot, options);\n\n debug('Package name: ' + props.packageName);\n Log.log('› Building app...');\n\n const androidProjectRoot = path.join(projectRoot, 'android');\n\n if (!options.binary) {\n let eagerBundleOptions: string | undefined;\n\n if (isProduction) {\n eagerBundleOptions = JSON.stringify(\n await exportEagerAsync(projectRoot, {\n dev: false,\n platform: 'android',\n })\n );\n }\n\n await assembleAsync(androidProjectRoot, {\n variant: props.variant,\n port: props.port,\n appName: props.appName,\n buildCache: props.buildCache,\n architectures: props.architectures,\n eagerBundleOptions,\n });\n\n // Ensure the port hasn't become busy during the build.\n if (props.shouldStartBundler && !(await ensurePortAvailabilityAsync(projectRoot, props))) {\n props.shouldStartBundler = false;\n }\n }\n\n const manager = await startBundlerAsync(projectRoot, {\n port: props.port,\n // If a scheme is specified then use that instead of the package name.\n scheme: (await getSchemesForAndroidAsync(projectRoot))?.[0],\n headless: !props.shouldStartBundler,\n });\n\n if (options.binary) {\n // Attempt to install the APK from the file path\n const binaryPath = path.join(options.binary);\n\n if (!fs.existsSync(binaryPath)) {\n throw new CommandError(`The path to the custom Android binary does not exist: ${binaryPath}`);\n }\n Log.log(chalk.gray`\\u203A Installing ${binaryPath}`);\n await props.device.installAppAsync(binaryPath);\n } else {\n await installAppAsync(androidProjectRoot, props);\n }\n\n await manager.getDefaultDevServer().openCustomRuntimeAsync<AndroidOpenInCustomProps>(\n 'emulator',\n {\n applicationId: props.packageName,\n customAppId: props.customAppId,\n launchActivity: props.launchActivity,\n },\n { device: props.device.device }\n );\n\n if (props.shouldStartBundler) {\n logProjectLogsLocation();\n } else {\n await manager.stopAsync();\n }\n}\n\nasync function installAppAsync(androidProjectRoot: string, props: ResolvedOptions) {\n // Find the APK file path\n const apkFile = await resolveInstallApkNameAsync(props.device.device, props);\n\n if (apkFile) {\n // Attempt to install the APK from the file path\n const binaryPath = path.join(props.apkVariantDirectory, apkFile);\n Log.log(chalk.gray`\\u203A Installing ${binaryPath}`);\n await props.device.installAppAsync(binaryPath);\n } else {\n // If we cannot resolve the APK file path then we can attempt to install using Gradle.\n // This offers more advanced resolution that we may not have first class support for.\n Log.log('› Failed to locate binary file, installing with Gradle...');\n await installAsync(androidProjectRoot, {\n variant: props.variant ?? 'debug',\n appName: props.appName ?? 'app',\n port: props.port,\n });\n }\n}\n"],"names":["runAndroidAsync","debug","require","projectRoot","install","options","isProduction","variant","toLowerCase","endsWith","setNodeEnv","load","ensureNativeProjectAsync","platform","props","resolveOptionsAsync","packageName","Log","log","androidProjectRoot","path","join","binary","eagerBundleOptions","JSON","stringify","exportEagerAsync","dev","assembleAsync","port","appName","buildCache","architectures","shouldStartBundler","ensurePortAvailabilityAsync","manager","startBundlerAsync","scheme","getSchemesForAndroidAsync","headless","binaryPath","fs","existsSync","CommandError","chalk","gray","device","installAppAsync","getDefaultDevServer","openCustomRuntimeAsync","applicationId","customAppId","launchActivity","logProjectLogsLocation","stopAsync","apkFile","resolveInstallApkNameAsync","apkVariantDirectory","installAsync"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/run/android/runAndroidAsync.ts"],"sourcesContent":["import chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { resolveInstallApkNameAsync } from './resolveInstallApkName';\nimport { Options, ResolvedOptions, resolveOptionsAsync } from './resolveOptions';\nimport { exportEagerAsync } from '../../export/embed/exportEager';\nimport { Log } from '../../log';\nimport type { AndroidOpenInCustomProps } from '../../start/platforms/android/AndroidPlatformManager';\nimport { assembleAsync, installAsync } from '../../start/platforms/android/gradle';\nimport { CommandError } from '../../utils/errors';\nimport { setNodeEnv } from '../../utils/nodeEnv';\nimport { ensurePortAvailabilityAsync } from '../../utils/port';\nimport { getSchemesForAndroidAsync } from '../../utils/scheme';\nimport { ensureNativeProjectAsync } from '../ensureNativeProject';\nimport { logProjectLogsLocation } from '../hints';\nimport { startBundlerAsync } from '../startBundler';\n\nconst debug = require('debug')('expo:run:android');\n\nexport async function runAndroidAsync(projectRoot: string, { install, ...options }: Options) {\n // NOTE: This is a guess, the developer can overwrite with `NODE_ENV`.\n const isProduction = options.variant?.toLowerCase().endsWith('release');\n setNodeEnv(isProduction ? 'production' : 'development');\n require('@expo/env').load(projectRoot);\n\n await ensureNativeProjectAsync(projectRoot, { platform: 'android', install });\n\n const props = await resolveOptionsAsync(projectRoot, options);\n\n debug('Package name: ' + props.packageName);\n Log.log('› Building app...');\n\n const androidProjectRoot = path.join(projectRoot, 'android');\n\n if (!options.binary) {\n let eagerBundleOptions: string | undefined;\n\n if (isProduction) {\n eagerBundleOptions = JSON.stringify(\n await exportEagerAsync(projectRoot, {\n dev: false,\n platform: 'android',\n })\n );\n }\n\n await assembleAsync(androidProjectRoot, {\n variant: props.variant,\n port: props.port,\n appName: props.appName,\n buildCache: props.buildCache,\n architectures: props.architectures,\n eagerBundleOptions,\n });\n\n // Ensure the port hasn't become busy during the build.\n if (props.shouldStartBundler && !(await ensurePortAvailabilityAsync(projectRoot, props))) {\n props.shouldStartBundler = false;\n }\n }\n\n const manager = await startBundlerAsync(projectRoot, {\n port: props.port,\n // If a scheme is specified then use that instead of the package name.\n scheme: (await getSchemesForAndroidAsync(projectRoot))?.[0],\n headless: !props.shouldStartBundler,\n });\n\n if (options.binary) {\n // Attempt to install the APK from the file path\n const binaryPath = path.join(options.binary);\n\n if (!fs.existsSync(binaryPath)) {\n throw new CommandError(`The path to the custom Android binary does not exist: ${binaryPath}`);\n }\n Log.log(chalk.gray`\\u203A Installing ${binaryPath}`);\n await props.device.installAppAsync(binaryPath);\n } else {\n await installAppAsync(androidProjectRoot, props);\n }\n\n await manager.getDefaultDevServer().openCustomRuntimeAsync<AndroidOpenInCustomProps>(\n 'emulator',\n {\n applicationId: props.packageName,\n customAppId: props.customAppId,\n launchActivity: props.launchActivity,\n },\n { device: props.device.device }\n );\n\n if (props.shouldStartBundler) {\n logProjectLogsLocation();\n } else {\n await manager.stopAsync();\n }\n}\n\nasync function installAppAsync(androidProjectRoot: string, props: ResolvedOptions) {\n // Find the APK file path\n const apkFile = await resolveInstallApkNameAsync(props.device.device, props);\n\n if (apkFile) {\n // Attempt to install the APK from the file path\n const binaryPath = path.join(props.apkVariantDirectory, apkFile);\n Log.log(chalk.gray`\\u203A Installing ${binaryPath}`);\n await props.device.installAppAsync(binaryPath);\n } else {\n // If we cannot resolve the APK file path then we can attempt to install using Gradle.\n // This offers more advanced resolution that we may not have first class support for.\n Log.log('› Failed to locate binary file, installing with Gradle...');\n await installAsync(androidProjectRoot, {\n variant: props.variant ?? 'debug',\n appName: props.appName ?? 'app',\n port: props.port,\n });\n }\n}\n"],"names":["runAndroidAsync","debug","require","projectRoot","install","options","isProduction","variant","toLowerCase","endsWith","setNodeEnv","load","ensureNativeProjectAsync","platform","props","resolveOptionsAsync","packageName","Log","log","androidProjectRoot","path","join","binary","eagerBundleOptions","JSON","stringify","exportEagerAsync","dev","assembleAsync","port","appName","buildCache","architectures","shouldStartBundler","ensurePortAvailabilityAsync","manager","startBundlerAsync","scheme","getSchemesForAndroidAsync","headless","binaryPath","fs","existsSync","CommandError","chalk","gray","device","installAppAsync","getDefaultDevServer","openCustomRuntimeAsync","applicationId","customAppId","launchActivity","logProjectLogsLocation","stopAsync","apkFile","resolveInstallApkNameAsync","apkVariantDirectory","installAsync"],"mappings":"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"}
@@ -4,17 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "ensureNativeProjectAsync", {
6
6
  enumerable: true,
7
- get: ()=>ensureNativeProjectAsync
7
+ get: function() {
8
+ return ensureNativeProjectAsync;
9
+ }
8
10
  });
9
11
  function _fs() {
10
- const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
12
+ const data = /*#__PURE__*/ _interop_require_default(require("fs"));
11
13
  _fs = function() {
12
14
  return data;
13
15
  };
14
16
  return data;
15
17
  }
16
18
  function _path() {
17
- const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
19
+ const data = /*#__PURE__*/ _interop_require_default(require("path"));
18
20
  _path = function() {
19
21
  return data;
20
22
  };
@@ -23,12 +25,12 @@ function _path() {
23
25
  const _clearNativeFolder = require("../prebuild/clearNativeFolder");
24
26
  const _prebuildAsync = require("../prebuild/prebuildAsync");
25
27
  const _profile = require("../utils/profile");
26
- function _interopRequireDefault(obj) {
28
+ function _interop_require_default(obj) {
27
29
  return obj && obj.__esModule ? obj : {
28
30
  default: obj
29
31
  };
30
32
  }
31
- async function ensureNativeProjectAsync(projectRoot, { platform , install }) {
33
+ async function ensureNativeProjectAsync(projectRoot, { platform, install }) {
32
34
  // If the user has an empty android folder then the project won't build, this can happen when they delete the prebuild files in git.
33
35
  // Check to ensure most of the core files are in place, and prompt to remove the folder if they aren't.
34
36
  await (0, _profile.profile)(_clearNativeFolder.promptToClearMalformedNativeProjectsAsync)(projectRoot, [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/run/ensureNativeProject.ts"],"sourcesContent":["import { ModPlatform } from '@expo/config-plugins';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { promptToClearMalformedNativeProjectsAsync } from '../prebuild/clearNativeFolder';\nimport { prebuildAsync } from '../prebuild/prebuildAsync';\nimport { profile } from '../utils/profile';\n\nexport async function ensureNativeProjectAsync(\n projectRoot: string,\n { platform, install }: { platform: ModPlatform; install?: boolean }\n) {\n // If the user has an empty android folder then the project won't build, this can happen when they delete the prebuild files in git.\n // Check to ensure most of the core files are in place, and prompt to remove the folder if they aren't.\n await profile(promptToClearMalformedNativeProjectsAsync)(projectRoot, [platform]);\n\n // If the project doesn't have native code, prebuild it...\n if (!fs.existsSync(path.join(projectRoot, platform))) {\n await prebuildAsync(projectRoot, {\n install: !!install,\n platforms: [platform],\n });\n } else {\n return true;\n }\n return false;\n}\n"],"names":["ensureNativeProjectAsync","projectRoot","platform","install","profile","promptToClearMalformedNativeProjectsAsync","fs","existsSync","path","join","prebuildAsync","platforms"],"mappings":"AAAA;;;;+BAQsBA,0BAAwB;;aAAxBA,wBAAwB;;;8DAP/B,IAAI;;;;;;;8DACF,MAAM;;;;;;mCAEmC,+BAA+B;+BAC3D,2BAA2B;yBACjC,kBAAkB;;;;;;AAEnC,eAAeA,wBAAwB,CAC5CC,WAAmB,EACnB,EAAEC,QAAQ,CAAA,EAAEC,OAAO,CAAA,EAAgD,EACnE;IACA,oIAAoI;IACpI,uGAAuG;IACvG,MAAMC,IAAAA,QAAO,QAAA,EAACC,kBAAyC,0CAAA,CAAC,CAACJ,WAAW,EAAE;QAACC,QAAQ;KAAC,CAAC,CAAC;IAElF,0DAA0D;IAC1D,IAAI,CAACI,GAAE,EAAA,QAAA,CAACC,UAAU,CAACC,KAAI,EAAA,QAAA,CAACC,IAAI,CAACR,WAAW,EAAEC,QAAQ,CAAC,CAAC,EAAE;QACpD,MAAMQ,IAAAA,cAAa,cAAA,EAACT,WAAW,EAAE;YAC/BE,OAAO,EAAE,CAAC,CAACA,OAAO;YAClBQ,SAAS,EAAE;gBAACT,QAAQ;aAAC;SACtB,CAAC,CAAC;IACL,OAAO;QACL,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"sources":["../../../src/run/ensureNativeProject.ts"],"sourcesContent":["import { ModPlatform } from '@expo/config-plugins';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { promptToClearMalformedNativeProjectsAsync } from '../prebuild/clearNativeFolder';\nimport { prebuildAsync } from '../prebuild/prebuildAsync';\nimport { profile } from '../utils/profile';\n\nexport async function ensureNativeProjectAsync(\n projectRoot: string,\n { platform, install }: { platform: ModPlatform; install?: boolean }\n) {\n // If the user has an empty android folder then the project won't build, this can happen when they delete the prebuild files in git.\n // Check to ensure most of the core files are in place, and prompt to remove the folder if they aren't.\n await profile(promptToClearMalformedNativeProjectsAsync)(projectRoot, [platform]);\n\n // If the project doesn't have native code, prebuild it...\n if (!fs.existsSync(path.join(projectRoot, platform))) {\n await prebuildAsync(projectRoot, {\n install: !!install,\n platforms: [platform],\n });\n } else {\n return true;\n }\n return false;\n}\n"],"names":["ensureNativeProjectAsync","projectRoot","platform","install","profile","promptToClearMalformedNativeProjectsAsync","fs","existsSync","path","join","prebuildAsync","platforms"],"mappings":";;;;+BAQsBA;;;eAAAA;;;;gEAPP;;;;;;;gEACE;;;;;;mCAEyC;+BAC5B;yBACN;;;;;;AAEjB,eAAeA,yBACpBC,WAAmB,EACnB,EAAEC,QAAQ,EAAEC,OAAO,EAAgD;IAEnE,oIAAoI;IACpI,uGAAuG;IACvG,MAAMC,IAAAA,gBAAO,EAACC,4DAAyC,EAAEJ,aAAa;QAACC;KAAS;IAEhF,0DAA0D;IAC1D,IAAI,CAACI,aAAE,CAACC,UAAU,CAACC,eAAI,CAACC,IAAI,CAACR,aAAaC,YAAY;QACpD,MAAMQ,IAAAA,4BAAa,EAACT,aAAa;YAC/BE,SAAS,CAAC,CAACA;YACXQ,WAAW;gBAACT;aAAS;QACvB;IACF,OAAO;QACL,OAAO;IACT;IACA,OAAO;AACT"}
@@ -9,12 +9,18 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- logDeviceArgument: ()=>logDeviceArgument,
13
- logPlatformRunCommand: ()=>logPlatformRunCommand,
14
- logProjectLogsLocation: ()=>logProjectLogsLocation
12
+ logDeviceArgument: function() {
13
+ return logDeviceArgument;
14
+ },
15
+ logPlatformRunCommand: function() {
16
+ return logPlatformRunCommand;
17
+ },
18
+ logProjectLogsLocation: function() {
19
+ return logProjectLogsLocation;
20
+ }
15
21
  });
16
22
  function _chalk() {
17
- const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
23
+ const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
18
24
  _chalk = function() {
19
25
  return data;
20
26
  };
@@ -22,7 +28,7 @@ function _chalk() {
22
28
  }
23
29
  const _log = require("../log");
24
30
  const _interactive = require("../utils/interactive");
25
- function _interopRequireDefault(obj) {
31
+ function _interop_require_default(obj) {
26
32
  return obj && obj.__esModule ? obj : {
27
33
  default: obj
28
34
  };
@@ -31,10 +37,10 @@ function logDeviceArgument(id) {
31
37
  _log.Log.log(_chalk().default.dim`› Using --device ${id}`);
32
38
  }
33
39
  function logPlatformRunCommand(platform, argv = []) {
34
- _log.Log.log(_chalk().default.dim(`› Using expo run:${platform} ${argv.join(" ")}`));
40
+ _log.Log.log(_chalk().default.dim(`› Using expo run:${platform} ${argv.join(' ')}`));
35
41
  }
36
42
  function logProjectLogsLocation() {
37
- _log.Log.log((0, _chalk().default)`\n› Logs for your project will appear below.${(0, _interactive.isInteractive)() ? _chalk().default.dim(` Press Ctrl+C to exit.`) : ""}`);
43
+ _log.Log.log((0, _chalk().default)`\n› Logs for your project will appear below.${(0, _interactive.isInteractive)() ? _chalk().default.dim(` Press Ctrl+C to exit.`) : ''}`);
38
44
  }
39
45
 
40
46
  //# sourceMappingURL=hints.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/run/hints.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport { Log } from '../log';\nimport { isInteractive } from '../utils/interactive';\n\n/** Log the device argument to use for the next run: `Using --device foobar` */\nexport function logDeviceArgument(id: string) {\n Log.log(chalk.dim`› Using --device ${id}`);\n}\n\nexport function logPlatformRunCommand(platform: string, argv: string[] = []) {\n Log.log(chalk.dim(`› Using expo run:${platform} ${argv.join(' ')}`));\n}\n\nexport function logProjectLogsLocation() {\n Log.log(\n chalk`\\n› Logs for your project will appear below.${\n isInteractive() ? chalk.dim(` Press Ctrl+C to exit.`) : ''\n }`\n );\n}\n"],"names":["logDeviceArgument","logPlatformRunCommand","logProjectLogsLocation","id","Log","log","chalk","dim","platform","argv","join","isInteractive"],"mappings":"AAAA;;;;;;;;;;;IAMgBA,iBAAiB,MAAjBA,iBAAiB;IAIjBC,qBAAqB,MAArBA,qBAAqB;IAIrBC,sBAAsB,MAAtBA,sBAAsB;;;8DAdpB,OAAO;;;;;;qBAEL,QAAQ;6BACE,sBAAsB;;;;;;AAG7C,SAASF,iBAAiB,CAACG,EAAU,EAAE;IAC5CC,IAAG,IAAA,CAACC,GAAG,CAACC,MAAK,EAAA,QAAA,CAACC,GAAG,CAAC,iBAAiB,EAAEJ,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAEM,SAASF,qBAAqB,CAACO,QAAgB,EAAEC,IAAc,GAAG,EAAE,EAAE;IAC3EL,IAAG,IAAA,CAACC,GAAG,CAACC,MAAK,EAAA,QAAA,CAACC,GAAG,CAAC,CAAC,iBAAiB,EAAEC,QAAQ,CAAC,CAAC,EAAEC,IAAI,CAACC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAEM,SAASR,sBAAsB,GAAG;IACvCE,IAAG,IAAA,CAACC,GAAG,CACLC,IAAAA,MAAK,EAAA,QAAA,CAAA,CAAC,4CAA4C,EAChDK,IAAAA,YAAa,cAAA,GAAE,GAAGL,MAAK,EAAA,QAAA,CAACC,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAC3D,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"sources":["../../../src/run/hints.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport { Log } from '../log';\nimport { isInteractive } from '../utils/interactive';\n\n/** Log the device argument to use for the next run: `Using --device foobar` */\nexport function logDeviceArgument(id: string) {\n Log.log(chalk.dim`› Using --device ${id}`);\n}\n\nexport function logPlatformRunCommand(platform: string, argv: string[] = []) {\n Log.log(chalk.dim(`› Using expo run:${platform} ${argv.join(' ')}`));\n}\n\nexport function logProjectLogsLocation() {\n Log.log(\n chalk`\\n› Logs for your project will appear below.${\n isInteractive() ? chalk.dim(` Press Ctrl+C to exit.`) : ''\n }`\n );\n}\n"],"names":["logDeviceArgument","logPlatformRunCommand","logProjectLogsLocation","id","Log","log","chalk","dim","platform","argv","join","isInteractive"],"mappings":";;;;;;;;;;;IAMgBA,iBAAiB;eAAjBA;;IAIAC,qBAAqB;eAArBA;;IAIAC,sBAAsB;eAAtBA;;;;gEAdE;;;;;;qBAEE;6BACU;;;;;;AAGvB,SAASF,kBAAkBG,EAAU;IAC1CC,QAAG,CAACC,GAAG,CAACC,gBAAK,CAACC,GAAG,CAAC,iBAAiB,EAAEJ,GAAG,CAAC;AAC3C;AAEO,SAASF,sBAAsBO,QAAgB,EAAEC,OAAiB,EAAE;IACzEL,QAAG,CAACC,GAAG,CAACC,gBAAK,CAACC,GAAG,CAAC,CAAC,iBAAiB,EAAEC,SAAS,CAAC,EAAEC,KAAKC,IAAI,CAAC,MAAM;AACpE;AAEO,SAASR;IACdE,QAAG,CAACC,GAAG,CACLC,IAAAA,gBAAK,CAAA,CAAC,4CAA4C,EAChDK,IAAAA,0BAAa,MAAKL,gBAAK,CAACC,GAAG,CAAC,CAAC,sBAAsB,CAAC,IAAI,GACzD,CAAC;AAEN"}
@@ -5,10 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  Object.defineProperty(exports, "expoRun", {
7
7
  enumerable: true,
8
- get: ()=>expoRun
8
+ get: function() {
9
+ return expoRun;
10
+ }
9
11
  });
10
12
  function _chalk() {
11
- const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
13
+ const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
12
14
  _chalk = function() {
13
15
  return data;
14
16
  };
@@ -17,7 +19,7 @@ function _chalk() {
17
19
  const _hints = require("./hints");
18
20
  const _args = require("../utils/args");
19
21
  const _errors = require("../utils/errors");
20
- function _interopRequireDefault(obj) {
22
+ function _interop_require_default(obj) {
21
23
  return obj && obj.__esModule ? obj : {
22
24
  default: obj
23
25
  };
@@ -30,7 +32,7 @@ function _getRequireWildcardCache(nodeInterop) {
30
32
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
31
33
  })(nodeInterop);
32
34
  }
33
- function _interopRequireWildcard(obj, nodeInterop) {
35
+ function _interop_require_wildcard(obj, nodeInterop) {
34
36
  if (!nodeInterop && obj && obj.__esModule) {
35
37
  return obj;
36
38
  }
@@ -43,7 +45,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
43
45
  if (cache && cache.has(obj)) {
44
46
  return cache.get(obj);
45
47
  }
46
- var newObj = {};
48
+ var newObj = {
49
+ __proto__: null
50
+ };
47
51
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
48
52
  for(var key in obj){
49
53
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -64,9 +68,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
64
68
  const expoRun = async (argv)=>{
65
69
  const args = (0, _args.assertWithOptionsArgs)({
66
70
  // Types
67
- "--help": Boolean,
71
+ '--help': Boolean,
68
72
  // Aliases
69
- "-h": "--help"
73
+ '-h': '--help'
70
74
  }, {
71
75
  argv,
72
76
  // Allow additional flags for both android and ios commands
@@ -75,42 +79,42 @@ const expoRun = async (argv)=>{
75
79
  try {
76
80
  let [platform] = args._ ?? [];
77
81
  // Workaround, filter `--flag` as platform
78
- if (platform == null ? void 0 : platform.startsWith("-")) {
79
- platform = "";
82
+ if (platform == null ? void 0 : platform.startsWith('-')) {
83
+ platform = '';
80
84
  }
81
85
  // Remove the platform from raw arguments, when provided
82
86
  const argsWithoutPlatform = !platform ? argv : argv == null ? void 0 : argv.splice(1);
83
87
  // Do not capture `--help` when platform is provided
84
- if (!platform && args["--help"]) {
85
- (0, _args.printHelp)("Run the native app locally", `npx expo run <android|ios>`, (0, _chalk().default)`{dim $} npx expo run <android|ios> --help Output usage information`);
88
+ if (!platform && args['--help']) {
89
+ (0, _args.printHelp)('Run the native app locally', `npx expo run <android|ios>`, (0, _chalk().default)`{dim $} npx expo run <android|ios> --help Output usage information`);
86
90
  }
87
91
  if (!platform) {
88
- const { selectAsync } = await Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../utils/prompts.js")));
89
- platform = await selectAsync("Select the platform to run", [
92
+ const { selectAsync } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("../utils/prompts.js")));
93
+ platform = await selectAsync('Select the platform to run', [
90
94
  {
91
- title: "Android",
92
- value: "android"
95
+ title: 'Android',
96
+ value: 'android'
93
97
  },
94
98
  {
95
- title: "iOS",
96
- value: "ios"
97
- },
99
+ title: 'iOS',
100
+ value: 'ios'
101
+ }
98
102
  ]);
99
103
  }
100
104
  (0, _hints.logPlatformRunCommand)(platform, argsWithoutPlatform);
101
105
  switch(platform){
102
- case "android":
106
+ case 'android':
103
107
  {
104
- const { expoRunAndroid } = await Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("./android/index.js")));
108
+ const { expoRunAndroid } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./android/index.js")));
105
109
  return expoRunAndroid(argsWithoutPlatform);
106
110
  }
107
- case "ios":
111
+ case 'ios':
108
112
  {
109
- const { expoRunIos } = await Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("./ios/index.js")));
113
+ const { expoRunIos } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./ios/index.js")));
110
114
  return expoRunIos(argsWithoutPlatform);
111
115
  }
112
116
  default:
113
- throw new _errors.CommandError("UNSUPPORTED_PLATFORM", `Unsupported platform: ${platform}`);
117
+ throw new _errors.CommandError('UNSUPPORTED_PLATFORM', `Unsupported platform: ${platform}`);
114
118
  }
115
119
  } catch (error) {
116
120
  (0, _errors.logCmdError)(error);