@expo/cli 0.22.25 → 0.22.26

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 +91 -93
  2. package/build/bin/cli.map +1 -1
  3. package/build/metro-require/require.js +52 -53
  4. package/build/src/api/endpoint.js +2 -6
  5. package/build/src/api/endpoint.js.map +1 -1
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +3 -5
  7. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  8. package/build/src/api/getExpoSchema.js +12 -16
  9. package/build/src/api/getExpoSchema.js.map +1 -1
  10. package/build/src/api/getNativeModuleVersions.js +4 -6
  11. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  12. package/build/src/api/getProjectDevelopmentCertificate.js +3 -5
  13. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  14. package/build/src/api/getVersions.js +5 -7
  15. package/build/src/api/getVersions.js.map +1 -1
  16. package/build/src/api/graphql/client.js +26 -32
  17. package/build/src/api/graphql/client.js.map +1 -1
  18. package/build/src/api/graphql/queries/AppQuery.js +4 -6
  19. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  20. package/build/src/api/graphql/queries/UserQuery.js +3 -5
  21. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  22. package/build/src/api/graphql/types/App.js +1 -3
  23. package/build/src/api/graphql/types/App.js.map +1 -1
  24. package/build/src/api/rest/cache/FileSystemResponseCache.js +8 -10
  25. package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
  26. package/build/src/api/rest/cache/ResponseCache.js +12 -20
  27. package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +11 -13
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  30. package/build/src/api/rest/client.js +35 -53
  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 +3 -5
  34. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithOffline.js +3 -5
  36. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProgress.js +7 -11
  38. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  39. package/build/src/api/rest/wrapFetchWithProxy.js +3 -5
  40. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  41. package/build/src/api/rest/wrapFetchWithUserAgent.js +6 -8
  42. package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
  43. package/build/src/api/settings.js +5 -7
  44. package/build/src/api/settings.js.map +1 -1
  45. package/build/src/api/updateDevelopmentSession.js +17 -23
  46. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  47. package/build/src/api/user/UserSettings.js +21 -39
  48. package/build/src/api/user/UserSettings.js.map +1 -1
  49. package/build/src/api/user/actions.js +21 -27
  50. package/build/src/api/user/actions.js.map +1 -1
  51. package/build/src/api/user/expoSsoLauncher.js +26 -30
  52. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  53. package/build/src/api/user/otp.js +29 -35
  54. package/build/src/api/user/otp.js.map +1 -1
  55. package/build/src/api/user/user.js +30 -44
  56. package/build/src/api/user/user.js.map +1 -1
  57. package/build/src/config/configAsync.js +23 -29
  58. package/build/src/config/configAsync.js.map +1 -1
  59. package/build/src/config/index.js +21 -25
  60. package/build/src/config/index.js.map +1 -1
  61. package/build/src/customize/customizeAsync.js +6 -8
  62. package/build/src/customize/customizeAsync.js.map +1 -1
  63. package/build/src/customize/generate.js +16 -20
  64. package/build/src/customize/generate.js.map +1 -1
  65. package/build/src/customize/index.js +12 -14
  66. package/build/src/customize/index.js.map +1 -1
  67. package/build/src/customize/resolveOptions.js +2 -4
  68. package/build/src/customize/resolveOptions.js.map +1 -1
  69. package/build/src/customize/templates.js +54 -58
  70. package/build/src/customize/templates.js.map +1 -1
  71. package/build/src/customize/typescript.js +7 -11
  72. package/build/src/customize/typescript.js.map +1 -1
  73. package/build/src/export/createMetadataJson.js +9 -11
  74. package/build/src/export/createMetadataJson.js.map +1 -1
  75. package/build/src/export/embed/exportEager.js +6 -8
  76. package/build/src/export/embed/exportEager.js.map +1 -1
  77. package/build/src/export/embed/exportEmbedAsync.js +61 -71
  78. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  79. package/build/src/export/embed/exportServer.js +55 -57
  80. package/build/src/export/embed/exportServer.js.map +1 -1
  81. package/build/src/export/embed/index.js +40 -44
  82. package/build/src/export/embed/index.js.map +1 -1
  83. package/build/src/export/embed/resolveOptions.js +36 -44
  84. package/build/src/export/embed/resolveOptions.js.map +1 -1
  85. package/build/src/export/embed/xcodeCompilerLogger.js +27 -39
  86. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  87. package/build/src/export/exportApp.js +63 -67
  88. package/build/src/export/exportApp.js.map +1 -1
  89. package/build/src/export/exportAssets.js +27 -35
  90. package/build/src/export/exportAssets.js.map +1 -1
  91. package/build/src/export/exportAsync.js +9 -13
  92. package/build/src/export/exportAsync.js.map +1 -1
  93. package/build/src/export/exportDomComponents.js +45 -53
  94. package/build/src/export/exportDomComponents.js.map +1 -1
  95. package/build/src/export/exportHermes.js +63 -85
  96. package/build/src/export/exportHermes.js.map +1 -1
  97. package/build/src/export/exportStaticAsync.js +62 -72
  98. package/build/src/export/exportStaticAsync.js.map +1 -1
  99. package/build/src/export/favicon.js +27 -33
  100. package/build/src/export/favicon.js.map +1 -1
  101. package/build/src/export/getPublicExpoManifest.js +5 -7
  102. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  103. package/build/src/export/getResolvedLocales.js +9 -11
  104. package/build/src/export/getResolvedLocales.js.map +1 -1
  105. package/build/src/export/html.js +6 -10
  106. package/build/src/export/html.js.map +1 -1
  107. package/build/src/export/index.js +28 -32
  108. package/build/src/export/index.js.map +1 -1
  109. package/build/src/export/metroAssetLocalPath.js +30 -36
  110. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  111. package/build/src/export/persistMetroAssets.js +34 -42
  112. package/build/src/export/persistMetroAssets.js.map +1 -1
  113. package/build/src/export/publicFolder.js +6 -10
  114. package/build/src/export/publicFolder.js.map +1 -1
  115. package/build/src/export/resolveOptions.js +24 -28
  116. package/build/src/export/resolveOptions.js.map +1 -1
  117. package/build/src/export/saveAssets.js +46 -50
  118. package/build/src/export/saveAssets.js.map +1 -1
  119. package/build/src/export/web/exportWebAsync.js +11 -13
  120. package/build/src/export/web/exportWebAsync.js.map +1 -1
  121. package/build/src/export/web/index.js +15 -19
  122. package/build/src/export/web/index.js.map +1 -1
  123. package/build/src/export/web/resolveOptions.js +3 -5
  124. package/build/src/export/web/resolveOptions.js.map +1 -1
  125. package/build/src/export/writeContents.js +2 -4
  126. package/build/src/export/writeContents.js.map +1 -1
  127. package/build/src/graphql/generated.js +274 -400
  128. package/build/src/graphql/generated.js.map +1 -1
  129. package/build/src/install/applyPlugins.js +7 -11
  130. package/build/src/install/applyPlugins.js.map +1 -1
  131. package/build/src/install/checkPackages.js +22 -26
  132. package/build/src/install/checkPackages.js.map +1 -1
  133. package/build/src/install/fixPackages.js +12 -16
  134. package/build/src/install/fixPackages.js.map +1 -1
  135. package/build/src/install/index.js +16 -18
  136. package/build/src/install/index.js.map +1 -1
  137. package/build/src/install/installAsync.js +26 -32
  138. package/build/src/install/installAsync.js.map +1 -1
  139. package/build/src/install/installExpoPackage.js +18 -22
  140. package/build/src/install/installExpoPackage.js.map +1 -1
  141. package/build/src/install/resolveOptions.js +19 -21
  142. package/build/src/install/resolveOptions.js.map +1 -1
  143. package/build/src/install/utils/autoAddConfigPlugins.js +14 -18
  144. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  145. package/build/src/install/utils/checkPackagesCompatibility.js +11 -13
  146. package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
  147. package/build/src/lint/ESlintPrerequisite.js +44 -50
  148. package/build/src/lint/ESlintPrerequisite.js.map +1 -1
  149. package/build/src/lint/index.js +8 -12
  150. package/build/src/lint/index.js.map +1 -1
  151. package/build/src/lint/lintAsync.js +8 -10
  152. package/build/src/lint/lintAsync.js.map +1 -1
  153. package/build/src/log.js +16 -36
  154. package/build/src/log.js.map +1 -1
  155. package/build/src/login/index.js +20 -24
  156. package/build/src/login/index.js.map +1 -1
  157. package/build/src/logout/index.js +7 -11
  158. package/build/src/logout/index.js.map +1 -1
  159. package/build/src/prebuild/clearNativeFolder.js +26 -38
  160. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  161. package/build/src/prebuild/configureProjectAsync.js +14 -18
  162. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  163. package/build/src/prebuild/copyTemplateFiles.js +13 -17
  164. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  165. package/build/src/prebuild/ensureConfigAsync.js +4 -6
  166. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  167. package/build/src/prebuild/index.js +32 -36
  168. package/build/src/prebuild/index.js.map +1 -1
  169. package/build/src/prebuild/prebuildAsync.js +25 -29
  170. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  171. package/build/src/prebuild/renameTemplateAppName.js +40 -46
  172. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  173. package/build/src/prebuild/resolveOptions.js +52 -66
  174. package/build/src/prebuild/resolveOptions.js.map +1 -1
  175. package/build/src/prebuild/resolveTemplate.js +32 -36
  176. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  177. package/build/src/prebuild/updateFromTemplate.js +13 -19
  178. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  179. package/build/src/prebuild/updatePackageJson.js +39 -53
  180. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  181. package/build/src/prebuild/validateTemplatePlatforms.js +8 -12
  182. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  183. package/build/src/register/index.js +7 -11
  184. package/build/src/register/index.js.map +1 -1
  185. package/build/src/register/registerAsync.js +3 -5
  186. package/build/src/register/registerAsync.js.map +1 -1
  187. package/build/src/run/android/index.js +32 -36
  188. package/build/src/run/android/index.js.map +1 -1
  189. package/build/src/run/android/resolveDevice.js +8 -10
  190. package/build/src/run/android/resolveDevice.js.map +1 -1
  191. package/build/src/run/android/resolveGradlePropsAsync.js +16 -18
  192. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  193. package/build/src/run/android/resolveInstallApkName.js +15 -17
  194. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  195. package/build/src/run/android/resolveLaunchProps.js +10 -12
  196. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  197. package/build/src/run/android/resolveOptions.js +2 -4
  198. package/build/src/run/android/resolveOptions.js.map +1 -1
  199. package/build/src/run/android/runAndroidAsync.js +21 -23
  200. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  201. package/build/src/run/ensureNativeProject.js +5 -7
  202. package/build/src/run/ensureNativeProject.js.map +1 -1
  203. package/build/src/run/hints.js +7 -13
  204. package/build/src/run/hints.js.map +1 -1
  205. package/build/src/run/index.js +23 -27
  206. package/build/src/run/index.js.map +1 -1
  207. package/build/src/run/ios/XcodeBuild.js +56 -74
  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 +63 -69
  211. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  212. package/build/src/run/ios/appleDevice/ClientManager.js +26 -29
  213. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  214. package/build/src/run/ios/appleDevice/client/AFCClient.js +25 -28
  215. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  216. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +26 -29
  217. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  218. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -22
  219. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  220. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +29 -32
  221. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  222. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +24 -28
  223. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  224. package/build/src/run/ios/appleDevice/client/ServiceClient.js +4 -7
  225. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  226. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +27 -28
  227. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  228. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +17 -23
  229. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  230. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +132 -146
  231. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  232. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +21 -29
  233. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  234. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +21 -29
  235. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  236. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +22 -34
  237. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  238. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +17 -27
  239. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  240. package/build/src/run/ios/codeSigning/Security.js +39 -53
  241. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  242. package/build/src/run/ios/codeSigning/configureCodeSigning.js +9 -13
  243. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  244. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +19 -27
  245. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  246. package/build/src/run/ios/codeSigning/settings.js +5 -9
  247. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  248. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +12 -14
  249. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  250. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +21 -27
  251. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  252. package/build/src/run/ios/index.js +36 -40
  253. package/build/src/run/ios/index.js.map +1 -1
  254. package/build/src/run/ios/launchApp.js +17 -23
  255. package/build/src/run/ios/launchApp.js.map +1 -1
  256. package/build/src/run/ios/options/appleDestinations.js +36 -38
  257. package/build/src/run/ios/options/appleDestinations.js.map +1 -1
  258. package/build/src/run/ios/options/promptDevice.js +16 -20
  259. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  260. package/build/src/run/ios/options/resolveDevice.js +24 -30
  261. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  262. package/build/src/run/ios/options/resolveNativeScheme.js +23 -31
  263. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  264. package/build/src/run/ios/options/resolveOptions.js +5 -7
  265. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  266. package/build/src/run/ios/options/resolveXcodeProject.js +5 -7
  267. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  268. package/build/src/run/ios/runIosAsync.js +44 -48
  269. package/build/src/run/ios/runIosAsync.js.map +1 -1
  270. package/build/src/run/ios/validateExternalBinary.js +22 -24
  271. package/build/src/run/ios/validateExternalBinary.js.map +1 -1
  272. package/build/src/run/resolveBundlerProps.js +2 -4
  273. package/build/src/run/resolveBundlerProps.js.map +1 -1
  274. package/build/src/run/startBundler.js +12 -16
  275. package/build/src/run/startBundler.js.map +1 -1
  276. package/build/src/serve/index.js +16 -20
  277. package/build/src/serve/index.js.map +1 -1
  278. package/build/src/serve/serveAsync.js +32 -36
  279. package/build/src/serve/serveAsync.js.map +1 -1
  280. package/build/src/start/detectDevClient.js +9 -13
  281. package/build/src/start/detectDevClient.js.map +1 -1
  282. package/build/src/start/doctor/Prerequisite.js +7 -12
  283. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  284. package/build/src/start/doctor/SecurityBinPrerequisite.js +11 -13
  285. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  286. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +19 -23
  287. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  288. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +19 -23
  289. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  290. package/build/src/start/doctor/apple/XcodePrerequisite.js +45 -51
  291. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  292. package/build/src/start/doctor/apple/XcrunPrerequisite.js +16 -18
  293. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  294. package/build/src/start/doctor/dependencies/bundledNativeModules.js +19 -23
  295. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  296. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +25 -31
  297. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  298. package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -25
  299. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  300. package/build/src/start/doctor/dependencies/getVersionedPackages.js +32 -40
  301. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  302. package/build/src/start/doctor/dependencies/resolvePackages.js +26 -32
  303. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  304. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +31 -41
  305. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  306. package/build/src/start/doctor/ngrok/ExternalModule.js +29 -34
  307. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  308. package/build/src/start/doctor/ngrok/NgrokResolver.js +8 -12
  309. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  310. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +28 -32
  311. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  312. package/build/src/start/doctor/typescript/updateTSConfig.js +17 -23
  313. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  314. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +27 -33
  315. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  316. package/build/src/start/index.js +42 -46
  317. package/build/src/start/index.js.map +1 -1
  318. package/build/src/start/interface/KeyPressHandler.js +14 -18
  319. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  320. package/build/src/start/interface/commandsTable.js +80 -94
  321. package/build/src/start/interface/commandsTable.js.map +1 -1
  322. package/build/src/start/interface/interactiveActions.js +40 -44
  323. package/build/src/start/interface/interactiveActions.js.map +1 -1
  324. package/build/src/start/interface/startInterface.js +61 -65
  325. package/build/src/start/interface/startInterface.js.map +1 -1
  326. package/build/src/start/platforms/AppIdResolver.js +4 -6
  327. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  328. package/build/src/start/platforms/DeviceManager.js +6 -10
  329. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  330. package/build/src/start/platforms/ExpoGoInstaller.js +20 -25
  331. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  332. package/build/src/start/platforms/PlatformManager.js +15 -17
  333. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  334. package/build/src/start/platforms/android/ADBServer.js +35 -39
  335. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  336. package/build/src/start/platforms/android/AndroidAppIdResolver.js +16 -18
  337. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  338. package/build/src/start/platforms/android/AndroidDeviceManager.js +20 -24
  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 +9 -11
  343. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  344. package/build/src/start/platforms/android/activateWindow.js +22 -26
  345. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  346. package/build/src/start/platforms/android/adb.js +83 -121
  347. package/build/src/start/platforms/android/adb.js.map +1 -1
  348. package/build/src/start/platforms/android/adbReverse.js +12 -20
  349. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  350. package/build/src/start/platforms/android/emulator.js +26 -36
  351. package/build/src/start/platforms/android/emulator.js.map +1 -1
  352. package/build/src/start/platforms/android/getDevices.js +5 -7
  353. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  354. package/build/src/start/platforms/android/gradle.js +28 -36
  355. package/build/src/start/platforms/android/gradle.js.map +1 -1
  356. package/build/src/start/platforms/android/promptAndroidDevice.js +15 -19
  357. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  358. package/build/src/start/platforms/ios/AppleAppIdResolver.js +19 -21
  359. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  360. package/build/src/start/platforms/ios/AppleDeviceManager.js +31 -37
  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 +7 -9
  365. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  366. package/build/src/start/platforms/ios/devicectl.js +73 -87
  367. package/build/src/start/platforms/ios/devicectl.js.map +1 -1
  368. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +18 -22
  369. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  370. package/build/src/start/platforms/ios/getBestSimulator.js +19 -29
  371. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  372. package/build/src/start/platforms/ios/promptAppleDevice.js +10 -14
  373. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  374. package/build/src/start/platforms/ios/simctl.js +74 -102
  375. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  376. package/build/src/start/platforms/ios/simctlLogging.js +52 -57
  377. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  378. package/build/src/start/platforms/ios/xcrun.js +18 -22
  379. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  380. package/build/src/start/project/devices.js +9 -19
  381. package/build/src/start/project/devices.js.map +1 -1
  382. package/build/src/start/project/dotExpo.js +11 -15
  383. package/build/src/start/project/dotExpo.js.map +1 -1
  384. package/build/src/start/project/settings.js +2 -4
  385. package/build/src/start/project/settings.js.map +1 -1
  386. package/build/src/start/resolveOptions.js +40 -48
  387. package/build/src/start/resolveOptions.js.map +1 -1
  388. package/build/src/start/server/AsyncNgrok.js +51 -55
  389. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  390. package/build/src/start/server/AsyncWsTunnel.js +36 -40
  391. package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
  392. package/build/src/start/server/BundlerDevServer.js +79 -81
  393. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  394. package/build/src/start/server/DevServerManager.js +38 -42
  395. package/build/src/start/server/DevServerManager.js.map +1 -1
  396. package/build/src/start/server/DevToolsPluginManager.js +14 -18
  397. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  398. package/build/src/start/server/DevelopmentSession.js +14 -18
  399. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  400. package/build/src/start/server/ReactDevToolsProxy.js +10 -16
  401. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  402. package/build/src/start/server/UrlCreator.js +33 -36
  403. package/build/src/start/server/UrlCreator.js.map +1 -1
  404. package/build/src/start/server/getStaticRenderFunctions.js +21 -29
  405. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  406. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +4 -6
  407. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
  408. package/build/src/start/server/metro/MetroBundlerDevServer.js +271 -269
  409. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  410. package/build/src/start/server/metro/MetroTerminalReporter.js +56 -63
  411. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  412. package/build/src/start/server/metro/TerminalReporter.js +33 -39
  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 +40 -46
  416. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  417. package/build/src/start/server/metro/createJResolver.js +28 -32
  418. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  419. package/build/src/start/server/metro/createServerComponentsMiddleware.js +92 -96
  420. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  421. package/build/src/start/server/metro/createServerRouteMiddleware.js +30 -32
  422. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  423. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +11 -13
  424. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
  425. package/build/src/start/server/metro/debugging/MessageHandler.js +1 -3
  426. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  427. package/build/src/start/server/metro/debugging/attachAtlas.js +22 -26
  428. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
  429. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +17 -19
  430. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  431. package/build/src/start/server/metro/debugging/createHandlersFactory.js +31 -25
  432. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  433. package/build/src/start/server/metro/debugging/getDebuggerType.js +4 -6
  434. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  435. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +8 -14
  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 +5 -7
  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 +6 -8
  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 +5 -7
  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 +12 -14
  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 +10 -14
  446. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  447. package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -6
  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 +16 -18
  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 +21 -23
  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 +21 -23
  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 +2 -4
  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 +2 -4
  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 +4 -8
  461. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
  462. package/build/src/start/server/metro/externals.js +25 -33
  463. package/build/src/start/server/metro/externals.js.map +1 -1
  464. package/build/src/start/server/metro/fetchRouterManifest.js +12 -16
  465. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  466. package/build/src/start/server/metro/formatFileCandidates.js +9 -11
  467. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  468. package/build/src/start/server/metro/getCssModulesFromBundler.js +18 -22
  469. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  470. package/build/src/start/server/metro/instantiateMetro.js +79 -85
  471. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  472. package/build/src/start/server/metro/log-box/LogBoxLog.js +36 -40
  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 +14 -20
  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 +6 -10
  477. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
  478. package/build/src/start/server/metro/metroErrorInterface.js +78 -88
  479. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  480. package/build/src/start/server/metro/metroErrors.js +4 -8
  481. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  482. package/build/src/start/server/metro/metroPrivateServer.js +7 -9
  483. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
  484. package/build/src/start/server/metro/metroVirtualModules.js +8 -10
  485. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  486. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +22 -24
  487. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  488. package/build/src/start/server/metro/router.js +32 -48
  489. package/build/src/start/server/metro/router.js.map +1 -1
  490. package/build/src/start/server/metro/runServer-fork.js +22 -24
  491. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  492. package/build/src/start/server/metro/serializeHtml.js +22 -24
  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 +29 -35
  496. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  497. package/build/src/start/server/metro/withMetroMultiPlatform.js +139 -149
  498. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  499. package/build/src/start/server/metro/withMetroResolvers.js +39 -49
  500. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  501. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +6 -8
  502. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  503. package/build/src/start/server/middleware/CorsMiddleware.js +15 -17
  504. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  505. package/build/src/start/server/middleware/CreateFileMiddleware.js +31 -32
  506. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  507. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +19 -22
  508. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  509. package/build/src/start/server/middleware/DomComponentsMiddleware.js +27 -33
  510. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  511. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +60 -64
  512. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  513. package/build/src/start/server/middleware/ExpoMiddleware.js +9 -15
  514. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  515. package/build/src/start/server/middleware/FaviconMiddleware.js +14 -15
  516. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  517. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +2 -4
  518. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  519. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +31 -34
  520. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  521. package/build/src/start/server/middleware/ManifestMiddleware.js +56 -64
  522. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  523. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +19 -23
  524. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  525. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +19 -20
  526. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  527. package/build/src/start/server/middleware/ServeStaticMiddleware.js +9 -11
  528. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  529. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +11 -17
  530. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
  531. package/build/src/start/server/middleware/inspector/CdpClient.js +10 -12
  532. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
  533. package/build/src/start/server/middleware/inspector/JsInspector.js +27 -35
  534. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  535. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +19 -21
  536. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  537. package/build/src/start/server/middleware/inspector/middlwareMutations.js +2 -6
  538. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  539. package/build/src/start/server/middleware/metroOptions.js +96 -120
  540. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  541. package/build/src/start/server/middleware/mutations.js +3 -7
  542. package/build/src/start/server/middleware/mutations.js.map +1 -1
  543. package/build/src/start/server/middleware/resolveAssets.js +18 -26
  544. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  545. package/build/src/start/server/middleware/resolvePlatform.js +15 -23
  546. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  547. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +9 -11
  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 +8 -10
  551. package/build/src/start/server/openPlatforms.js.map +1 -1
  552. package/build/src/start/server/platformBundlers.js +11 -13
  553. package/build/src/start/server/platformBundlers.js.map +1 -1
  554. package/build/src/start/server/serverLogLikeMetro.js +50 -58
  555. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  556. package/build/src/start/server/type-generation/expo-env.js +7 -11
  557. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  558. package/build/src/start/server/type-generation/routes.js +54 -76
  559. package/build/src/start/server/type-generation/routes.js.map +1 -1
  560. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +19 -21
  561. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  562. package/build/src/start/server/type-generation/tsconfig.js +28 -36
  563. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  564. package/build/src/start/server/webTemplate.js +24 -28
  565. package/build/src/start/server/webTemplate.js.map +1 -1
  566. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +46 -52
  567. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  568. package/build/src/start/server/webpack/compile.js +11 -15
  569. package/build/src/start/server/webpack/compile.js.map +1 -1
  570. package/build/src/start/server/webpack/formatWebpackMessages.js +26 -28
  571. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  572. package/build/src/start/server/webpack/resolveFromProject.js +12 -18
  573. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  574. package/build/src/start/server/webpack/tls.js +12 -18
  575. package/build/src/start/server/webpack/tls.js.map +1 -1
  576. package/build/src/start/startAsync.js +27 -31
  577. package/build/src/start/startAsync.js.map +1 -1
  578. package/build/src/utils/FileNotifier.js +17 -20
  579. package/build/src/utils/FileNotifier.js.map +1 -1
  580. package/build/src/utils/ansi.js +5 -7
  581. package/build/src/utils/ansi.js.map +1 -1
  582. package/build/src/utils/args.js +14 -24
  583. package/build/src/utils/args.js.map +1 -1
  584. package/build/src/utils/array.js +6 -18
  585. package/build/src/utils/array.js.map +1 -1
  586. package/build/src/utils/cocoapods.js +46 -54
  587. package/build/src/utils/cocoapods.js.map +1 -1
  588. package/build/src/utils/codesigning.js +68 -78
  589. package/build/src/utils/codesigning.js.map +1 -1
  590. package/build/src/utils/createFileTransform.js +12 -16
  591. package/build/src/utils/createFileTransform.js.map +1 -1
  592. package/build/src/utils/createTempPath.js +13 -17
  593. package/build/src/utils/createTempPath.js.map +1 -1
  594. package/build/src/utils/delay.js +6 -12
  595. package/build/src/utils/delay.js.map +1 -1
  596. package/build/src/utils/dir.js +28 -46
  597. package/build/src/utils/dir.js.map +1 -1
  598. package/build/src/utils/downloadAppAsync.js +8 -10
  599. package/build/src/utils/downloadAppAsync.js.map +1 -1
  600. package/build/src/utils/downloadExpoGoAsync.js +21 -25
  601. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  602. package/build/src/utils/editor.js +35 -41
  603. package/build/src/utils/editor.js.map +1 -1
  604. package/build/src/utils/env.js +59 -63
  605. package/build/src/utils/env.js.map +1 -1
  606. package/build/src/utils/errors.js +30 -37
  607. package/build/src/utils/errors.js.map +1 -1
  608. package/build/src/utils/exit.js +31 -35
  609. package/build/src/utils/exit.js.map +1 -1
  610. package/build/src/utils/expoUpdatesCli.js +22 -32
  611. package/build/src/utils/expoUpdatesCli.js.map +1 -1
  612. package/build/src/utils/fetch.js +4 -8
  613. package/build/src/utils/fetch.js.map +1 -1
  614. package/build/src/utils/filePath.js +6 -10
  615. package/build/src/utils/filePath.js.map +1 -1
  616. package/build/src/utils/findUp.js +9 -13
  617. package/build/src/utils/findUp.js.map +1 -1
  618. package/build/src/utils/fn.js +2 -6
  619. package/build/src/utils/fn.js.map +1 -1
  620. package/build/src/utils/getOrPromptApplicationId.js +26 -32
  621. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  622. package/build/src/utils/getRunningProcess.js +21 -29
  623. package/build/src/utils/getRunningProcess.js.map +1 -1
  624. package/build/src/utils/git.js +20 -26
  625. package/build/src/utils/git.js.map +1 -1
  626. package/build/src/utils/glob.js +4 -8
  627. package/build/src/utils/glob.js.map +1 -1
  628. package/build/src/utils/interactive.js +1 -3
  629. package/build/src/utils/interactive.js.map +1 -1
  630. package/build/src/utils/ip.js +19 -21
  631. package/build/src/utils/ip.js.map +1 -1
  632. package/build/src/utils/isModuleSymlinked.js +9 -11
  633. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  634. package/build/src/utils/jsonSchemaDeref.js +18 -20
  635. package/build/src/utils/jsonSchemaDeref.js.map +1 -1
  636. package/build/src/utils/link.js +13 -17
  637. package/build/src/utils/link.js.map +1 -1
  638. package/build/src/utils/mergeGitIgnorePaths.js +28 -46
  639. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  640. package/build/src/utils/modifyConfigAsync.js +10 -16
  641. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  642. package/build/src/utils/modifyConfigPlugins.js +6 -10
  643. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  644. package/build/src/utils/nodeEnv.js +6 -12
  645. package/build/src/utils/nodeEnv.js.map +1 -1
  646. package/build/src/utils/nodeModules.js +8 -10
  647. package/build/src/utils/nodeModules.js.map +1 -1
  648. package/build/src/utils/npm.js +36 -50
  649. package/build/src/utils/npm.js.map +1 -1
  650. package/build/src/utils/obj.js +5 -11
  651. package/build/src/utils/obj.js.map +1 -1
  652. package/build/src/utils/open.js +8 -10
  653. package/build/src/utils/open.js.map +1 -1
  654. package/build/src/utils/ora.js +7 -13
  655. package/build/src/utils/ora.js.map +1 -1
  656. package/build/src/utils/plist.js +15 -21
  657. package/build/src/utils/plist.js.map +1 -1
  658. package/build/src/utils/port.js +33 -43
  659. package/build/src/utils/port.js.map +1 -1
  660. package/build/src/utils/profile.js +7 -11
  661. package/build/src/utils/profile.js.map +1 -1
  662. package/build/src/utils/progress.js +5 -11
  663. package/build/src/utils/progress.js.map +1 -1
  664. package/build/src/utils/prompts.js +29 -47
  665. package/build/src/utils/prompts.js.map +1 -1
  666. package/build/src/utils/resolveArgs.js +24 -36
  667. package/build/src/utils/resolveArgs.js.map +1 -1
  668. package/build/src/utils/scheme.js +32 -40
  669. package/build/src/utils/scheme.js.map +1 -1
  670. package/build/src/utils/stream.js +3 -5
  671. package/build/src/utils/stream.js.map +1 -1
  672. package/build/src/utils/strings.js +4 -6
  673. package/build/src/utils/strings.js.map +1 -1
  674. package/build/src/utils/tar.js +15 -19
  675. package/build/src/utils/tar.js.map +1 -1
  676. package/build/src/utils/telemetry/Telemetry.js +27 -29
  677. package/build/src/utils/telemetry/Telemetry.js.map +1 -1
  678. package/build/src/utils/telemetry/clients/FetchClient.js +13 -15
  679. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
  680. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +22 -26
  681. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
  682. package/build/src/utils/telemetry/clients/RudderClient.js +8 -10
  683. package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
  684. package/build/src/utils/telemetry/clients/RudderDetachedClient.js +22 -26
  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 +2 -4
  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 +29 -25
  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 +4 -8
  697. package/build/src/utils/telemetry/utils/constants.js.map +1 -1
  698. package/build/src/utils/telemetry/utils/context.js +14 -18
  699. package/build/src/utils/telemetry/utils/context.js.map +1 -1
  700. package/build/src/utils/template.js +4 -6
  701. package/build/src/utils/template.js.map +1 -1
  702. package/build/src/utils/terminal.js +2 -4
  703. package/build/src/utils/terminal.js.map +1 -1
  704. package/build/src/utils/tsconfig/evaluateTsConfig.js +17 -21
  705. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  706. package/build/src/utils/tsconfig/loadTsConfigPaths.js +14 -18
  707. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  708. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +5 -7
  709. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  710. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -14
  711. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  712. package/build/src/utils/url.js +13 -23
  713. package/build/src/utils/url.js.map +1 -1
  714. package/build/src/utils/validateApplicationId.js +86 -108
  715. package/build/src/utils/validateApplicationId.js.map +1 -1
  716. package/build/src/utils/variadic.js +16 -22
  717. package/build/src/utils/variadic.js.map +1 -1
  718. package/build/src/whoami/index.js +7 -11
  719. package/build/src/whoami/index.js.map +1 -1
  720. package/build/src/whoami/whoamiAsync.js +7 -11
  721. package/build/src/whoami/whoamiAsync.js.map +1 -1
  722. package/package.json +3 -3
@@ -9,52 +9,44 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- EMULATOR_MAX_WAIT_TIMEOUT: function() {
13
- return EMULATOR_MAX_WAIT_TIMEOUT;
14
- },
15
- listAvdsAsync: function() {
16
- return listAvdsAsync;
17
- },
18
- startDeviceAsync: function() {
19
- return startDeviceAsync;
20
- },
21
- whichEmulator: function() {
22
- return whichEmulator;
23
- }
12
+ EMULATOR_MAX_WAIT_TIMEOUT: ()=>EMULATOR_MAX_WAIT_TIMEOUT,
13
+ whichEmulator: ()=>whichEmulator,
14
+ listAvdsAsync: ()=>listAvdsAsync,
15
+ startDeviceAsync: ()=>startDeviceAsync
24
16
  });
25
- function _spawnasync() {
26
- const data = /*#__PURE__*/ _interop_require_default(require("@expo/spawn-async"));
27
- _spawnasync = function() {
17
+ function _spawnAsync() {
18
+ const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
19
+ _spawnAsync = function() {
28
20
  return data;
29
21
  };
30
22
  return data;
31
23
  }
32
24
  function _chalk() {
33
- const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
25
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
34
26
  _chalk = function() {
35
27
  return data;
36
28
  };
37
29
  return data;
38
30
  }
39
- function _child_process() {
31
+ function _childProcess() {
40
32
  const data = require("child_process");
41
- _child_process = function() {
33
+ _childProcess = function() {
42
34
  return data;
43
35
  };
44
36
  return data;
45
37
  }
46
38
  function _os() {
47
- const data = /*#__PURE__*/ _interop_require_default(require("os"));
39
+ const data = /*#__PURE__*/ _interopRequireDefault(require("os"));
48
40
  _os = function() {
49
41
  return data;
50
42
  };
51
43
  return data;
52
44
  }
53
45
  const _adb = require("./adb");
54
- const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../../log"));
46
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../../log"));
55
47
  const _errors = require("../../../utils/errors");
56
48
  const _exit = require("../../../utils/exit");
57
- function _interop_require_default(obj) {
49
+ function _interopRequireDefault(obj) {
58
50
  return obj && obj.__esModule ? obj : {
59
51
  default: obj
60
52
  };
@@ -67,7 +59,7 @@ function _getRequireWildcardCache(nodeInterop) {
67
59
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
68
60
  })(nodeInterop);
69
61
  }
70
- function _interop_require_wildcard(obj, nodeInterop) {
62
+ function _interopRequireWildcard(obj, nodeInterop) {
71
63
  if (!nodeInterop && obj && obj.__esModule) {
72
64
  return obj;
73
65
  }
@@ -80,9 +72,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
80
72
  if (cache && cache.has(obj)) {
81
73
  return cache.get(obj);
82
74
  }
83
- var newObj = {
84
- __proto__: null
85
- };
75
+ var newObj = {};
86
76
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
87
77
  for(var key in obj){
88
78
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -107,19 +97,19 @@ function whichEmulator() {
107
97
  if (process.env.ANDROID_HOME) {
108
98
  return `${process.env.ANDROID_HOME}/emulator/emulator`;
109
99
  }
110
- return 'emulator';
100
+ return "emulator";
111
101
  }
112
102
  async function listAvdsAsync() {
113
103
  try {
114
- const { stdout } = await (0, _spawnasync().default)(whichEmulator(), [
115
- '-list-avds'
104
+ const { stdout } = await (0, _spawnAsync().default)(whichEmulator(), [
105
+ "-list-avds"
116
106
  ]);
117
107
  return stdout.split(_os().default.EOL).filter(Boolean)/**
118
108
  * AVD IDs cannot contain spaces. This removes extra info lines from the output. e.g.
119
109
  * "INFO | Storing crashdata in: /tmp/android-brent/emu-crash-34.1.18.db
120
- */ .filter((name)=>!name.trim().includes(' ')).map((name)=>({
110
+ */ .filter((name)=>!name.trim().includes(" ")).map((name)=>({
121
111
  name,
122
- type: 'emulator',
112
+ type: "emulator",
123
113
  // unsure from this
124
114
  isBooted: false,
125
115
  isAuthorized: true
@@ -128,13 +118,13 @@ async function listAvdsAsync() {
128
118
  return [];
129
119
  }
130
120
  }
131
- async function startDeviceAsync(device, { timeout = EMULATOR_MAX_WAIT_TIMEOUT, interval = 1000 } = {}) {
121
+ async function startDeviceAsync(device, { timeout =EMULATOR_MAX_WAIT_TIMEOUT , interval =1000 } = {}) {
132
122
  _log.log(`\u203A Opening emulator ${_chalk().default.bold(device.name)}`);
133
123
  // Start a process to open an emulator
134
- const emulatorProcess = (0, _child_process().spawn)(whichEmulator(), [
124
+ const emulatorProcess = (0, _childProcess().spawn)(whichEmulator(), [
135
125
  `@${device.name}`
136
126
  ], {
137
- stdio: 'ignore',
127
+ stdio: "ignore",
138
128
  detached: true
139
129
  });
140
130
  emulatorProcess.unref();
@@ -142,7 +132,7 @@ async function startDeviceAsync(device, { timeout = EMULATOR_MAX_WAIT_TIMEOUT, i
142
132
  const waitTimer = setInterval(async ()=>{
143
133
  try {
144
134
  const bootedDevices = await (0, _adb.getAttachedDevicesAsync)();
145
- const connected = bootedDevices.find(({ name })=>name === device.name);
135
+ const connected = bootedDevices.find(({ name })=>name === device.name);
146
136
  if (connected) {
147
137
  const isBooted = await (0, _adb.isBootAnimationCompleteAsync)(connected.pid);
148
138
  if (isBooted) {
@@ -174,8 +164,8 @@ async function startDeviceAsync(device, { timeout = EMULATOR_MAX_WAIT_TIMEOUT, i
174
164
  emulatorProcess.kill(signal);
175
165
  reject(new _errors.AbortCommandError());
176
166
  });
177
- emulatorProcess.on('error', ({ message })=>stopWaitingAndReject(message));
178
- emulatorProcess.on('exit', ()=>{
167
+ emulatorProcess.on("error", ({ message })=>stopWaitingAndReject(message));
168
+ emulatorProcess.on("exit", ()=>{
179
169
  const manualCommand = `${whichEmulator()} @${device.name}`;
180
170
  stopWaitingAndReject(`The emulator (${device.name}) quit before it finished opening. You can try starting the emulator manually from the terminal with: ${manualCommand}`);
181
171
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/platforms/android/emulator.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\nimport { spawn } from 'child_process';\nimport os from 'os';\n\nimport { Device, getAttachedDevicesAsync, isBootAnimationCompleteAsync } from './adb';\nimport * as Log from '../../../log';\nimport { AbortCommandError } from '../../../utils/errors';\nimport { installExitHooks } from '../../../utils/exit';\n\nexport const EMULATOR_MAX_WAIT_TIMEOUT = 60 * 1000 * 3;\n\nexport function whichEmulator(): string {\n // https://developer.android.com/studio/command-line/variables\n // TODO: Add ANDROID_SDK_ROOT support as well https://github.com/expo/expo/pull/16516#discussion_r820037917\n if (process.env.ANDROID_HOME) {\n return `${process.env.ANDROID_HOME}/emulator/emulator`;\n }\n return 'emulator';\n}\n\n/** Returns a list of emulator names. */\nexport async function listAvdsAsync(): Promise<Device[]> {\n try {\n const { stdout } = await spawnAsync(whichEmulator(), ['-list-avds']);\n return (\n stdout\n .split(os.EOL)\n .filter(Boolean)\n /**\n * AVD IDs cannot contain spaces. This removes extra info lines from the output. e.g.\n * \"INFO | Storing crashdata in: /tmp/android-brent/emu-crash-34.1.18.db\n */\n .filter((name) => !name.trim().includes(' '))\n .map((name) => ({\n name,\n type: 'emulator',\n // unsure from this\n isBooted: false,\n isAuthorized: true,\n }))\n );\n } catch {\n return [];\n }\n}\n\n/** Start an Android device and wait until it is booted. */\nexport async function startDeviceAsync(\n device: Pick<Device, 'name'>,\n {\n timeout = EMULATOR_MAX_WAIT_TIMEOUT,\n interval = 1000,\n }: {\n /** Time in milliseconds to wait before asserting a timeout error. */\n timeout?: number;\n interval?: number;\n } = {}\n): Promise<Device> {\n Log.log(`\\u203A Opening emulator ${chalk.bold(device.name)}`);\n\n // Start a process to open an emulator\n const emulatorProcess = spawn(\n whichEmulator(),\n [\n `@${device.name}`,\n // disable animation for faster boot -- this might make it harder to detect if it mounted properly tho\n //'-no-boot-anim'\n ],\n {\n stdio: 'ignore',\n detached: true,\n }\n );\n\n emulatorProcess.unref();\n\n return new Promise<Device>((resolve, reject) => {\n const waitTimer = setInterval(async () => {\n try {\n const bootedDevices = await getAttachedDevicesAsync();\n const connected = bootedDevices.find(({ name }) => name === device.name);\n if (connected) {\n const isBooted = await isBootAnimationCompleteAsync(connected.pid);\n if (isBooted) {\n stopWaiting();\n resolve(connected);\n }\n }\n } catch (error) {\n stopWaiting();\n reject(error);\n }\n }, interval);\n\n // Reject command after timeout\n const maxTimer = setTimeout(() => {\n const manualCommand = `${whichEmulator()} @${device.name}`;\n stopWaitingAndReject(\n `It took too long to start the Android emulator: ${device.name}. You can try starting the emulator manually from the terminal with: ${manualCommand}`\n );\n }, timeout);\n\n const stopWaiting = () => {\n clearTimeout(maxTimer);\n clearInterval(waitTimer);\n removeExitHook();\n };\n\n const stopWaitingAndReject = (message: string) => {\n stopWaiting();\n reject(new Error(message));\n };\n\n const removeExitHook = installExitHooks((signal) => {\n stopWaiting();\n emulatorProcess.kill(signal);\n reject(new AbortCommandError());\n });\n\n emulatorProcess.on('error', ({ message }) => stopWaitingAndReject(message));\n\n emulatorProcess.on('exit', () => {\n const manualCommand = `${whichEmulator()} @${device.name}`;\n stopWaitingAndReject(\n `The emulator (${device.name}) quit before it finished opening. You can try starting the emulator manually from the terminal with: ${manualCommand}`\n );\n });\n });\n}\n"],"names":["EMULATOR_MAX_WAIT_TIMEOUT","listAvdsAsync","startDeviceAsync","whichEmulator","process","env","ANDROID_HOME","stdout","spawnAsync","split","os","EOL","filter","Boolean","name","trim","includes","map","type","isBooted","isAuthorized","device","timeout","interval","Log","log","chalk","bold","emulatorProcess","spawn","stdio","detached","unref","Promise","resolve","reject","waitTimer","setInterval","bootedDevices","getAttachedDevicesAsync","connected","find","isBootAnimationCompleteAsync","pid","stopWaiting","error","maxTimer","setTimeout","manualCommand","stopWaitingAndReject","clearTimeout","clearInterval","removeExitHook","message","Error","installExitHooks","signal","kill","AbortCommandError","on"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/start/platforms/android/emulator.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\nimport { spawn } from 'child_process';\nimport os from 'os';\n\nimport { Device, getAttachedDevicesAsync, isBootAnimationCompleteAsync } from './adb';\nimport * as Log from '../../../log';\nimport { AbortCommandError } from '../../../utils/errors';\nimport { installExitHooks } from '../../../utils/exit';\n\nexport const EMULATOR_MAX_WAIT_TIMEOUT = 60 * 1000 * 3;\n\nexport function whichEmulator(): string {\n // https://developer.android.com/studio/command-line/variables\n // TODO: Add ANDROID_SDK_ROOT support as well https://github.com/expo/expo/pull/16516#discussion_r820037917\n if (process.env.ANDROID_HOME) {\n return `${process.env.ANDROID_HOME}/emulator/emulator`;\n }\n return 'emulator';\n}\n\n/** Returns a list of emulator names. */\nexport async function listAvdsAsync(): Promise<Device[]> {\n try {\n const { stdout } = await spawnAsync(whichEmulator(), ['-list-avds']);\n return (\n stdout\n .split(os.EOL)\n .filter(Boolean)\n /**\n * AVD IDs cannot contain spaces. This removes extra info lines from the output. e.g.\n * \"INFO | Storing crashdata in: /tmp/android-brent/emu-crash-34.1.18.db\n */\n .filter((name) => !name.trim().includes(' '))\n .map((name) => ({\n name,\n type: 'emulator',\n // unsure from this\n isBooted: false,\n isAuthorized: true,\n }))\n );\n } catch {\n return [];\n }\n}\n\n/** Start an Android device and wait until it is booted. */\nexport async function startDeviceAsync(\n device: Pick<Device, 'name'>,\n {\n timeout = EMULATOR_MAX_WAIT_TIMEOUT,\n interval = 1000,\n }: {\n /** Time in milliseconds to wait before asserting a timeout error. */\n timeout?: number;\n interval?: number;\n } = {}\n): Promise<Device> {\n Log.log(`\\u203A Opening emulator ${chalk.bold(device.name)}`);\n\n // Start a process to open an emulator\n const emulatorProcess = spawn(\n whichEmulator(),\n [\n `@${device.name}`,\n // disable animation for faster boot -- this might make it harder to detect if it mounted properly tho\n //'-no-boot-anim'\n ],\n {\n stdio: 'ignore',\n detached: true,\n }\n );\n\n emulatorProcess.unref();\n\n return new Promise<Device>((resolve, reject) => {\n const waitTimer = setInterval(async () => {\n try {\n const bootedDevices = await getAttachedDevicesAsync();\n const connected = bootedDevices.find(({ name }) => name === device.name);\n if (connected) {\n const isBooted = await isBootAnimationCompleteAsync(connected.pid);\n if (isBooted) {\n stopWaiting();\n resolve(connected);\n }\n }\n } catch (error) {\n stopWaiting();\n reject(error);\n }\n }, interval);\n\n // Reject command after timeout\n const maxTimer = setTimeout(() => {\n const manualCommand = `${whichEmulator()} @${device.name}`;\n stopWaitingAndReject(\n `It took too long to start the Android emulator: ${device.name}. You can try starting the emulator manually from the terminal with: ${manualCommand}`\n );\n }, timeout);\n\n const stopWaiting = () => {\n clearTimeout(maxTimer);\n clearInterval(waitTimer);\n removeExitHook();\n };\n\n const stopWaitingAndReject = (message: string) => {\n stopWaiting();\n reject(new Error(message));\n };\n\n const removeExitHook = installExitHooks((signal) => {\n stopWaiting();\n emulatorProcess.kill(signal);\n reject(new AbortCommandError());\n });\n\n emulatorProcess.on('error', ({ message }) => stopWaitingAndReject(message));\n\n emulatorProcess.on('exit', () => {\n const manualCommand = `${whichEmulator()} @${device.name}`;\n stopWaitingAndReject(\n `The emulator (${device.name}) quit before it finished opening. You can try starting the emulator manually from the terminal with: ${manualCommand}`\n );\n });\n });\n}\n"],"names":["EMULATOR_MAX_WAIT_TIMEOUT","whichEmulator","listAvdsAsync","startDeviceAsync","process","env","ANDROID_HOME","stdout","spawnAsync","split","os","EOL","filter","Boolean","name","trim","includes","map","type","isBooted","isAuthorized","device","timeout","interval","Log","log","chalk","bold","emulatorProcess","spawn","stdio","detached","unref","Promise","resolve","reject","waitTimer","setInterval","bootedDevices","getAttachedDevicesAsync","connected","find","isBootAnimationCompleteAsync","pid","stopWaiting","error","maxTimer","setTimeout","manualCommand","stopWaitingAndReject","clearTimeout","clearInterval","removeExitHook","message","Error","installExitHooks","signal","kill","AbortCommandError","on"],"mappings":"AAAA;;;;;;;;;;;IAUaA,yBAAyB,MAAzBA,yBAAyB;IAEtBC,aAAa,MAAbA,aAAa;IAUPC,aAAa,MAAbA,aAAa;IA0BbC,gBAAgB,MAAhBA,gBAAgB;;;8DAhDf,mBAAmB;;;;;;;8DACxB,OAAO;;;;;;;yBACH,eAAe;;;;;;;8DACtB,IAAI;;;;;;qBAE2D,OAAO;2DAChE,cAAc;wBACD,uBAAuB;sBACxB,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE/C,MAAMH,yBAAyB,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,AAAC;AAEhD,SAASC,aAAa,GAAW;IACtC,8DAA8D;IAC9D,2GAA2G;IAC3G,IAAIG,OAAO,CAACC,GAAG,CAACC,YAAY,EAAE;QAC5B,OAAO,CAAC,EAAEF,OAAO,CAACC,GAAG,CAACC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAGM,eAAeJ,aAAa,GAAsB;IACvD,IAAI;QACF,MAAM,EAAEK,MAAM,CAAA,EAAE,GAAG,MAAMC,IAAAA,WAAU,EAAA,QAAA,EAACP,aAAa,EAAE,EAAE;YAAC,YAAY;SAAC,CAAC,AAAC;QACrE,OACEM,MAAM,CACHE,KAAK,CAACC,GAAE,EAAA,QAAA,CAACC,GAAG,CAAC,CACbC,MAAM,CAACC,OAAO,CAAC,AAChB;;;SAGC,IACAD,MAAM,CAAC,CAACE,IAAI,GAAK,CAACA,IAAI,CAACC,IAAI,EAAE,CAACC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAC5CC,GAAG,CAAC,CAACH,IAAI,GAAK,CAAC;gBACdA,IAAI;gBACJI,IAAI,EAAE,UAAU;gBAChB,mBAAmB;gBACnBC,QAAQ,EAAE,KAAK;gBACfC,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC,CACL;IACJ,EAAE,OAAM;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAGM,eAAejB,gBAAgB,CACpCkB,MAA4B,EAC5B,EACEC,OAAO,EAAGtB,yBAAyB,CAAA,EACnCuB,QAAQ,EAAG,IAAI,CAAA,EAKhB,GAAG,EAAE,EACW;IACjBC,IAAG,CAACC,GAAG,CAAC,CAAC,wBAAwB,EAAEC,MAAK,EAAA,QAAA,CAACC,IAAI,CAACN,MAAM,CAACP,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9D,sCAAsC;IACtC,MAAMc,eAAe,GAAGC,IAAAA,aAAK,EAAA,MAAA,EAC3B5B,aAAa,EAAE,EACf;QACE,CAAC,CAAC,EAAEoB,MAAM,CAACP,IAAI,CAAC,CAAC;KAGlB,EACD;QACEgB,KAAK,EAAE,QAAQ;QACfC,QAAQ,EAAE,IAAI;KACf,CACF,AAAC;IAEFH,eAAe,CAACI,KAAK,EAAE,CAAC;IAExB,OAAO,IAAIC,OAAO,CAAS,CAACC,OAAO,EAAEC,MAAM,GAAK;QAC9C,MAAMC,SAAS,GAAGC,WAAW,CAAC,UAAY;YACxC,IAAI;gBACF,MAAMC,aAAa,GAAG,MAAMC,IAAAA,IAAuB,wBAAA,GAAE,AAAC;gBACtD,MAAMC,SAAS,GAAGF,aAAa,CAACG,IAAI,CAAC,CAAC,EAAE3B,IAAI,CAAA,EAAE,GAAKA,IAAI,KAAKO,MAAM,CAACP,IAAI,CAAC,AAAC;gBACzE,IAAI0B,SAAS,EAAE;oBACb,MAAMrB,QAAQ,GAAG,MAAMuB,IAAAA,IAA4B,6BAAA,EAACF,SAAS,CAACG,GAAG,CAAC,AAAC;oBACnE,IAAIxB,QAAQ,EAAE;wBACZyB,WAAW,EAAE,CAAC;wBACdV,OAAO,CAACM,SAAS,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,EAAE,OAAOK,KAAK,EAAE;gBACdD,WAAW,EAAE,CAAC;gBACdT,MAAM,CAACU,KAAK,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,EAAEtB,QAAQ,CAAC,AAAC;QAEb,+BAA+B;QAC/B,MAAMuB,QAAQ,GAAGC,UAAU,CAAC,IAAM;YAChC,MAAMC,aAAa,GAAG,CAAC,EAAE/C,aAAa,EAAE,CAAC,EAAE,EAAEoB,MAAM,CAACP,IAAI,CAAC,CAAC,AAAC;YAC3DmC,oBAAoB,CAClB,CAAC,gDAAgD,EAAE5B,MAAM,CAACP,IAAI,CAAC,qEAAqE,EAAEkC,aAAa,CAAC,CAAC,CACtJ,CAAC;QACJ,CAAC,EAAE1B,OAAO,CAAC,AAAC;QAEZ,MAAMsB,WAAW,GAAG,IAAM;YACxBM,YAAY,CAACJ,QAAQ,CAAC,CAAC;YACvBK,aAAa,CAACf,SAAS,CAAC,CAAC;YACzBgB,cAAc,EAAE,CAAC;QACnB,CAAC,AAAC;QAEF,MAAMH,oBAAoB,GAAG,CAACI,OAAe,GAAK;YAChDT,WAAW,EAAE,CAAC;YACdT,MAAM,CAAC,IAAImB,KAAK,CAACD,OAAO,CAAC,CAAC,CAAC;QAC7B,CAAC,AAAC;QAEF,MAAMD,cAAc,GAAGG,IAAAA,KAAgB,iBAAA,EAAC,CAACC,MAAM,GAAK;YAClDZ,WAAW,EAAE,CAAC;YACdhB,eAAe,CAAC6B,IAAI,CAACD,MAAM,CAAC,CAAC;YAC7BrB,MAAM,CAAC,IAAIuB,OAAiB,kBAAA,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC,AAAC;QAEH9B,eAAe,CAAC+B,EAAE,CAAC,OAAO,EAAE,CAAC,EAAEN,OAAO,CAAA,EAAE,GAAKJ,oBAAoB,CAACI,OAAO,CAAC,CAAC,CAAC;QAE5EzB,eAAe,CAAC+B,EAAE,CAAC,MAAM,EAAE,IAAM;YAC/B,MAAMX,aAAa,GAAG,CAAC,EAAE/C,aAAa,EAAE,CAAC,EAAE,EAAEoB,MAAM,CAACP,IAAI,CAAC,CAAC,AAAC;YAC3DmC,oBAAoB,CAClB,CAAC,cAAc,EAAE5B,MAAM,CAACP,IAAI,CAAC,sGAAsG,EAAEkC,aAAa,CAAC,CAAC,CACrJ,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "getDevicesAsync", {
6
6
  enumerable: true,
7
- get: function() {
8
- return getDevicesAsync;
9
- }
7
+ get: ()=>getDevicesAsync
10
8
  });
11
9
  const _adb = require("./adb");
12
10
  const _emulator = require("./emulator");
@@ -14,8 +12,8 @@ const _errors = require("../../../utils/errors");
14
12
  async function getDevicesAsync() {
15
13
  const bootedDevices = await (0, _adb.getAttachedDevicesAsync)();
16
14
  const data = await (0, _emulator.listAvdsAsync)();
17
- const connectedNames = bootedDevices.map(({ name })=>name);
18
- const offlineEmulators = data.filter(({ name })=>!connectedNames.includes(name)).map(({ name, type })=>{
15
+ const connectedNames = bootedDevices.map(({ name })=>name);
16
+ const offlineEmulators = data.filter(({ name })=>!connectedNames.includes(name)).map(({ name , type })=>{
19
17
  return {
20
18
  name,
21
19
  type,
@@ -30,8 +28,8 @@ async function getDevicesAsync() {
30
28
  `No Android connected device found, and no emulators could be started automatically.`,
31
29
  `Please connect a device or create an emulator (https://docs.expo.dev/workflow/android-studio-emulator).`,
32
30
  `Then follow the instructions here to enable USB debugging:`,
33
- `https://developer.android.com/studio/run/device.html#developer-device-options. If you are using Genymotion go to Settings -> ADB, select "Use custom Android SDK tools", and point it at your Android SDK directory.`
34
- ].join('\n'));
31
+ `https://developer.android.com/studio/run/device.html#developer-device-options. If you are using Genymotion go to Settings -> ADB, select "Use custom Android SDK tools", and point it at your Android SDK directory.`,
32
+ ].join("\n"));
35
33
  }
36
34
  return allDevices;
37
35
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/platforms/android/getDevices.ts"],"sourcesContent":["import { Device, getAttachedDevicesAsync } from './adb';\nimport { listAvdsAsync } from './emulator';\nimport { CommandError } from '../../../utils/errors';\n\n/** Get a list of all devices including offline emulators. Asserts if no devices are available. */\nexport async function getDevicesAsync(): Promise<Device[]> {\n const bootedDevices = await getAttachedDevicesAsync();\n\n const data = await listAvdsAsync();\n const connectedNames = bootedDevices.map(({ name }) => name);\n\n const offlineEmulators = data\n .filter(({ name }) => !connectedNames.includes(name))\n .map(({ name, type }) => {\n return {\n name,\n type,\n isBooted: false,\n // TODO: Are emulators always authorized?\n isAuthorized: true,\n };\n });\n\n const allDevices = bootedDevices.concat(offlineEmulators);\n\n if (!allDevices.length) {\n throw new CommandError(\n [\n `No Android connected device found, and no emulators could be started automatically.`,\n `Please connect a device or create an emulator (https://docs.expo.dev/workflow/android-studio-emulator).`,\n `Then follow the instructions here to enable USB debugging:`,\n `https://developer.android.com/studio/run/device.html#developer-device-options. If you are using Genymotion go to Settings -> ADB, select \"Use custom Android SDK tools\", and point it at your Android SDK directory.`,\n ].join('\\n')\n );\n }\n\n return allDevices;\n}\n"],"names":["getDevicesAsync","bootedDevices","getAttachedDevicesAsync","data","listAvdsAsync","connectedNames","map","name","offlineEmulators","filter","includes","type","isBooted","isAuthorized","allDevices","concat","length","CommandError","join"],"mappings":";;;;+BAKsBA;;;eAAAA;;;qBAL0B;0BAClB;wBACD;AAGtB,eAAeA;IACpB,MAAMC,gBAAgB,MAAMC,IAAAA,4BAAuB;IAEnD,MAAMC,OAAO,MAAMC,IAAAA,uBAAa;IAChC,MAAMC,iBAAiBJ,cAAcK,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;IAEvD,MAAMC,mBAAmBL,KACtBM,MAAM,CAAC,CAAC,EAAEF,IAAI,EAAE,GAAK,CAACF,eAAeK,QAAQ,CAACH,OAC9CD,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAEI,IAAI,EAAE;QAClB,OAAO;YACLJ;YACAI;YACAC,UAAU;YACV,yCAAyC;YACzCC,cAAc;QAChB;IACF;IAEF,MAAMC,aAAab,cAAcc,MAAM,CAACP;IAExC,IAAI,CAACM,WAAWE,MAAM,EAAE;QACtB,MAAM,IAAIC,oBAAY,CACpB;YACE,CAAC,mFAAmF,CAAC;YACrF,CAAC,uGAAuG,CAAC;YACzG,CAAC,0DAA0D,CAAC;YAC5D,CAAC,oNAAoN,CAAC;SACvN,CAACC,IAAI,CAAC;IAEX;IAEA,OAAOJ;AACT"}
1
+ {"version":3,"sources":["../../../../../src/start/platforms/android/getDevices.ts"],"sourcesContent":["import { Device, getAttachedDevicesAsync } from './adb';\nimport { listAvdsAsync } from './emulator';\nimport { CommandError } from '../../../utils/errors';\n\n/** Get a list of all devices including offline emulators. Asserts if no devices are available. */\nexport async function getDevicesAsync(): Promise<Device[]> {\n const bootedDevices = await getAttachedDevicesAsync();\n\n const data = await listAvdsAsync();\n const connectedNames = bootedDevices.map(({ name }) => name);\n\n const offlineEmulators = data\n .filter(({ name }) => !connectedNames.includes(name))\n .map(({ name, type }) => {\n return {\n name,\n type,\n isBooted: false,\n // TODO: Are emulators always authorized?\n isAuthorized: true,\n };\n });\n\n const allDevices = bootedDevices.concat(offlineEmulators);\n\n if (!allDevices.length) {\n throw new CommandError(\n [\n `No Android connected device found, and no emulators could be started automatically.`,\n `Please connect a device or create an emulator (https://docs.expo.dev/workflow/android-studio-emulator).`,\n `Then follow the instructions here to enable USB debugging:`,\n `https://developer.android.com/studio/run/device.html#developer-device-options. If you are using Genymotion go to Settings -> ADB, select \"Use custom Android SDK tools\", and point it at your Android SDK directory.`,\n ].join('\\n')\n );\n }\n\n return allDevices;\n}\n"],"names":["getDevicesAsync","bootedDevices","getAttachedDevicesAsync","data","listAvdsAsync","connectedNames","map","name","offlineEmulators","filter","includes","type","isBooted","isAuthorized","allDevices","concat","length","CommandError","join"],"mappings":"AAAA;;;;+BAKsBA,iBAAe;;aAAfA,eAAe;;qBALW,OAAO;0BACzB,YAAY;wBACb,uBAAuB;AAG7C,eAAeA,eAAe,GAAsB;IACzD,MAAMC,aAAa,GAAG,MAAMC,IAAAA,IAAuB,wBAAA,GAAE,AAAC;IAEtD,MAAMC,IAAI,GAAG,MAAMC,IAAAA,SAAa,cAAA,GAAE,AAAC;IACnC,MAAMC,cAAc,GAAGJ,aAAa,CAACK,GAAG,CAAC,CAAC,EAAEC,IAAI,CAAA,EAAE,GAAKA,IAAI,CAAC,AAAC;IAE7D,MAAMC,gBAAgB,GAAGL,IAAI,CAC1BM,MAAM,CAAC,CAAC,EAAEF,IAAI,CAAA,EAAE,GAAK,CAACF,cAAc,CAACK,QAAQ,CAACH,IAAI,CAAC,CAAC,CACpDD,GAAG,CAAC,CAAC,EAAEC,IAAI,CAAA,EAAEI,IAAI,CAAA,EAAE,GAAK;QACvB,OAAO;YACLJ,IAAI;YACJI,IAAI;YACJC,QAAQ,EAAE,KAAK;YACf,yCAAyC;YACzCC,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC,CAAC,AAAC;IAEL,MAAMC,UAAU,GAAGb,aAAa,CAACc,MAAM,CAACP,gBAAgB,CAAC,AAAC;IAE1D,IAAI,CAACM,UAAU,CAACE,MAAM,EAAE;QACtB,MAAM,IAAIC,OAAY,aAAA,CACpB;YACE,CAAC,mFAAmF,CAAC;YACrF,CAAC,uGAAuG,CAAC;YACzG,CAAC,0DAA0D,CAAC;YAC5D,CAAC,oNAAoN,CAAC;SACvN,CAACC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAED,OAAOJ,UAAU,CAAC;AACpB,CAAC"}
@@ -9,28 +9,20 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- assembleAsync: function() {
13
- return assembleAsync;
14
- },
15
- formatGradleArguments: function() {
16
- return formatGradleArguments;
17
- },
18
- installAsync: function() {
19
- return installAsync;
20
- },
21
- spawnGradleAsync: function() {
22
- return spawnGradleAsync;
23
- }
12
+ formatGradleArguments: ()=>formatGradleArguments,
13
+ assembleAsync: ()=>assembleAsync,
14
+ installAsync: ()=>installAsync,
15
+ spawnGradleAsync: ()=>spawnGradleAsync
24
16
  });
25
- function _spawnasync() {
26
- const data = /*#__PURE__*/ _interop_require_default(require("@expo/spawn-async"));
27
- _spawnasync = function() {
17
+ function _spawnAsync() {
18
+ const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
19
+ _spawnAsync = function() {
28
20
  return data;
29
21
  };
30
22
  return data;
31
23
  }
32
24
  function _path() {
33
- const data = /*#__PURE__*/ _interop_require_default(require("path"));
25
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
34
26
  _path = function() {
35
27
  return data;
36
28
  };
@@ -38,22 +30,22 @@ function _path() {
38
30
  }
39
31
  const _env = require("../../../utils/env");
40
32
  const _errors = require("../../../utils/errors");
41
- function _interop_require_default(obj) {
33
+ function _interopRequireDefault(obj) {
42
34
  return obj && obj.__esModule ? obj : {
43
35
  default: obj
44
36
  };
45
37
  }
46
- const debug = require('debug')('expo:start:platforms:android:gradle');
38
+ const debug = require("debug")("expo:start:platforms:android:gradle");
47
39
  function upperFirst(name) {
48
40
  return name.charAt(0).toUpperCase() + name.slice(1);
49
41
  }
50
- function formatGradleArguments(cmd, { appName, variant, tasks = [
42
+ function formatGradleArguments(cmd, { appName , variant , tasks =[
51
43
  cmd + upperFirst(variant)
52
- ] }) {
44
+ ] }) {
53
45
  return appName ? tasks.map((task)=>`${appName}:${task}`) : tasks;
54
46
  }
55
47
  function resolveGradleWPath(androidProjectPath) {
56
- return _path().default.join(androidProjectPath, process.platform === 'win32' ? 'gradlew.bat' : 'gradlew');
48
+ return _path().default.join(androidProjectPath, process.platform === "win32" ? "gradlew.bat" : "gradlew");
57
49
  }
58
50
  function getPortArg(port) {
59
51
  return `-PreactNativeDevServerPort=${port}`;
@@ -61,24 +53,24 @@ function getPortArg(port) {
61
53
  function getActiveArchArg(architectures) {
62
54
  return `-PreactNativeArchitectures=${architectures}`;
63
55
  }
64
- async function assembleAsync(androidProjectPath, { variant, port, appName, buildCache, architectures, eagerBundleOptions }) {
65
- const task = formatGradleArguments('assemble', {
56
+ async function assembleAsync(androidProjectPath, { variant , port , appName , buildCache , architectures , eagerBundleOptions }) {
57
+ const task = formatGradleArguments("assemble", {
66
58
  variant,
67
59
  appName
68
60
  });
69
61
  const args = [
70
62
  ...task,
71
63
  // ignore linting errors
72
- '-x',
73
- 'lint',
64
+ "-x",
65
+ "lint",
74
66
  // ignore tests
75
- '-x',
76
- 'test',
77
- '--configure-on-demand'
67
+ "-x",
68
+ "test",
69
+ "--configure-on-demand",
78
70
  ];
79
- if (buildCache) args.push('--build-cache');
71
+ if (buildCache) args.push("--build-cache");
80
72
  // Generate a profile under `/android/app/build/reports/profile`
81
- if (_env.env.EXPO_PROFILE) args.push('--profile');
73
+ if (_env.env.EXPO_PROFILE) args.push("--profile");
82
74
  return await spawnGradleAsync(androidProjectPath, {
83
75
  port,
84
76
  architectures,
@@ -88,8 +80,8 @@ async function assembleAsync(androidProjectPath, { variant, port, appName, build
88
80
  } : {}
89
81
  });
90
82
  }
91
- async function installAsync(androidProjectPath, { variant, appName, port }) {
92
- const args = formatGradleArguments('install', {
83
+ async function installAsync(androidProjectPath, { variant , appName , port }) {
84
+ const args = formatGradleArguments("install", {
93
85
  variant,
94
86
  appName
95
87
  });
@@ -98,15 +90,15 @@ async function installAsync(androidProjectPath, { variant, appName, port }) {
98
90
  args
99
91
  });
100
92
  }
101
- async function spawnGradleAsync(projectRoot, { port, architectures, args, env }) {
93
+ async function spawnGradleAsync(projectRoot, { port , architectures , args , env }) {
102
94
  const gradlew = resolveGradleWPath(projectRoot);
103
95
  if (port != null) args.push(getPortArg(port));
104
96
  if (architectures) args.push(getActiveArchArg(architectures));
105
- debug(` ${gradlew} ${args.join(' ')}`);
97
+ debug(` ${gradlew} ${args.join(" ")}`);
106
98
  try {
107
- return await (0, _spawnasync().default)(gradlew, args, {
99
+ return await (0, _spawnAsync().default)(gradlew, args, {
108
100
  cwd: projectRoot,
109
- stdio: 'inherit',
101
+ stdio: "inherit",
110
102
  env: {
111
103
  ...process.env,
112
104
  ...env ?? {}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/platforms/android/gradle.ts"],"sourcesContent":["import spawnAsync, { SpawnResult } from '@expo/spawn-async';\nimport path from 'path';\n\nimport { env } from '../../../utils/env';\nimport { AbortCommandError } from '../../../utils/errors';\n\nconst debug = require('debug')('expo:start:platforms:android:gradle') as typeof console.log;\n\nfunction upperFirst(name: string) {\n return name.charAt(0).toUpperCase() + name.slice(1);\n}\n\n/** Format gradle assemble arguments. Exposed for testing. */\nexport function formatGradleArguments(\n cmd: 'assemble' | 'install',\n {\n appName,\n variant,\n tasks = [cmd + upperFirst(variant)],\n }: { tasks?: string[]; variant: string; appName: string }\n): string[] {\n return appName ? tasks.map((task) => `${appName}:${task}`) : tasks;\n}\n\nfunction resolveGradleWPath(androidProjectPath: string): string {\n return path.join(androidProjectPath, process.platform === 'win32' ? 'gradlew.bat' : 'gradlew');\n}\n\nfunction getPortArg(port: number): string {\n return `-PreactNativeDevServerPort=${port}`;\n}\n\nfunction getActiveArchArg(architectures: string): string {\n return `-PreactNativeArchitectures=${architectures}`;\n}\n\n/**\n * Build the Android project using Gradle.\n *\n * @param androidProjectPath - Path to the Android project like `projectRoot/android`.\n * @param props.variant - Variant to install.\n * @param props.appName - Name of the 'app' folder, this appears to always be `app`.\n * @param props.port - Dev server port to pass to the install command.\n * @param props.buildCache - Should use the `--build-cache` flag, enabling the [Gradle build cache](https://docs.gradle.org/current/userguide/build_cache.html).\n * @param props.architectures - Architectures to build for.\n * @returns - A promise resolving to spawn results.\n */\nexport async function assembleAsync(\n androidProjectPath: string,\n {\n variant,\n port,\n appName,\n buildCache,\n architectures,\n eagerBundleOptions,\n }: {\n variant: string;\n port?: number;\n appName: string;\n buildCache?: boolean;\n architectures?: string;\n eagerBundleOptions?: string;\n }\n): Promise<SpawnResult> {\n const task = formatGradleArguments('assemble', { variant, appName });\n const args = [\n ...task,\n // ignore linting errors\n '-x',\n 'lint',\n // ignore tests\n '-x',\n 'test',\n '--configure-on-demand',\n ];\n\n if (buildCache) args.push('--build-cache');\n\n // Generate a profile under `/android/app/build/reports/profile`\n if (env.EXPO_PROFILE) args.push('--profile');\n\n return await spawnGradleAsync(androidProjectPath, {\n port,\n architectures,\n args,\n env: eagerBundleOptions\n ? {\n __EXPO_EAGER_BUNDLE_OPTIONS: eagerBundleOptions,\n }\n : {},\n });\n}\n\n/**\n * Install an app on device or emulator using `gradlew install`.\n *\n * @param androidProjectPath - Path to the Android project like `projectRoot/android`.\n * @param props.variant - Variant to install.\n * @param props.appName - Name of the 'app' folder, this appears to always be `app`.\n * @param props.port - Dev server port to pass to the install command.\n * @returns - A promise resolving to spawn results.\n */\nexport async function installAsync(\n androidProjectPath: string,\n {\n variant,\n appName,\n port,\n }: {\n variant: string;\n appName: string;\n port?: number;\n }\n): Promise<SpawnResult> {\n const args = formatGradleArguments('install', { variant, appName });\n return await spawnGradleAsync(androidProjectPath, { port, args });\n}\n\nexport async function spawnGradleAsync(\n projectRoot: string,\n {\n port,\n architectures,\n args,\n env,\n }: { port?: number; architectures?: string; args: string[]; env?: Record<string, string> }\n): Promise<SpawnResult> {\n const gradlew = resolveGradleWPath(projectRoot);\n if (port != null) args.push(getPortArg(port));\n if (architectures) args.push(getActiveArchArg(architectures));\n debug(` ${gradlew} ${args.join(' ')}`);\n try {\n return await spawnAsync(gradlew, args, {\n cwd: projectRoot,\n stdio: 'inherit',\n env: {\n ...process.env,\n ...(env ?? {}),\n },\n });\n } catch (error: any) {\n // User aborted the command with ctrl-c\n if (error.status === 130) {\n // Fail silently\n throw new AbortCommandError();\n }\n throw error;\n }\n}\n"],"names":["assembleAsync","formatGradleArguments","installAsync","spawnGradleAsync","debug","require","upperFirst","name","charAt","toUpperCase","slice","cmd","appName","variant","tasks","map","task","resolveGradleWPath","androidProjectPath","path","join","process","platform","getPortArg","port","getActiveArchArg","architectures","buildCache","eagerBundleOptions","args","push","env","EXPO_PROFILE","__EXPO_EAGER_BUNDLE_OPTIONS","projectRoot","gradlew","spawnAsync","cwd","stdio","error","status","AbortCommandError"],"mappings":";;;;;;;;;;;IA+CsBA,aAAa;eAAbA;;IAlCNC,qBAAqB;eAArBA;;IA0FMC,YAAY;eAAZA;;IAgBAC,gBAAgB;eAAhBA;;;;gEAvHkB;;;;;;;gEACvB;;;;;;qBAEG;wBACc;;;;;;AAElC,MAAMC,QAAQC,QAAQ,SAAS;AAE/B,SAASC,WAAWC,IAAY;IAC9B,OAAOA,KAAKC,MAAM,CAAC,GAAGC,WAAW,KAAKF,KAAKG,KAAK,CAAC;AACnD;AAGO,SAAST,sBACdU,GAA2B,EAC3B,EACEC,OAAO,EACPC,OAAO,EACPC,QAAQ;IAACH,MAAML,WAAWO;CAAS,EACoB;IAEzD,OAAOD,UAAUE,MAAMC,GAAG,CAAC,CAACC,OAAS,GAAGJ,QAAQ,CAAC,EAAEI,MAAM,IAAIF;AAC/D;AAEA,SAASG,mBAAmBC,kBAA0B;IACpD,OAAOC,eAAI,CAACC,IAAI,CAACF,oBAAoBG,QAAQC,QAAQ,KAAK,UAAU,gBAAgB;AACtF;AAEA,SAASC,WAAWC,IAAY;IAC9B,OAAO,CAAC,2BAA2B,EAAEA,MAAM;AAC7C;AAEA,SAASC,iBAAiBC,aAAqB;IAC7C,OAAO,CAAC,2BAA2B,EAAEA,eAAe;AACtD;AAaO,eAAe1B,cACpBkB,kBAA0B,EAC1B,EACEL,OAAO,EACPW,IAAI,EACJZ,OAAO,EACPe,UAAU,EACVD,aAAa,EACbE,kBAAkB,EAQnB;IAED,MAAMZ,OAAOf,sBAAsB,YAAY;QAAEY;QAASD;IAAQ;IAClE,MAAMiB,OAAO;WACRb;QACH,wBAAwB;QACxB;QACA;QACA,eAAe;QACf;QACA;QACA;KACD;IAED,IAAIW,YAAYE,KAAKC,IAAI,CAAC;IAE1B,gEAAgE;IAChE,IAAIC,QAAG,CAACC,YAAY,EAAEH,KAAKC,IAAI,CAAC;IAEhC,OAAO,MAAM3B,iBAAiBe,oBAAoB;QAChDM;QACAE;QACAG;QACAE,KAAKH,qBACD;YACEK,6BAA6BL;QAC/B,IACA,CAAC;IACP;AACF;AAWO,eAAe1B,aACpBgB,kBAA0B,EAC1B,EACEL,OAAO,EACPD,OAAO,EACPY,IAAI,EAKL;IAED,MAAMK,OAAO5B,sBAAsB,WAAW;QAAEY;QAASD;IAAQ;IACjE,OAAO,MAAMT,iBAAiBe,oBAAoB;QAAEM;QAAMK;IAAK;AACjE;AAEO,eAAe1B,iBACpB+B,WAAmB,EACnB,EACEV,IAAI,EACJE,aAAa,EACbG,IAAI,EACJE,GAAG,EACqF;IAE1F,MAAMI,UAAUlB,mBAAmBiB;IACnC,IAAIV,QAAQ,MAAMK,KAAKC,IAAI,CAACP,WAAWC;IACvC,IAAIE,eAAeG,KAAKC,IAAI,CAACL,iBAAiBC;IAC9CtB,MAAM,CAAC,EAAE,EAAE+B,QAAQ,CAAC,EAAEN,KAAKT,IAAI,CAAC,MAAM;IACtC,IAAI;QACF,OAAO,MAAMgB,IAAAA,qBAAU,EAACD,SAASN,MAAM;YACrCQ,KAAKH;YACLI,OAAO;YACPP,KAAK;gBACH,GAAGV,QAAQU,GAAG;gBACd,GAAIA,OAAO,CAAC,CAAC;YACf;QACF;IACF,EAAE,OAAOQ,OAAY;QACnB,uCAAuC;QACvC,IAAIA,MAAMC,MAAM,KAAK,KAAK;YACxB,gBAAgB;YAChB,MAAM,IAAIC,yBAAiB;QAC7B;QACA,MAAMF;IACR;AACF"}
1
+ {"version":3,"sources":["../../../../../src/start/platforms/android/gradle.ts"],"sourcesContent":["import spawnAsync, { SpawnResult } from '@expo/spawn-async';\nimport path from 'path';\n\nimport { env } from '../../../utils/env';\nimport { AbortCommandError } from '../../../utils/errors';\n\nconst debug = require('debug')('expo:start:platforms:android:gradle') as typeof console.log;\n\nfunction upperFirst(name: string) {\n return name.charAt(0).toUpperCase() + name.slice(1);\n}\n\n/** Format gradle assemble arguments. Exposed for testing. */\nexport function formatGradleArguments(\n cmd: 'assemble' | 'install',\n {\n appName,\n variant,\n tasks = [cmd + upperFirst(variant)],\n }: { tasks?: string[]; variant: string; appName: string }\n): string[] {\n return appName ? tasks.map((task) => `${appName}:${task}`) : tasks;\n}\n\nfunction resolveGradleWPath(androidProjectPath: string): string {\n return path.join(androidProjectPath, process.platform === 'win32' ? 'gradlew.bat' : 'gradlew');\n}\n\nfunction getPortArg(port: number): string {\n return `-PreactNativeDevServerPort=${port}`;\n}\n\nfunction getActiveArchArg(architectures: string): string {\n return `-PreactNativeArchitectures=${architectures}`;\n}\n\n/**\n * Build the Android project using Gradle.\n *\n * @param androidProjectPath - Path to the Android project like `projectRoot/android`.\n * @param props.variant - Variant to install.\n * @param props.appName - Name of the 'app' folder, this appears to always be `app`.\n * @param props.port - Dev server port to pass to the install command.\n * @param props.buildCache - Should use the `--build-cache` flag, enabling the [Gradle build cache](https://docs.gradle.org/current/userguide/build_cache.html).\n * @param props.architectures - Architectures to build for.\n * @returns - A promise resolving to spawn results.\n */\nexport async function assembleAsync(\n androidProjectPath: string,\n {\n variant,\n port,\n appName,\n buildCache,\n architectures,\n eagerBundleOptions,\n }: {\n variant: string;\n port?: number;\n appName: string;\n buildCache?: boolean;\n architectures?: string;\n eagerBundleOptions?: string;\n }\n): Promise<SpawnResult> {\n const task = formatGradleArguments('assemble', { variant, appName });\n const args = [\n ...task,\n // ignore linting errors\n '-x',\n 'lint',\n // ignore tests\n '-x',\n 'test',\n '--configure-on-demand',\n ];\n\n if (buildCache) args.push('--build-cache');\n\n // Generate a profile under `/android/app/build/reports/profile`\n if (env.EXPO_PROFILE) args.push('--profile');\n\n return await spawnGradleAsync(androidProjectPath, {\n port,\n architectures,\n args,\n env: eagerBundleOptions\n ? {\n __EXPO_EAGER_BUNDLE_OPTIONS: eagerBundleOptions,\n }\n : {},\n });\n}\n\n/**\n * Install an app on device or emulator using `gradlew install`.\n *\n * @param androidProjectPath - Path to the Android project like `projectRoot/android`.\n * @param props.variant - Variant to install.\n * @param props.appName - Name of the 'app' folder, this appears to always be `app`.\n * @param props.port - Dev server port to pass to the install command.\n * @returns - A promise resolving to spawn results.\n */\nexport async function installAsync(\n androidProjectPath: string,\n {\n variant,\n appName,\n port,\n }: {\n variant: string;\n appName: string;\n port?: number;\n }\n): Promise<SpawnResult> {\n const args = formatGradleArguments('install', { variant, appName });\n return await spawnGradleAsync(androidProjectPath, { port, args });\n}\n\nexport async function spawnGradleAsync(\n projectRoot: string,\n {\n port,\n architectures,\n args,\n env,\n }: { port?: number; architectures?: string; args: string[]; env?: Record<string, string> }\n): Promise<SpawnResult> {\n const gradlew = resolveGradleWPath(projectRoot);\n if (port != null) args.push(getPortArg(port));\n if (architectures) args.push(getActiveArchArg(architectures));\n debug(` ${gradlew} ${args.join(' ')}`);\n try {\n return await spawnAsync(gradlew, args, {\n cwd: projectRoot,\n stdio: 'inherit',\n env: {\n ...process.env,\n ...(env ?? {}),\n },\n });\n } catch (error: any) {\n // User aborted the command with ctrl-c\n if (error.status === 130) {\n // Fail silently\n throw new AbortCommandError();\n }\n throw error;\n }\n}\n"],"names":["formatGradleArguments","assembleAsync","installAsync","spawnGradleAsync","debug","require","upperFirst","name","charAt","toUpperCase","slice","cmd","appName","variant","tasks","map","task","resolveGradleWPath","androidProjectPath","path","join","process","platform","getPortArg","port","getActiveArchArg","architectures","buildCache","eagerBundleOptions","args","push","env","EXPO_PROFILE","__EXPO_EAGER_BUNDLE_OPTIONS","projectRoot","gradlew","spawnAsync","cwd","stdio","error","status","AbortCommandError"],"mappings":"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"}
@@ -9,15 +9,11 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- formatDeviceChoice: function() {
13
- return formatDeviceChoice;
14
- },
15
- promptForDeviceAsync: function() {
16
- return promptForDeviceAsync;
17
- }
12
+ promptForDeviceAsync: ()=>promptForDeviceAsync,
13
+ formatDeviceChoice: ()=>formatDeviceChoice
18
14
  });
19
15
  function _chalk() {
20
- const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
16
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
21
17
  _chalk = function() {
22
18
  return data;
23
19
  };
@@ -26,22 +22,22 @@ function _chalk() {
26
22
  const _adb = require("./adb");
27
23
  const _errors = require("../../../utils/errors");
28
24
  const _prompts = require("../../../utils/prompts");
29
- function _interop_require_default(obj) {
25
+ function _interopRequireDefault(obj) {
30
26
  return obj && obj.__esModule ? obj : {
31
27
  default: obj
32
28
  };
33
29
  }
34
30
  async function promptForDeviceAsync(devices) {
35
31
  // TODO: provide an option to add or download more simulators
36
- const { value } = await (0, _prompts.promptAsync)({
37
- type: 'autocomplete',
38
- name: 'value',
32
+ const { value } = await (0, _prompts.promptAsync)({
33
+ type: "autocomplete",
34
+ name: "value",
39
35
  limit: 11,
40
- message: 'Select a device/emulator',
36
+ message: "Select a device/emulator",
41
37
  choices: devices.map((item)=>formatDeviceChoice(item)),
42
38
  suggest: (0, _prompts.createSelectionFilter)()
43
39
  });
44
- const device = devices.find(({ name })=>name === value);
40
+ const device = devices.find(({ name })=>name === value);
45
41
  if ((device == null ? void 0 : device.isAuthorized) === false) {
46
42
  (0, _adb.logUnauthorized)(device);
47
43
  throw new _errors.AbortCommandError();
@@ -51,20 +47,20 @@ async function promptForDeviceAsync(devices) {
51
47
  function formatDeviceChoice(device) {
52
48
  const symbol = getDeviceChoiceSymbol(device);
53
49
  const name = getDeviceChoiceName(device);
54
- const type = _chalk().default.dim(device.isAuthorized ? device.type : 'unauthorized');
50
+ const type = _chalk().default.dim(device.isAuthorized ? device.type : "unauthorized");
55
51
  return {
56
52
  value: device.name,
57
53
  title: `${symbol}${name} (${type})`
58
54
  };
59
55
  }
60
56
  /** Get the styled symbol of the device, based on ADB connection type (usb vs network) */ function getDeviceChoiceSymbol(device) {
61
- if (device.type === 'device' && device.connectionType === 'Network') {
62
- return '🌐 ';
57
+ if (device.type === "device" && device.connectionType === "Network") {
58
+ return "\uD83C\uDF10 ";
63
59
  }
64
- if (device.type === 'device') {
65
- return '🔌 ';
60
+ if (device.type === "device") {
61
+ return "\uD83D\uDD0C ";
66
62
  }
67
- return '';
63
+ return "";
68
64
  }
69
65
  /** Get the styled name of the device, based on device state */ function getDeviceChoiceName(device) {
70
66
  // Use no style changes for a disconnected device that is available to be opened.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/platforms/android/promptAndroidDevice.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport { Device, logUnauthorized } from './adb';\nimport { AbortCommandError } from '../../../utils/errors';\nimport { createSelectionFilter, promptAsync } from '../../../utils/prompts';\n\nexport async function promptForDeviceAsync(devices: Device[]): Promise<Device> {\n // TODO: provide an option to add or download more simulators\n\n const { value } = await promptAsync({\n type: 'autocomplete',\n name: 'value',\n limit: 11,\n message: 'Select a device/emulator',\n choices: devices.map((item) => formatDeviceChoice(item)),\n suggest: createSelectionFilter(),\n });\n\n const device = devices.find(({ name }) => name === value);\n\n if (device?.isAuthorized === false) {\n logUnauthorized(device);\n throw new AbortCommandError();\n }\n\n return device!;\n}\n\n/**\n * Format the device for prompt list.\n * @internal - Exposed for testing.\n */\nexport function formatDeviceChoice(device: Device): { title: string; value: string } {\n const symbol = getDeviceChoiceSymbol(device);\n const name = getDeviceChoiceName(device);\n const type = chalk.dim(device.isAuthorized ? device.type : 'unauthorized');\n\n return {\n value: device.name,\n title: `${symbol}${name} (${type})`,\n };\n}\n\n/** Get the styled symbol of the device, based on ADB connection type (usb vs network) */\nfunction getDeviceChoiceSymbol(device: Device) {\n if (device.type === 'device' && device.connectionType === 'Network') {\n return '🌐 ';\n }\n\n if (device.type === 'device') {\n return '🔌 ';\n }\n\n return '';\n}\n\n/** Get the styled name of the device, based on device state */\nfunction getDeviceChoiceName(device: Device) {\n // Use no style changes for a disconnected device that is available to be opened.\n if (!device.isBooted) {\n return device.name;\n }\n\n // A device that is connected and ready to be used should be bolded to match iOS.\n if (device.isAuthorized) {\n return chalk.bold(device.name);\n }\n\n // Devices that are unauthorized and connected cannot be used, but they are connected so gray them out.\n return chalk.bold(chalk.gray(device.name));\n}\n"],"names":["formatDeviceChoice","promptForDeviceAsync","devices","value","promptAsync","type","name","limit","message","choices","map","item","suggest","createSelectionFilter","device","find","isAuthorized","logUnauthorized","AbortCommandError","symbol","getDeviceChoiceSymbol","getDeviceChoiceName","chalk","dim","title","connectionType","isBooted","bold","gray"],"mappings":";;;;;;;;;;;IAgCgBA,kBAAkB;eAAlBA;;IA1BMC,oBAAoB;eAApBA;;;;gEANJ;;;;;;qBAEsB;wBACN;yBACiB;;;;;;AAE5C,eAAeA,qBAAqBC,OAAiB;IAC1D,6DAA6D;IAE7D,MAAM,EAAEC,KAAK,EAAE,GAAG,MAAMC,IAAAA,oBAAW,EAAC;QAClCC,MAAM;QACNC,MAAM;QACNC,OAAO;QACPC,SAAS;QACTC,SAASP,QAAQQ,GAAG,CAAC,CAACC,OAASX,mBAAmBW;QAClDC,SAASC,IAAAA,8BAAqB;IAChC;IAEA,MAAMC,SAASZ,QAAQa,IAAI,CAAC,CAAC,EAAET,IAAI,EAAE,GAAKA,SAASH;IAEnD,IAAIW,CAAAA,0BAAAA,OAAQE,YAAY,MAAK,OAAO;QAClCC,IAAAA,oBAAe,EAACH;QAChB,MAAM,IAAII,yBAAiB;IAC7B;IAEA,OAAOJ;AACT;AAMO,SAASd,mBAAmBc,MAAc;IAC/C,MAAMK,SAASC,sBAAsBN;IACrC,MAAMR,OAAOe,oBAAoBP;IACjC,MAAMT,OAAOiB,gBAAK,CAACC,GAAG,CAACT,OAAOE,YAAY,GAAGF,OAAOT,IAAI,GAAG;IAE3D,OAAO;QACLF,OAAOW,OAAOR,IAAI;QAClBkB,OAAO,GAAGL,SAASb,KAAK,EAAE,EAAED,KAAK,CAAC,CAAC;IACrC;AACF;AAEA,uFAAuF,GACvF,SAASe,sBAAsBN,MAAc;IAC3C,IAAIA,OAAOT,IAAI,KAAK,YAAYS,OAAOW,cAAc,KAAK,WAAW;QACnE,OAAO;IACT;IAEA,IAAIX,OAAOT,IAAI,KAAK,UAAU;QAC5B,OAAO;IACT;IAEA,OAAO;AACT;AAEA,6DAA6D,GAC7D,SAASgB,oBAAoBP,MAAc;IACzC,iFAAiF;IACjF,IAAI,CAACA,OAAOY,QAAQ,EAAE;QACpB,OAAOZ,OAAOR,IAAI;IACpB;IAEA,iFAAiF;IACjF,IAAIQ,OAAOE,YAAY,EAAE;QACvB,OAAOM,gBAAK,CAACK,IAAI,CAACb,OAAOR,IAAI;IAC/B;IAEA,uGAAuG;IACvG,OAAOgB,gBAAK,CAACK,IAAI,CAACL,gBAAK,CAACM,IAAI,CAACd,OAAOR,IAAI;AAC1C"}
1
+ {"version":3,"sources":["../../../../../src/start/platforms/android/promptAndroidDevice.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport { Device, logUnauthorized } from './adb';\nimport { AbortCommandError } from '../../../utils/errors';\nimport { createSelectionFilter, promptAsync } from '../../../utils/prompts';\n\nexport async function promptForDeviceAsync(devices: Device[]): Promise<Device> {\n // TODO: provide an option to add or download more simulators\n\n const { value } = await promptAsync({\n type: 'autocomplete',\n name: 'value',\n limit: 11,\n message: 'Select a device/emulator',\n choices: devices.map((item) => formatDeviceChoice(item)),\n suggest: createSelectionFilter(),\n });\n\n const device = devices.find(({ name }) => name === value);\n\n if (device?.isAuthorized === false) {\n logUnauthorized(device);\n throw new AbortCommandError();\n }\n\n return device!;\n}\n\n/**\n * Format the device for prompt list.\n * @internal - Exposed for testing.\n */\nexport function formatDeviceChoice(device: Device): { title: string; value: string } {\n const symbol = getDeviceChoiceSymbol(device);\n const name = getDeviceChoiceName(device);\n const type = chalk.dim(device.isAuthorized ? device.type : 'unauthorized');\n\n return {\n value: device.name,\n title: `${symbol}${name} (${type})`,\n };\n}\n\n/** Get the styled symbol of the device, based on ADB connection type (usb vs network) */\nfunction getDeviceChoiceSymbol(device: Device) {\n if (device.type === 'device' && device.connectionType === 'Network') {\n return '🌐 ';\n }\n\n if (device.type === 'device') {\n return '🔌 ';\n }\n\n return '';\n}\n\n/** Get the styled name of the device, based on device state */\nfunction getDeviceChoiceName(device: Device) {\n // Use no style changes for a disconnected device that is available to be opened.\n if (!device.isBooted) {\n return device.name;\n }\n\n // A device that is connected and ready to be used should be bolded to match iOS.\n if (device.isAuthorized) {\n return chalk.bold(device.name);\n }\n\n // Devices that are unauthorized and connected cannot be used, but they are connected so gray them out.\n return chalk.bold(chalk.gray(device.name));\n}\n"],"names":["promptForDeviceAsync","formatDeviceChoice","devices","value","promptAsync","type","name","limit","message","choices","map","item","suggest","createSelectionFilter","device","find","isAuthorized","logUnauthorized","AbortCommandError","symbol","getDeviceChoiceSymbol","getDeviceChoiceName","chalk","dim","title","connectionType","isBooted","bold","gray"],"mappings":"AAAA;;;;;;;;;;;IAMsBA,oBAAoB,MAApBA,oBAAoB;IA0B1BC,kBAAkB,MAAlBA,kBAAkB;;;8DAhChB,OAAO;;;;;;qBAEe,OAAO;wBACb,uBAAuB;yBACN,wBAAwB;;;;;;AAEpE,eAAeD,oBAAoB,CAACE,OAAiB,EAAmB;IAC7E,6DAA6D;IAE7D,MAAM,EAAEC,KAAK,CAAA,EAAE,GAAG,MAAMC,IAAAA,QAAW,YAAA,EAAC;QAClCC,IAAI,EAAE,cAAc;QACpBC,IAAI,EAAE,OAAO;QACbC,KAAK,EAAE,EAAE;QACTC,OAAO,EAAE,0BAA0B;QACnCC,OAAO,EAAEP,OAAO,CAACQ,GAAG,CAAC,CAACC,IAAI,GAAKV,kBAAkB,CAACU,IAAI,CAAC,CAAC;QACxDC,OAAO,EAAEC,IAAAA,QAAqB,sBAAA,GAAE;KACjC,CAAC,AAAC;IAEH,MAAMC,MAAM,GAAGZ,OAAO,CAACa,IAAI,CAAC,CAAC,EAAET,IAAI,CAAA,EAAE,GAAKA,IAAI,KAAKH,KAAK,CAAC,AAAC;IAE1D,IAAIW,CAAAA,MAAM,QAAc,GAApBA,KAAAA,CAAoB,GAApBA,MAAM,CAAEE,YAAY,CAAA,KAAK,KAAK,EAAE;QAClCC,IAAAA,IAAe,gBAAA,EAACH,MAAM,CAAC,CAAC;QACxB,MAAM,IAAII,OAAiB,kBAAA,EAAE,CAAC;IAChC,CAAC;IAED,OAAOJ,MAAM,CAAE;AACjB,CAAC;AAMM,SAASb,kBAAkB,CAACa,MAAc,EAAoC;IACnF,MAAMK,MAAM,GAAGC,qBAAqB,CAACN,MAAM,CAAC,AAAC;IAC7C,MAAMR,IAAI,GAAGe,mBAAmB,CAACP,MAAM,CAAC,AAAC;IACzC,MAAMT,IAAI,GAAGiB,MAAK,EAAA,QAAA,CAACC,GAAG,CAACT,MAAM,CAACE,YAAY,GAAGF,MAAM,CAACT,IAAI,GAAG,cAAc,CAAC,AAAC;IAE3E,OAAO;QACLF,KAAK,EAAEW,MAAM,CAACR,IAAI;QAClBkB,KAAK,EAAE,CAAC,EAAEL,MAAM,CAAC,EAAEb,IAAI,CAAC,EAAE,EAAED,IAAI,CAAC,CAAC,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,uFAAuF,GACvF,SAASe,qBAAqB,CAACN,MAAc,EAAE;IAC7C,IAAIA,MAAM,CAACT,IAAI,KAAK,QAAQ,IAAIS,MAAM,CAACW,cAAc,KAAK,SAAS,EAAE;QACnE,OAAO,eAAI,CAAC;IACd,CAAC;IAED,IAAIX,MAAM,CAACT,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,eAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,6DAA6D,GAC7D,SAASgB,mBAAmB,CAACP,MAAc,EAAE;IAC3C,iFAAiF;IACjF,IAAI,CAACA,MAAM,CAACY,QAAQ,EAAE;QACpB,OAAOZ,MAAM,CAACR,IAAI,CAAC;IACrB,CAAC;IAED,iFAAiF;IACjF,IAAIQ,MAAM,CAACE,YAAY,EAAE;QACvB,OAAOM,MAAK,EAAA,QAAA,CAACK,IAAI,CAACb,MAAM,CAACR,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,uGAAuG;IACvG,OAAOgB,MAAK,EAAA,QAAA,CAACK,IAAI,CAACL,MAAK,EAAA,QAAA,CAACM,IAAI,CAACd,MAAM,CAACR,IAAI,CAAC,CAAC,CAAC;AAC7C,CAAC"}
@@ -4,70 +4,68 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "AppleAppIdResolver", {
6
6
  enumerable: true,
7
- get: function() {
8
- return AppleAppIdResolver;
9
- }
7
+ get: ()=>AppleAppIdResolver
10
8
  });
11
- function _configplugins() {
9
+ function _configPlugins() {
12
10
  const data = require("@expo/config-plugins");
13
- _configplugins = function() {
11
+ _configPlugins = function() {
14
12
  return data;
15
13
  };
16
14
  return data;
17
15
  }
18
16
  function _plist() {
19
- const data = /*#__PURE__*/ _interop_require_default(require("@expo/plist"));
17
+ const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/plist"));
20
18
  _plist = function() {
21
19
  return data;
22
20
  };
23
21
  return data;
24
22
  }
25
23
  function _fs() {
26
- const data = /*#__PURE__*/ _interop_require_default(require("fs"));
24
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
27
25
  _fs = function() {
28
26
  return data;
29
27
  };
30
28
  return data;
31
29
  }
32
- const _AppIdResolver = require("../AppIdResolver");
33
- function _interop_require_default(obj) {
30
+ const _appIdResolver = require("../AppIdResolver");
31
+ function _interopRequireDefault(obj) {
34
32
  return obj && obj.__esModule ? obj : {
35
33
  default: obj
36
34
  };
37
35
  }
38
- const debug = require('debug')('expo:start:platforms:ios:AppleAppIdResolver');
39
- class AppleAppIdResolver extends _AppIdResolver.AppIdResolver {
36
+ const debug = require("debug")("expo:start:platforms:ios:AppleAppIdResolver");
37
+ class AppleAppIdResolver extends _appIdResolver.AppIdResolver {
40
38
  constructor(projectRoot){
41
- super(projectRoot, 'ios', 'ios.bundleIdentifier');
39
+ super(projectRoot, "ios", "ios.bundleIdentifier");
42
40
  }
43
41
  /** @return `true` if the app has valid `*.pbxproj` file */ async hasNativeProjectAsync() {
44
42
  try {
45
43
  // Never returns nullish values.
46
- return !!_configplugins().IOSConfig.Paths.getAllPBXProjectPaths(this.projectRoot).length;
44
+ return !!_configPlugins().IOSConfig.Paths.getAllPBXProjectPaths(this.projectRoot).length;
47
45
  } catch (error) {
48
- debug('Expected error checking for native project:', error.message);
46
+ debug("Expected error checking for native project:", error.message);
49
47
  return false;
50
48
  }
51
49
  }
52
50
  async resolveAppIdFromNativeAsync() {
53
51
  // Check xcode project
54
52
  try {
55
- const bundleId = _configplugins().IOSConfig.BundleIdentifier.getBundleIdentifierFromPbxproj(this.projectRoot);
53
+ const bundleId = _configPlugins().IOSConfig.BundleIdentifier.getBundleIdentifierFromPbxproj(this.projectRoot);
56
54
  if (bundleId) {
57
55
  return bundleId;
58
56
  }
59
57
  } catch (error) {
60
- debug('Expected error resolving the bundle identifier from the pbxproj:', error);
58
+ debug("Expected error resolving the bundle identifier from the pbxproj:", error);
61
59
  }
62
60
  // Check Info.plist
63
61
  try {
64
- const infoPlistPath = _configplugins().IOSConfig.Paths.getInfoPlistPath(this.projectRoot);
65
- const data = await _plist().default.parse(_fs().default.readFileSync(infoPlistPath, 'utf8'));
66
- if (data.CFBundleIdentifier && !data.CFBundleIdentifier.startsWith('$(')) {
62
+ const infoPlistPath = _configPlugins().IOSConfig.Paths.getInfoPlistPath(this.projectRoot);
63
+ const data = await _plist().default.parse(_fs().default.readFileSync(infoPlistPath, "utf8"));
64
+ if (data.CFBundleIdentifier && !data.CFBundleIdentifier.startsWith("$(")) {
67
65
  return data.CFBundleIdentifier;
68
66
  }
69
- } catch (error) {
70
- debug('Expected error resolving the bundle identifier from the project Info.plist:', error);
67
+ } catch (error1) {
68
+ debug("Expected error resolving the bundle identifier from the project Info.plist:", error1);
71
69
  }
72
70
  return null;
73
71
  }