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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (719) hide show
  1. package/build/bin/cli +93 -91
  2. package/build/bin/cli.map +1 -1
  3. package/build/metro-require/require.js +53 -52
  4. package/build/src/api/endpoint.js +6 -2
  5. package/build/src/api/endpoint.js.map +1 -1
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +5 -3
  7. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  8. package/build/src/api/getExpoSchema.js +16 -12
  9. package/build/src/api/getExpoSchema.js.map +1 -1
  10. package/build/src/api/getNativeModuleVersions.js +6 -4
  11. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  12. package/build/src/api/getProjectDevelopmentCertificate.js +5 -3
  13. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  14. package/build/src/api/getVersions.js +7 -5
  15. package/build/src/api/getVersions.js.map +1 -1
  16. package/build/src/api/graphql/client.js +32 -26
  17. package/build/src/api/graphql/client.js.map +1 -1
  18. package/build/src/api/graphql/queries/AppQuery.js +6 -4
  19. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  20. package/build/src/api/graphql/queries/UserQuery.js +5 -3
  21. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  22. package/build/src/api/graphql/types/App.js +3 -1
  23. package/build/src/api/graphql/types/App.js.map +1 -1
  24. package/build/src/api/rest/cache/FileSystemResponseCache.js +36 -32
  25. package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
  26. package/build/src/api/rest/cache/ResponseCache.js +20 -12
  27. package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +13 -11
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  30. package/build/src/api/rest/client.js +55 -37
  31. package/build/src/api/rest/client.js.map +1 -1
  32. package/build/src/api/rest/client.types.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithBaseUrl.js +5 -3
  34. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithOffline.js +5 -3
  36. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProgress.js +11 -7
  38. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  39. package/build/src/api/rest/wrapFetchWithProxy.js +5 -3
  40. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  41. package/build/src/api/rest/wrapFetchWithUserAgent.js +8 -6
  42. package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
  43. package/build/src/api/settings.js +7 -5
  44. package/build/src/api/settings.js.map +1 -1
  45. package/build/src/api/updateDevelopmentSession.js +23 -17
  46. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  47. package/build/src/api/user/UserSettings.js +53 -31
  48. package/build/src/api/user/UserSettings.js.map +1 -1
  49. package/build/src/api/user/actions.js +27 -21
  50. package/build/src/api/user/actions.js.map +1 -1
  51. package/build/src/api/user/expoSsoLauncher.js +30 -26
  52. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  53. package/build/src/api/user/otp.js +35 -29
  54. package/build/src/api/user/otp.js.map +1 -1
  55. package/build/src/api/user/user.js +44 -30
  56. package/build/src/api/user/user.js.map +1 -1
  57. package/build/src/config/configAsync.js +29 -23
  58. package/build/src/config/configAsync.js.map +1 -1
  59. package/build/src/config/index.js +25 -21
  60. package/build/src/config/index.js.map +1 -1
  61. package/build/src/customize/customizeAsync.js +8 -6
  62. package/build/src/customize/customizeAsync.js.map +1 -1
  63. package/build/src/customize/generate.js +20 -16
  64. package/build/src/customize/generate.js.map +1 -1
  65. package/build/src/customize/index.js +14 -12
  66. package/build/src/customize/index.js.map +1 -1
  67. package/build/src/customize/resolveOptions.js +4 -2
  68. package/build/src/customize/resolveOptions.js.map +1 -1
  69. package/build/src/customize/templates.js +58 -54
  70. package/build/src/customize/templates.js.map +1 -1
  71. package/build/src/customize/typescript.js +11 -7
  72. package/build/src/customize/typescript.js.map +1 -1
  73. package/build/src/export/createMetadataJson.js +11 -9
  74. package/build/src/export/createMetadataJson.js.map +1 -1
  75. package/build/src/export/embed/exportEager.js +8 -6
  76. package/build/src/export/embed/exportEager.js.map +1 -1
  77. package/build/src/export/embed/exportEmbedAsync.js +72 -62
  78. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  79. package/build/src/export/embed/exportServer.js +57 -55
  80. package/build/src/export/embed/exportServer.js.map +1 -1
  81. package/build/src/export/embed/index.js +44 -40
  82. package/build/src/export/embed/index.js.map +1 -1
  83. package/build/src/export/embed/resolveOptions.js +44 -36
  84. package/build/src/export/embed/resolveOptions.js.map +1 -1
  85. package/build/src/export/embed/xcodeCompilerLogger.js +39 -27
  86. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  87. package/build/src/export/exportApp.js +68 -64
  88. package/build/src/export/exportApp.js.map +1 -1
  89. package/build/src/export/exportAssets.js +34 -26
  90. package/build/src/export/exportAssets.js.map +1 -1
  91. package/build/src/export/exportAsync.js +13 -9
  92. package/build/src/export/exportAsync.js.map +1 -1
  93. package/build/src/export/exportDomComponents.js +53 -45
  94. package/build/src/export/exportDomComponents.js.map +1 -1
  95. package/build/src/export/exportHermes.js +75 -53
  96. package/build/src/export/exportHermes.js.map +1 -1
  97. package/build/src/export/exportStaticAsync.js +73 -62
  98. package/build/src/export/exportStaticAsync.js.map +1 -1
  99. package/build/src/export/favicon.js +33 -27
  100. package/build/src/export/favicon.js.map +1 -1
  101. package/build/src/export/getPublicExpoManifest.js +7 -5
  102. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  103. package/build/src/export/getResolvedLocales.js +11 -9
  104. package/build/src/export/getResolvedLocales.js.map +1 -1
  105. package/build/src/export/html.js +10 -6
  106. package/build/src/export/html.js.map +1 -1
  107. package/build/src/export/index.js +32 -28
  108. package/build/src/export/index.js.map +1 -1
  109. package/build/src/export/metroAssetLocalPath.js +36 -30
  110. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  111. package/build/src/export/persistMetroAssets.js +64 -34
  112. package/build/src/export/persistMetroAssets.js.map +1 -1
  113. package/build/src/export/publicFolder.js +10 -6
  114. package/build/src/export/publicFolder.js.map +1 -1
  115. package/build/src/export/resolveOptions.js +28 -24
  116. package/build/src/export/resolveOptions.js.map +1 -1
  117. package/build/src/export/saveAssets.js +50 -46
  118. package/build/src/export/saveAssets.js.map +1 -1
  119. package/build/src/export/web/exportWebAsync.js +13 -11
  120. package/build/src/export/web/exportWebAsync.js.map +1 -1
  121. package/build/src/export/web/index.js +19 -15
  122. package/build/src/export/web/index.js.map +1 -1
  123. package/build/src/export/web/resolveOptions.js +5 -3
  124. package/build/src/export/web/resolveOptions.js.map +1 -1
  125. package/build/src/export/writeContents.js +4 -2
  126. package/build/src/export/writeContents.js.map +1 -1
  127. package/build/src/graphql/generated.js +705 -479
  128. package/build/src/graphql/generated.js.map +1 -1
  129. package/build/src/install/applyPlugins.js +11 -7
  130. package/build/src/install/applyPlugins.js.map +1 -1
  131. package/build/src/install/checkPackages.js +26 -22
  132. package/build/src/install/checkPackages.js.map +1 -1
  133. package/build/src/install/fixPackages.js +16 -12
  134. package/build/src/install/fixPackages.js.map +1 -1
  135. package/build/src/install/index.js +18 -16
  136. package/build/src/install/index.js.map +1 -1
  137. package/build/src/install/installAsync.js +32 -26
  138. package/build/src/install/installAsync.js.map +1 -1
  139. package/build/src/install/installExpoPackage.js +22 -18
  140. package/build/src/install/installExpoPackage.js.map +1 -1
  141. package/build/src/install/resolveOptions.js +21 -19
  142. package/build/src/install/resolveOptions.js.map +1 -1
  143. package/build/src/install/utils/autoAddConfigPlugins.js +18 -14
  144. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  145. package/build/src/install/utils/checkPackagesCompatibility.js +14 -12
  146. package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
  147. package/build/src/lint/ESlintPrerequisite.js +50 -44
  148. package/build/src/lint/ESlintPrerequisite.js.map +1 -1
  149. package/build/src/lint/index.js +12 -8
  150. package/build/src/lint/index.js.map +1 -1
  151. package/build/src/lint/lintAsync.js +10 -8
  152. package/build/src/lint/lintAsync.js.map +1 -1
  153. package/build/src/log.js +36 -16
  154. package/build/src/log.js.map +1 -1
  155. package/build/src/login/index.js +24 -20
  156. package/build/src/login/index.js.map +1 -1
  157. package/build/src/logout/index.js +11 -7
  158. package/build/src/logout/index.js.map +1 -1
  159. package/build/src/prebuild/clearNativeFolder.js +38 -26
  160. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  161. package/build/src/prebuild/configureProjectAsync.js +18 -14
  162. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  163. package/build/src/prebuild/copyTemplateFiles.js +17 -13
  164. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  165. package/build/src/prebuild/ensureConfigAsync.js +6 -4
  166. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  167. package/build/src/prebuild/index.js +36 -32
  168. package/build/src/prebuild/index.js.map +1 -1
  169. package/build/src/prebuild/prebuildAsync.js +29 -25
  170. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  171. package/build/src/prebuild/renameTemplateAppName.js +43 -37
  172. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  173. package/build/src/prebuild/resolveOptions.js +70 -53
  174. package/build/src/prebuild/resolveOptions.js.map +1 -1
  175. package/build/src/prebuild/resolveTemplate.js +36 -32
  176. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  177. package/build/src/prebuild/updateFromTemplate.js +19 -13
  178. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  179. package/build/src/prebuild/updatePackageJson.js +53 -39
  180. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  181. package/build/src/prebuild/validateTemplatePlatforms.js +12 -8
  182. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  183. package/build/src/register/index.js +11 -7
  184. package/build/src/register/index.js.map +1 -1
  185. package/build/src/register/registerAsync.js +5 -3
  186. package/build/src/register/registerAsync.js.map +1 -1
  187. package/build/src/run/android/index.js +36 -32
  188. package/build/src/run/android/index.js.map +1 -1
  189. package/build/src/run/android/resolveDevice.js +10 -8
  190. package/build/src/run/android/resolveDevice.js.map +1 -1
  191. package/build/src/run/android/resolveGradlePropsAsync.js +18 -16
  192. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  193. package/build/src/run/android/resolveInstallApkName.js +17 -15
  194. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  195. package/build/src/run/android/resolveLaunchProps.js +12 -10
  196. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  197. package/build/src/run/android/resolveOptions.js +4 -2
  198. package/build/src/run/android/resolveOptions.js.map +1 -1
  199. package/build/src/run/android/runAndroidAsync.js +23 -21
  200. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  201. package/build/src/run/ensureNativeProject.js +7 -5
  202. package/build/src/run/ensureNativeProject.js.map +1 -1
  203. package/build/src/run/hints.js +13 -7
  204. package/build/src/run/hints.js.map +1 -1
  205. package/build/src/run/index.js +27 -23
  206. package/build/src/run/index.js.map +1 -1
  207. package/build/src/run/ios/XcodeBuild.js +80 -60
  208. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  209. package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
  210. package/build/src/run/ios/appleDevice/AppleDevice.js +69 -63
  211. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  212. package/build/src/run/ios/appleDevice/ClientManager.js +29 -26
  213. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  214. package/build/src/run/ios/appleDevice/client/AFCClient.js +28 -25
  215. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  216. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +29 -26
  217. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  218. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +22 -21
  219. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  220. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +32 -29
  221. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  222. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +28 -24
  223. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  224. package/build/src/run/ios/appleDevice/client/ServiceClient.js +7 -4
  225. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  226. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +28 -27
  227. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  228. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +23 -17
  229. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  230. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +146 -132
  231. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  232. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +29 -21
  233. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  234. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +29 -21
  235. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  236. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +34 -22
  237. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  238. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +27 -17
  239. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  240. package/build/src/run/ios/codeSigning/Security.js +53 -39
  241. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  242. package/build/src/run/ios/codeSigning/configureCodeSigning.js +13 -9
  243. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  244. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +27 -19
  245. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  246. package/build/src/run/ios/codeSigning/settings.js +9 -5
  247. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  248. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +14 -12
  249. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  250. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +27 -21
  251. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  252. package/build/src/run/ios/index.js +40 -36
  253. package/build/src/run/ios/index.js.map +1 -1
  254. package/build/src/run/ios/launchApp.js +23 -17
  255. package/build/src/run/ios/launchApp.js.map +1 -1
  256. package/build/src/run/ios/options/appleDestinations.js +38 -36
  257. package/build/src/run/ios/options/appleDestinations.js.map +1 -1
  258. package/build/src/run/ios/options/promptDevice.js +20 -16
  259. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  260. package/build/src/run/ios/options/resolveDevice.js +30 -24
  261. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  262. package/build/src/run/ios/options/resolveNativeScheme.js +31 -23
  263. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  264. package/build/src/run/ios/options/resolveOptions.js +7 -5
  265. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  266. package/build/src/run/ios/options/resolveXcodeProject.js +7 -5
  267. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  268. package/build/src/run/ios/runIosAsync.js +48 -44
  269. package/build/src/run/ios/runIosAsync.js.map +1 -1
  270. package/build/src/run/ios/validateExternalBinary.js +24 -22
  271. package/build/src/run/ios/validateExternalBinary.js.map +1 -1
  272. package/build/src/run/resolveBundlerProps.js +4 -2
  273. package/build/src/run/resolveBundlerProps.js.map +1 -1
  274. package/build/src/run/startBundler.js +16 -12
  275. package/build/src/run/startBundler.js.map +1 -1
  276. package/build/src/serve/index.js +20 -16
  277. package/build/src/serve/index.js.map +1 -1
  278. package/build/src/serve/serveAsync.js +36 -32
  279. package/build/src/serve/serveAsync.js.map +1 -1
  280. package/build/src/start/detectDevClient.js +13 -9
  281. package/build/src/start/detectDevClient.js.map +1 -1
  282. package/build/src/start/doctor/Prerequisite.js +12 -7
  283. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  284. package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -11
  285. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  286. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +23 -19
  287. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  288. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +23 -19
  289. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  290. package/build/src/start/doctor/apple/XcodePrerequisite.js +51 -45
  291. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  292. package/build/src/start/doctor/apple/XcrunPrerequisite.js +18 -16
  293. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  294. package/build/src/start/doctor/dependencies/bundledNativeModules.js +23 -19
  295. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  296. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +31 -25
  297. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  298. package/build/src/start/doctor/dependencies/getMissingPackages.js +25 -17
  299. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  300. package/build/src/start/doctor/dependencies/getVersionedPackages.js +40 -32
  301. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  302. package/build/src/start/doctor/dependencies/resolvePackages.js +32 -26
  303. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  304. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +41 -31
  305. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  306. package/build/src/start/doctor/ngrok/ExternalModule.js +34 -29
  307. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  308. package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -8
  309. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  310. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +32 -28
  311. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  312. package/build/src/start/doctor/typescript/updateTSConfig.js +23 -17
  313. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  314. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +33 -27
  315. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  316. package/build/src/start/index.js +46 -42
  317. package/build/src/start/index.js.map +1 -1
  318. package/build/src/start/interface/KeyPressHandler.js +18 -14
  319. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  320. package/build/src/start/interface/commandsTable.js +94 -80
  321. package/build/src/start/interface/commandsTable.js.map +1 -1
  322. package/build/src/start/interface/interactiveActions.js +44 -40
  323. package/build/src/start/interface/interactiveActions.js.map +1 -1
  324. package/build/src/start/interface/startInterface.js +65 -61
  325. package/build/src/start/interface/startInterface.js.map +1 -1
  326. package/build/src/start/platforms/AppIdResolver.js +6 -4
  327. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  328. package/build/src/start/platforms/DeviceManager.js +10 -6
  329. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  330. package/build/src/start/platforms/ExpoGoInstaller.js +25 -20
  331. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  332. package/build/src/start/platforms/PlatformManager.js +17 -15
  333. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  334. package/build/src/start/platforms/android/ADBServer.js +39 -35
  335. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  336. package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -16
  337. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  338. package/build/src/start/platforms/android/AndroidDeviceManager.js +24 -20
  339. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  340. package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
  341. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  342. package/build/src/start/platforms/android/AndroidSdk.js +11 -9
  343. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  344. package/build/src/start/platforms/android/activateWindow.js +26 -22
  345. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  346. package/build/src/start/platforms/android/adb.js +121 -83
  347. package/build/src/start/platforms/android/adb.js.map +1 -1
  348. package/build/src/start/platforms/android/adbReverse.js +20 -12
  349. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  350. package/build/src/start/platforms/android/emulator.js +36 -26
  351. package/build/src/start/platforms/android/emulator.js.map +1 -1
  352. package/build/src/start/platforms/android/getDevices.js +7 -5
  353. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  354. package/build/src/start/platforms/android/gradle.js +36 -28
  355. package/build/src/start/platforms/android/gradle.js.map +1 -1
  356. package/build/src/start/platforms/android/promptAndroidDevice.js +19 -15
  357. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  358. package/build/src/start/platforms/ios/AppleAppIdResolver.js +21 -19
  359. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  360. package/build/src/start/platforms/ios/AppleDeviceManager.js +37 -31
  361. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  362. package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
  363. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  364. package/build/src/start/platforms/ios/assertSystemRequirements.js +9 -7
  365. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  366. package/build/src/start/platforms/ios/devicectl.js +88 -74
  367. package/build/src/start/platforms/ios/devicectl.js.map +1 -1
  368. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +22 -18
  369. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  370. package/build/src/start/platforms/ios/getBestSimulator.js +29 -19
  371. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  372. package/build/src/start/platforms/ios/promptAppleDevice.js +14 -10
  373. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  374. package/build/src/start/platforms/ios/simctl.js +102 -74
  375. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  376. package/build/src/start/platforms/ios/simctlLogging.js +57 -52
  377. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  378. package/build/src/start/platforms/ios/xcrun.js +22 -18
  379. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  380. package/build/src/start/project/devices.js +19 -9
  381. package/build/src/start/project/devices.js.map +1 -1
  382. package/build/src/start/project/dotExpo.js +15 -11
  383. package/build/src/start/project/dotExpo.js.map +1 -1
  384. package/build/src/start/project/settings.js +4 -2
  385. package/build/src/start/project/settings.js.map +1 -1
  386. package/build/src/start/resolveOptions.js +48 -40
  387. package/build/src/start/resolveOptions.js.map +1 -1
  388. package/build/src/start/server/AsyncNgrok.js +55 -51
  389. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  390. package/build/src/start/server/AsyncWsTunnel.js +37 -33
  391. package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
  392. package/build/src/start/server/BundlerDevServer.js +81 -79
  393. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  394. package/build/src/start/server/DevServerManager.js +42 -38
  395. package/build/src/start/server/DevServerManager.js.map +1 -1
  396. package/build/src/start/server/DevToolsPluginManager.js +18 -14
  397. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  398. package/build/src/start/server/DevelopmentSession.js +18 -14
  399. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  400. package/build/src/start/server/ReactDevToolsProxy.js +16 -10
  401. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  402. package/build/src/start/server/UrlCreator.js +36 -33
  403. package/build/src/start/server/UrlCreator.js.map +1 -1
  404. package/build/src/start/server/getStaticRenderFunctions.js +30 -22
  405. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  406. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +9 -5
  407. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
  408. package/build/src/start/server/metro/MetroBundlerDevServer.js +293 -280
  409. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  410. package/build/src/start/server/metro/MetroTerminalReporter.js +63 -56
  411. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  412. package/build/src/start/server/metro/TerminalReporter.js +39 -33
  413. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  414. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  415. package/build/src/start/server/metro/createExpoFallbackResolver.js +13 -11
  416. package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -1
  417. package/build/src/start/server/metro/createExpoMetroResolver.js +47 -41
  418. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  419. package/build/src/start/server/metro/createJResolver.js +31 -27
  420. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  421. package/build/src/start/server/metro/createServerComponentsMiddleware.js +110 -98
  422. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  423. package/build/src/start/server/metro/createServerRouteMiddleware.js +34 -30
  424. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  425. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +13 -11
  426. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
  427. package/build/src/start/server/metro/debugging/MessageHandler.js +3 -1
  428. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  429. package/build/src/start/server/metro/debugging/attachAtlas.js +26 -22
  430. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
  431. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +19 -17
  432. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  433. package/build/src/start/server/metro/debugging/createHandlersFactory.js +25 -31
  434. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  435. package/build/src/start/server/metro/debugging/getDebuggerType.js +6 -4
  436. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  437. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +14 -8
  438. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  439. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -5
  440. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  441. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +8 -6
  442. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  443. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -5
  444. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  445. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +14 -12
  446. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
  447. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +14 -10
  448. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  449. package/build/src/start/server/metro/debugging/pageIsSupported.js +6 -4
  450. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  451. package/build/src/start/server/metro/debugging/types.js.map +1 -1
  452. package/build/src/start/server/metro/dev-server/createEventSocket.js +18 -16
  453. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
  454. package/build/src/start/server/metro/dev-server/createMessageSocket.js +23 -21
  455. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
  456. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +23 -21
  457. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
  458. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +4 -2
  459. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
  460. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +4 -2
  461. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
  462. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +8 -4
  463. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
  464. package/build/src/start/server/metro/externals.js +33 -25
  465. package/build/src/start/server/metro/externals.js.map +1 -1
  466. package/build/src/start/server/metro/fetchRouterManifest.js +28 -12
  467. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  468. package/build/src/start/server/metro/formatFileCandidates.js +11 -9
  469. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  470. package/build/src/start/server/metro/getCssModulesFromBundler.js +24 -20
  471. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  472. package/build/src/start/server/metro/instantiateMetro.js +87 -81
  473. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  474. package/build/src/start/server/metro/log-box/LogBoxLog.js +40 -36
  475. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
  476. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +20 -14
  477. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
  478. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +10 -6
  479. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
  480. package/build/src/start/server/metro/metroErrorInterface.js +88 -78
  481. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  482. package/build/src/start/server/metro/metroErrors.js +8 -4
  483. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  484. package/build/src/start/server/metro/metroPrivateServer.js +9 -7
  485. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
  486. package/build/src/start/server/metro/metroVirtualModules.js +10 -8
  487. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  488. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +24 -22
  489. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  490. package/build/src/start/server/metro/router.js +48 -32
  491. package/build/src/start/server/metro/router.js.map +1 -1
  492. package/build/src/start/server/metro/runServer-fork.js +24 -22
  493. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  494. package/build/src/start/server/metro/serializeHtml.js +24 -22
  495. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  496. package/build/src/start/server/metro/symbolicate.js.map +1 -1
  497. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +35 -29
  498. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  499. package/build/src/start/server/metro/withMetroMultiPlatform.js +150 -140
  500. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  501. package/build/src/start/server/metro/withMetroResolvers.js +49 -39
  502. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  503. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +8 -6
  504. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  505. package/build/src/start/server/middleware/CorsMiddleware.js +17 -15
  506. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  507. package/build/src/start/server/middleware/CreateFileMiddleware.js +32 -31
  508. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  509. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +22 -19
  510. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  511. package/build/src/start/server/middleware/DomComponentsMiddleware.js +33 -27
  512. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  513. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +61 -57
  514. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  515. package/build/src/start/server/middleware/ExpoMiddleware.js +15 -9
  516. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  517. package/build/src/start/server/middleware/FaviconMiddleware.js +16 -15
  518. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  519. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +4 -2
  520. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  521. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +34 -31
  522. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  523. package/build/src/start/server/middleware/ManifestMiddleware.js +64 -56
  524. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  525. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +23 -19
  526. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  527. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +20 -19
  528. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  529. package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -9
  530. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  531. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +17 -11
  532. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
  533. package/build/src/start/server/middleware/inspector/CdpClient.js +12 -10
  534. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
  535. package/build/src/start/server/middleware/inspector/JsInspector.js +35 -27
  536. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  537. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +21 -19
  538. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  539. package/build/src/start/server/middleware/inspector/middlwareMutations.js +6 -2
  540. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  541. package/build/src/start/server/middleware/metroOptions.js +120 -96
  542. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  543. package/build/src/start/server/middleware/mutations.js +7 -3
  544. package/build/src/start/server/middleware/mutations.js.map +1 -1
  545. package/build/src/start/server/middleware/resolveAssets.js +26 -18
  546. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  547. package/build/src/start/server/middleware/resolvePlatform.js +23 -15
  548. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  549. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +11 -9
  550. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
  551. package/build/src/start/server/middleware/server.types.js.map +1 -1
  552. package/build/src/start/server/openPlatforms.js +10 -8
  553. package/build/src/start/server/openPlatforms.js.map +1 -1
  554. package/build/src/start/server/platformBundlers.js +13 -11
  555. package/build/src/start/server/platformBundlers.js.map +1 -1
  556. package/build/src/start/server/serverLogLikeMetro.js +58 -50
  557. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  558. package/build/src/start/server/type-generation/expo-env.js +11 -7
  559. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  560. package/build/src/start/server/type-generation/routes.js +72 -50
  561. package/build/src/start/server/type-generation/routes.js.map +1 -1
  562. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +21 -19
  563. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  564. package/build/src/start/server/type-generation/tsconfig.js +36 -28
  565. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  566. package/build/src/start/server/webTemplate.js +28 -24
  567. package/build/src/start/server/webTemplate.js.map +1 -1
  568. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +52 -46
  569. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  570. package/build/src/start/server/webpack/compile.js +15 -11
  571. package/build/src/start/server/webpack/compile.js.map +1 -1
  572. package/build/src/start/server/webpack/formatWebpackMessages.js +28 -26
  573. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  574. package/build/src/start/server/webpack/resolveFromProject.js +18 -12
  575. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  576. package/build/src/start/server/webpack/tls.js +18 -12
  577. package/build/src/start/server/webpack/tls.js.map +1 -1
  578. package/build/src/start/startAsync.js +31 -27
  579. package/build/src/start/startAsync.js.map +1 -1
  580. package/build/src/utils/FileNotifier.js +20 -17
  581. package/build/src/utils/FileNotifier.js.map +1 -1
  582. package/build/src/utils/ansi.js +7 -5
  583. package/build/src/utils/ansi.js.map +1 -1
  584. package/build/src/utils/args.js +24 -14
  585. package/build/src/utils/args.js.map +1 -1
  586. package/build/src/utils/array.js +18 -6
  587. package/build/src/utils/array.js.map +1 -1
  588. package/build/src/utils/cocoapods.js +54 -46
  589. package/build/src/utils/cocoapods.js.map +1 -1
  590. package/build/src/utils/codesigning.js +79 -69
  591. package/build/src/utils/codesigning.js.map +1 -1
  592. package/build/src/utils/createFileTransform.js +16 -12
  593. package/build/src/utils/createFileTransform.js.map +1 -1
  594. package/build/src/utils/createTempPath.js +12 -8
  595. package/build/src/utils/createTempPath.js.map +1 -1
  596. package/build/src/utils/delay.js +12 -6
  597. package/build/src/utils/delay.js.map +1 -1
  598. package/build/src/utils/dir.js +40 -22
  599. package/build/src/utils/dir.js.map +1 -1
  600. package/build/src/utils/downloadAppAsync.js +10 -8
  601. package/build/src/utils/downloadAppAsync.js.map +1 -1
  602. package/build/src/utils/downloadExpoGoAsync.js +27 -23
  603. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  604. package/build/src/utils/editor.js +41 -35
  605. package/build/src/utils/editor.js.map +1 -1
  606. package/build/src/utils/env.js +63 -59
  607. package/build/src/utils/env.js.map +1 -1
  608. package/build/src/utils/errors.js +37 -30
  609. package/build/src/utils/errors.js.map +1 -1
  610. package/build/src/utils/exit.js +35 -31
  611. package/build/src/utils/exit.js.map +1 -1
  612. package/build/src/utils/expoUpdatesCli.js +32 -22
  613. package/build/src/utils/expoUpdatesCli.js.map +1 -1
  614. package/build/src/utils/fetch.js +8 -4
  615. package/build/src/utils/fetch.js.map +1 -1
  616. package/build/src/utils/filePath.js +10 -6
  617. package/build/src/utils/filePath.js.map +1 -1
  618. package/build/src/utils/findUp.js +13 -9
  619. package/build/src/utils/findUp.js.map +1 -1
  620. package/build/src/utils/fn.js +6 -2
  621. package/build/src/utils/fn.js.map +1 -1
  622. package/build/src/utils/getOrPromptApplicationId.js +41 -35
  623. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  624. package/build/src/utils/getRunningProcess.js +29 -21
  625. package/build/src/utils/getRunningProcess.js.map +1 -1
  626. package/build/src/utils/git.js +26 -20
  627. package/build/src/utils/git.js.map +1 -1
  628. package/build/src/utils/glob.js +8 -4
  629. package/build/src/utils/glob.js.map +1 -1
  630. package/build/src/utils/interactive.js +3 -1
  631. package/build/src/utils/interactive.js.map +1 -1
  632. package/build/src/utils/ip.js +21 -19
  633. package/build/src/utils/ip.js.map +1 -1
  634. package/build/src/utils/isModuleSymlinked.js +11 -9
  635. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  636. package/build/src/utils/jsonSchemaDeref.js +20 -18
  637. package/build/src/utils/jsonSchemaDeref.js.map +1 -1
  638. package/build/src/utils/link.js +17 -13
  639. package/build/src/utils/link.js.map +1 -1
  640. package/build/src/utils/mergeGitIgnorePaths.js +46 -28
  641. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  642. package/build/src/utils/modifyConfigAsync.js +16 -10
  643. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  644. package/build/src/utils/modifyConfigPlugins.js +10 -6
  645. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  646. package/build/src/utils/multipartMixed.js +13 -11
  647. package/build/src/utils/multipartMixed.js.map +1 -1
  648. package/build/src/utils/nodeEnv.js +12 -6
  649. package/build/src/utils/nodeEnv.js.map +1 -1
  650. package/build/src/utils/nodeModules.js +10 -8
  651. package/build/src/utils/nodeModules.js.map +1 -1
  652. package/build/src/utils/npm.js +49 -35
  653. package/build/src/utils/npm.js.map +1 -1
  654. package/build/src/utils/obj.js +11 -5
  655. package/build/src/utils/obj.js.map +1 -1
  656. package/build/src/utils/open.js +10 -8
  657. package/build/src/utils/open.js.map +1 -1
  658. package/build/src/utils/ora.js +13 -7
  659. package/build/src/utils/ora.js.map +1 -1
  660. package/build/src/utils/plist.js +21 -15
  661. package/build/src/utils/plist.js.map +1 -1
  662. package/build/src/utils/port.js +43 -33
  663. package/build/src/utils/port.js.map +1 -1
  664. package/build/src/utils/profile.js +11 -7
  665. package/build/src/utils/profile.js.map +1 -1
  666. package/build/src/utils/progress.js +11 -5
  667. package/build/src/utils/progress.js.map +1 -1
  668. package/build/src/utils/prompts.js +47 -29
  669. package/build/src/utils/prompts.js.map +1 -1
  670. package/build/src/utils/resolveArgs.js +36 -24
  671. package/build/src/utils/resolveArgs.js.map +1 -1
  672. package/build/src/utils/scheme.js +40 -32
  673. package/build/src/utils/scheme.js.map +1 -1
  674. package/build/src/utils/stream.js +5 -3
  675. package/build/src/utils/stream.js.map +1 -1
  676. package/build/src/utils/strings.js +6 -4
  677. package/build/src/utils/strings.js.map +1 -1
  678. package/build/src/utils/tar.js +18 -14
  679. package/build/src/utils/tar.js.map +1 -1
  680. package/build/src/utils/telemetry/Telemetry.js +29 -27
  681. package/build/src/utils/telemetry/Telemetry.js.map +1 -1
  682. package/build/src/utils/telemetry/clients/FetchClient.js +15 -13
  683. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
  684. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +26 -22
  685. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
  686. package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
  687. package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
  688. package/build/src/utils/telemetry/events.js +4 -2
  689. package/build/src/utils/telemetry/events.js.map +1 -1
  690. package/build/src/utils/telemetry/index.js +25 -29
  691. package/build/src/utils/telemetry/index.js.map +1 -1
  692. package/build/src/utils/telemetry/types.js.map +1 -1
  693. package/build/src/utils/telemetry/utils/constants.js +8 -4
  694. package/build/src/utils/telemetry/utils/constants.js.map +1 -1
  695. package/build/src/utils/telemetry/utils/context.js +18 -14
  696. package/build/src/utils/telemetry/utils/context.js.map +1 -1
  697. package/build/src/utils/template.js +6 -4
  698. package/build/src/utils/template.js.map +1 -1
  699. package/build/src/utils/terminal.js +4 -2
  700. package/build/src/utils/terminal.js.map +1 -1
  701. package/build/src/utils/tsconfig/evaluateTsConfig.js +21 -17
  702. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  703. package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -14
  704. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  705. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +7 -5
  706. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  707. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +14 -12
  708. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  709. package/build/src/utils/url.js +23 -13
  710. package/build/src/utils/url.js.map +1 -1
  711. package/build/src/utils/validateApplicationId.js +108 -86
  712. package/build/src/utils/validateApplicationId.js.map +1 -1
  713. package/build/src/utils/variadic.js +22 -16
  714. package/build/src/utils/variadic.js.map +1 -1
  715. package/build/src/whoami/index.js +11 -7
  716. package/build/src/whoami/index.js.map +1 -1
  717. package/build/src/whoami/whoamiAsync.js +11 -7
  718. package/build/src/whoami/whoamiAsync.js.map +1 -1
  719. package/package.json +17 -16
@@ -9,44 +9,52 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- EMULATOR_MAX_WAIT_TIMEOUT: ()=>EMULATOR_MAX_WAIT_TIMEOUT,
13
- whichEmulator: ()=>whichEmulator,
14
- listAvdsAsync: ()=>listAvdsAsync,
15
- startDeviceAsync: ()=>startDeviceAsync
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
+ }
16
24
  });
17
- function _spawnAsync() {
18
- const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
19
- _spawnAsync = function() {
25
+ function _spawnasync() {
26
+ const data = /*#__PURE__*/ _interop_require_default(require("@expo/spawn-async"));
27
+ _spawnasync = function() {
20
28
  return data;
21
29
  };
22
30
  return data;
23
31
  }
24
32
  function _chalk() {
25
- const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
33
+ const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
26
34
  _chalk = function() {
27
35
  return data;
28
36
  };
29
37
  return data;
30
38
  }
31
- function _childProcess() {
39
+ function _child_process() {
32
40
  const data = require("child_process");
33
- _childProcess = function() {
41
+ _child_process = function() {
34
42
  return data;
35
43
  };
36
44
  return data;
37
45
  }
38
46
  function _os() {
39
- const data = /*#__PURE__*/ _interopRequireDefault(require("os"));
47
+ const data = /*#__PURE__*/ _interop_require_default(require("os"));
40
48
  _os = function() {
41
49
  return data;
42
50
  };
43
51
  return data;
44
52
  }
45
53
  const _adb = require("./adb");
46
- const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../../log"));
54
+ const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../../log"));
47
55
  const _errors = require("../../../utils/errors");
48
56
  const _exit = require("../../../utils/exit");
49
- function _interopRequireDefault(obj) {
57
+ function _interop_require_default(obj) {
50
58
  return obj && obj.__esModule ? obj : {
51
59
  default: obj
52
60
  };
@@ -59,7 +67,7 @@ function _getRequireWildcardCache(nodeInterop) {
59
67
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
60
68
  })(nodeInterop);
61
69
  }
62
- function _interopRequireWildcard(obj, nodeInterop) {
70
+ function _interop_require_wildcard(obj, nodeInterop) {
63
71
  if (!nodeInterop && obj && obj.__esModule) {
64
72
  return obj;
65
73
  }
@@ -72,7 +80,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
72
80
  if (cache && cache.has(obj)) {
73
81
  return cache.get(obj);
74
82
  }
75
- var newObj = {};
83
+ var newObj = {
84
+ __proto__: null
85
+ };
76
86
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
77
87
  for(var key in obj){
78
88
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -97,19 +107,19 @@ function whichEmulator() {
97
107
  if (process.env.ANDROID_HOME) {
98
108
  return `${process.env.ANDROID_HOME}/emulator/emulator`;
99
109
  }
100
- return "emulator";
110
+ return 'emulator';
101
111
  }
102
112
  async function listAvdsAsync() {
103
113
  try {
104
- const { stdout } = await (0, _spawnAsync().default)(whichEmulator(), [
105
- "-list-avds"
114
+ const { stdout } = await (0, _spawnasync().default)(whichEmulator(), [
115
+ '-list-avds'
106
116
  ]);
107
117
  return stdout.split(_os().default.EOL).filter(Boolean)/**
108
118
  * AVD IDs cannot contain spaces. This removes extra info lines from the output. e.g.
109
119
  * "INFO | Storing crashdata in: /tmp/android-brent/emu-crash-34.1.18.db
110
- */ .filter((name)=>!name.trim().includes(" ")).map((name)=>({
120
+ */ .filter((name)=>!name.trim().includes(' ')).map((name)=>({
111
121
  name,
112
- type: "emulator",
122
+ type: 'emulator',
113
123
  // unsure from this
114
124
  isBooted: false,
115
125
  isAuthorized: true
@@ -118,13 +128,13 @@ async function listAvdsAsync() {
118
128
  return [];
119
129
  }
120
130
  }
121
- async function startDeviceAsync(device, { timeout =EMULATOR_MAX_WAIT_TIMEOUT , interval =1000 } = {}) {
131
+ async function startDeviceAsync(device, { timeout = EMULATOR_MAX_WAIT_TIMEOUT, interval = 1000 } = {}) {
122
132
  _log.log(`\u203A Opening emulator ${_chalk().default.bold(device.name)}`);
123
133
  // Start a process to open an emulator
124
- const emulatorProcess = (0, _childProcess().spawn)(whichEmulator(), [
134
+ const emulatorProcess = (0, _child_process().spawn)(whichEmulator(), [
125
135
  `@${device.name}`
126
136
  ], {
127
- stdio: "ignore",
137
+ stdio: 'ignore',
128
138
  detached: true
129
139
  });
130
140
  emulatorProcess.unref();
@@ -132,7 +142,7 @@ async function startDeviceAsync(device, { timeout =EMULATOR_MAX_WAIT_TIMEOUT , i
132
142
  const waitTimer = setInterval(async ()=>{
133
143
  try {
134
144
  const bootedDevices = await (0, _adb.getAttachedDevicesAsync)();
135
- const connected = bootedDevices.find(({ name })=>name === device.name);
145
+ const connected = bootedDevices.find(({ name })=>name === device.name);
136
146
  if (connected) {
137
147
  const isBooted = await (0, _adb.isBootAnimationCompleteAsync)(connected.pid);
138
148
  if (isBooted) {
@@ -164,8 +174,8 @@ async function startDeviceAsync(device, { timeout =EMULATOR_MAX_WAIT_TIMEOUT , i
164
174
  emulatorProcess.kill(signal);
165
175
  reject(new _errors.AbortCommandError());
166
176
  });
167
- emulatorProcess.on("error", ({ message })=>stopWaitingAndReject(message));
168
- emulatorProcess.on("exit", ()=>{
177
+ emulatorProcess.on('error', ({ message })=>stopWaitingAndReject(message));
178
+ emulatorProcess.on('exit', ()=>{
169
179
  const manualCommand = `${whichEmulator()} @${device.name}`;
170
180
  stopWaitingAndReject(`The emulator (${device.name}) quit before it finished opening. You can try starting the emulator manually from the terminal with: ${manualCommand}`);
171
181
  });
@@ -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","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":"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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","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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"}
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "getDevicesAsync", {
6
6
  enumerable: true,
7
- get: ()=>getDevicesAsync
7
+ get: function() {
8
+ return getDevicesAsync;
9
+ }
8
10
  });
9
11
  const _adb = require("./adb");
10
12
  const _emulator = require("./emulator");
@@ -12,8 +14,8 @@ const _errors = require("../../../utils/errors");
12
14
  async function getDevicesAsync() {
13
15
  const bootedDevices = await (0, _adb.getAttachedDevicesAsync)();
14
16
  const data = await (0, _emulator.listAvdsAsync)();
15
- const connectedNames = bootedDevices.map(({ name })=>name);
16
- const offlineEmulators = data.filter(({ name })=>!connectedNames.includes(name)).map(({ name , type })=>{
17
+ const connectedNames = bootedDevices.map(({ name })=>name);
18
+ const offlineEmulators = data.filter(({ name })=>!connectedNames.includes(name)).map(({ name, type })=>{
17
19
  return {
18
20
  name,
19
21
  type,
@@ -28,8 +30,8 @@ async function getDevicesAsync() {
28
30
  `No Android connected device found, and no emulators could be started automatically.`,
29
31
  `Please connect a device or create an emulator (https://docs.expo.dev/workflow/android-studio-emulator).`,
30
32
  `Then follow the instructions here to enable USB debugging:`,
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"));
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'));
33
35
  }
34
36
  return allDevices;
35
37
  }
@@ -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":"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"}
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"}
@@ -9,20 +9,28 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- formatGradleArguments: ()=>formatGradleArguments,
13
- assembleAsync: ()=>assembleAsync,
14
- installAsync: ()=>installAsync,
15
- spawnGradleAsync: ()=>spawnGradleAsync
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
+ }
16
24
  });
17
- function _spawnAsync() {
18
- const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
19
- _spawnAsync = function() {
25
+ function _spawnasync() {
26
+ const data = /*#__PURE__*/ _interop_require_default(require("@expo/spawn-async"));
27
+ _spawnasync = function() {
20
28
  return data;
21
29
  };
22
30
  return data;
23
31
  }
24
32
  function _path() {
25
- const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
33
+ const data = /*#__PURE__*/ _interop_require_default(require("path"));
26
34
  _path = function() {
27
35
  return data;
28
36
  };
@@ -30,22 +38,22 @@ function _path() {
30
38
  }
31
39
  const _env = require("../../../utils/env");
32
40
  const _errors = require("../../../utils/errors");
33
- function _interopRequireDefault(obj) {
41
+ function _interop_require_default(obj) {
34
42
  return obj && obj.__esModule ? obj : {
35
43
  default: obj
36
44
  };
37
45
  }
38
- const debug = require("debug")("expo:start:platforms:android:gradle");
46
+ const debug = require('debug')('expo:start:platforms:android:gradle');
39
47
  function upperFirst(name) {
40
48
  return name.charAt(0).toUpperCase() + name.slice(1);
41
49
  }
42
- function formatGradleArguments(cmd, { appName , variant , tasks =[
50
+ function formatGradleArguments(cmd, { appName, variant, tasks = [
43
51
  cmd + upperFirst(variant)
44
- ] }) {
52
+ ] }) {
45
53
  return appName ? tasks.map((task)=>`${appName}:${task}`) : tasks;
46
54
  }
47
55
  function resolveGradleWPath(androidProjectPath) {
48
- return _path().default.join(androidProjectPath, process.platform === "win32" ? "gradlew.bat" : "gradlew");
56
+ return _path().default.join(androidProjectPath, process.platform === 'win32' ? 'gradlew.bat' : 'gradlew');
49
57
  }
50
58
  function getPortArg(port) {
51
59
  return `-PreactNativeDevServerPort=${port}`;
@@ -53,24 +61,24 @@ function getPortArg(port) {
53
61
  function getActiveArchArg(architectures) {
54
62
  return `-PreactNativeArchitectures=${architectures}`;
55
63
  }
56
- async function assembleAsync(androidProjectPath, { variant , port , appName , buildCache , architectures , eagerBundleOptions }) {
57
- const task = formatGradleArguments("assemble", {
64
+ async function assembleAsync(androidProjectPath, { variant, port, appName, buildCache, architectures, eagerBundleOptions }) {
65
+ const task = formatGradleArguments('assemble', {
58
66
  variant,
59
67
  appName
60
68
  });
61
69
  const args = [
62
70
  ...task,
63
71
  // ignore linting errors
64
- "-x",
65
- "lint",
72
+ '-x',
73
+ 'lint',
66
74
  // ignore tests
67
- "-x",
68
- "test",
69
- "--configure-on-demand",
75
+ '-x',
76
+ 'test',
77
+ '--configure-on-demand'
70
78
  ];
71
- if (buildCache) args.push("--build-cache");
79
+ if (buildCache) args.push('--build-cache');
72
80
  // Generate a profile under `/android/app/build/reports/profile`
73
- if (_env.env.EXPO_PROFILE) args.push("--profile");
81
+ if (_env.env.EXPO_PROFILE) args.push('--profile');
74
82
  return await spawnGradleAsync(androidProjectPath, {
75
83
  port,
76
84
  architectures,
@@ -80,8 +88,8 @@ async function assembleAsync(androidProjectPath, { variant , port , appName , bu
80
88
  } : {}
81
89
  });
82
90
  }
83
- async function installAsync(androidProjectPath, { variant , appName , port }) {
84
- const args = formatGradleArguments("install", {
91
+ async function installAsync(androidProjectPath, { variant, appName, port }) {
92
+ const args = formatGradleArguments('install', {
85
93
  variant,
86
94
  appName
87
95
  });
@@ -90,15 +98,15 @@ async function installAsync(androidProjectPath, { variant , appName , port }) {
90
98
  args
91
99
  });
92
100
  }
93
- async function spawnGradleAsync(projectRoot, { port , architectures , args , env }) {
101
+ async function spawnGradleAsync(projectRoot, { port, architectures, args, env }) {
94
102
  const gradlew = resolveGradleWPath(projectRoot);
95
103
  if (port != null) args.push(getPortArg(port));
96
104
  if (architectures) args.push(getActiveArchArg(architectures));
97
- debug(` ${gradlew} ${args.join(" ")}`);
105
+ debug(` ${gradlew} ${args.join(' ')}`);
98
106
  try {
99
- return await (0, _spawnAsync().default)(gradlew, args, {
107
+ return await (0, _spawnasync().default)(gradlew, args, {
100
108
  cwd: projectRoot,
101
- stdio: "inherit",
109
+ stdio: 'inherit',
102
110
  env: {
103
111
  ...process.env,
104
112
  ...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":["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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"}
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"}
@@ -9,11 +9,15 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- promptForDeviceAsync: ()=>promptForDeviceAsync,
13
- formatDeviceChoice: ()=>formatDeviceChoice
12
+ formatDeviceChoice: function() {
13
+ return formatDeviceChoice;
14
+ },
15
+ promptForDeviceAsync: function() {
16
+ return promptForDeviceAsync;
17
+ }
14
18
  });
15
19
  function _chalk() {
16
- const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
20
+ const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
17
21
  _chalk = function() {
18
22
  return data;
19
23
  };
@@ -22,22 +26,22 @@ function _chalk() {
22
26
  const _adb = require("./adb");
23
27
  const _errors = require("../../../utils/errors");
24
28
  const _prompts = require("../../../utils/prompts");
25
- function _interopRequireDefault(obj) {
29
+ function _interop_require_default(obj) {
26
30
  return obj && obj.__esModule ? obj : {
27
31
  default: obj
28
32
  };
29
33
  }
30
34
  async function promptForDeviceAsync(devices) {
31
35
  // TODO: provide an option to add or download more simulators
32
- const { value } = await (0, _prompts.promptAsync)({
33
- type: "autocomplete",
34
- name: "value",
36
+ const { value } = await (0, _prompts.promptAsync)({
37
+ type: 'autocomplete',
38
+ name: 'value',
35
39
  limit: 11,
36
- message: "Select a device/emulator",
40
+ message: 'Select a device/emulator',
37
41
  choices: devices.map((item)=>formatDeviceChoice(item)),
38
42
  suggest: (0, _prompts.createSelectionFilter)()
39
43
  });
40
- const device = devices.find(({ name })=>name === value);
44
+ const device = devices.find(({ name })=>name === value);
41
45
  if ((device == null ? void 0 : device.isAuthorized) === false) {
42
46
  (0, _adb.logUnauthorized)(device);
43
47
  throw new _errors.AbortCommandError();
@@ -47,20 +51,20 @@ async function promptForDeviceAsync(devices) {
47
51
  function formatDeviceChoice(device) {
48
52
  const symbol = getDeviceChoiceSymbol(device);
49
53
  const name = getDeviceChoiceName(device);
50
- const type = _chalk().default.dim(device.isAuthorized ? device.type : "unauthorized");
54
+ const type = _chalk().default.dim(device.isAuthorized ? device.type : 'unauthorized');
51
55
  return {
52
56
  value: device.name,
53
57
  title: `${symbol}${name} (${type})`
54
58
  };
55
59
  }
56
60
  /** Get the styled symbol of the device, based on ADB connection type (usb vs network) */ function getDeviceChoiceSymbol(device) {
57
- if (device.type === "device" && device.connectionType === "Network") {
58
- return "\uD83C\uDF10 ";
61
+ if (device.type === 'device' && device.connectionType === 'Network') {
62
+ return '🌐 ';
59
63
  }
60
- if (device.type === "device") {
61
- return "\uD83D\uDD0C ";
64
+ if (device.type === 'device') {
65
+ return '🔌 ';
62
66
  }
63
- return "";
67
+ return '';
64
68
  }
65
69
  /** Get the styled name of the device, based on device state */ function getDeviceChoiceName(device) {
66
70
  // 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":["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"}
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"}
@@ -4,68 +4,70 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "AppleAppIdResolver", {
6
6
  enumerable: true,
7
- get: ()=>AppleAppIdResolver
7
+ get: function() {
8
+ return AppleAppIdResolver;
9
+ }
8
10
  });
9
- function _configPlugins() {
11
+ function _configplugins() {
10
12
  const data = require("@expo/config-plugins");
11
- _configPlugins = function() {
13
+ _configplugins = function() {
12
14
  return data;
13
15
  };
14
16
  return data;
15
17
  }
16
18
  function _plist() {
17
- const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/plist"));
19
+ const data = /*#__PURE__*/ _interop_require_default(require("@expo/plist"));
18
20
  _plist = function() {
19
21
  return data;
20
22
  };
21
23
  return data;
22
24
  }
23
25
  function _fs() {
24
- const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
26
+ const data = /*#__PURE__*/ _interop_require_default(require("fs"));
25
27
  _fs = function() {
26
28
  return data;
27
29
  };
28
30
  return data;
29
31
  }
30
- const _appIdResolver = require("../AppIdResolver");
31
- function _interopRequireDefault(obj) {
32
+ const _AppIdResolver = require("../AppIdResolver");
33
+ function _interop_require_default(obj) {
32
34
  return obj && obj.__esModule ? obj : {
33
35
  default: obj
34
36
  };
35
37
  }
36
- const debug = require("debug")("expo:start:platforms:ios:AppleAppIdResolver");
37
- class AppleAppIdResolver extends _appIdResolver.AppIdResolver {
38
+ const debug = require('debug')('expo:start:platforms:ios:AppleAppIdResolver');
39
+ class AppleAppIdResolver extends _AppIdResolver.AppIdResolver {
38
40
  constructor(projectRoot){
39
- super(projectRoot, "ios", "ios.bundleIdentifier");
41
+ super(projectRoot, 'ios', 'ios.bundleIdentifier');
40
42
  }
41
43
  /** @return `true` if the app has valid `*.pbxproj` file */ async hasNativeProjectAsync() {
42
44
  try {
43
45
  // Never returns nullish values.
44
- return !!_configPlugins().IOSConfig.Paths.getAllPBXProjectPaths(this.projectRoot).length;
46
+ return !!_configplugins().IOSConfig.Paths.getAllPBXProjectPaths(this.projectRoot).length;
45
47
  } catch (error) {
46
- debug("Expected error checking for native project:", error.message);
48
+ debug('Expected error checking for native project:', error.message);
47
49
  return false;
48
50
  }
49
51
  }
50
52
  async resolveAppIdFromNativeAsync() {
51
53
  // Check xcode project
52
54
  try {
53
- const bundleId = _configPlugins().IOSConfig.BundleIdentifier.getBundleIdentifierFromPbxproj(this.projectRoot);
55
+ const bundleId = _configplugins().IOSConfig.BundleIdentifier.getBundleIdentifierFromPbxproj(this.projectRoot);
54
56
  if (bundleId) {
55
57
  return bundleId;
56
58
  }
57
59
  } catch (error) {
58
- debug("Expected error resolving the bundle identifier from the pbxproj:", error);
60
+ debug('Expected error resolving the bundle identifier from the pbxproj:', error);
59
61
  }
60
62
  // Check Info.plist
61
63
  try {
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("$(")) {
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('$(')) {
65
67
  return data.CFBundleIdentifier;
66
68
  }
67
- } catch (error1) {
68
- debug("Expected error resolving the bundle identifier from the project Info.plist:", error1);
69
+ } catch (error) {
70
+ debug('Expected error resolving the bundle identifier from the project Info.plist:', error);
69
71
  }
70
72
  return null;
71
73
  }