@expo/cli 0.18.0 → 0.18.2

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 (653) hide show
  1. package/build/bin/cli +90 -114
  2. package/build/bin/cli.map +1 -1
  3. package/build/src/api/endpoint.js +11 -3
  4. package/build/src/api/endpoint.js.map +1 -1
  5. package/build/src/api/getExpoGoIntermediateCertificate.js +7 -4
  6. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  7. package/build/src/api/getExpoSchema.js +13 -11
  8. package/build/src/api/getExpoSchema.js.map +1 -1
  9. package/build/src/api/getNativeModuleVersions.js +7 -4
  10. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  11. package/build/src/api/getProjectDevelopmentCertificate.js +7 -4
  12. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  13. package/build/src/api/getVersions.js +7 -4
  14. package/build/src/api/getVersions.js.map +1 -1
  15. package/build/src/api/graphql/client.js +55 -35
  16. package/build/src/api/graphql/client.js.map +1 -1
  17. package/build/src/api/graphql/queries/AppQuery.js +9 -7
  18. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  19. package/build/src/api/graphql/queries/UserQuery.js +7 -5
  20. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  21. package/build/src/api/graphql/types/App.js +6 -4
  22. package/build/src/api/graphql/types/App.js.map +1 -1
  23. package/build/src/api/rest/cache/FileSystemCache.js +6 -4
  24. package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
  25. package/build/src/api/rest/cache/response.js +4 -1
  26. package/build/src/api/rest/cache/response.js.map +1 -1
  27. package/build/src/api/rest/cache/wrapFetchWithCache.js +21 -12
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  29. package/build/src/api/rest/client.js +36 -29
  30. package/build/src/api/rest/client.js.map +1 -1
  31. package/build/src/api/rest/wrapFetchWithBaseUrl.js +4 -1
  32. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithOffline.js +5 -2
  34. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithProgress.js +40 -19
  36. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProxy.js +7 -4
  38. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  39. package/build/src/api/settings.js +9 -4
  40. package/build/src/api/settings.js.map +1 -1
  41. package/build/src/api/updateDevelopmentSession.js +16 -8
  42. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  43. package/build/src/api/user/UserSettings.js +10 -8
  44. package/build/src/api/user/UserSettings.js.map +1 -1
  45. package/build/src/api/user/actions.js +66 -41
  46. package/build/src/api/user/actions.js.map +1 -1
  47. package/build/src/api/user/expoSsoLauncher.js +46 -25
  48. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  49. package/build/src/api/user/otp.js +70 -50
  50. package/build/src/api/user/otp.js.map +1 -1
  51. package/build/src/api/user/user.js +66 -41
  52. package/build/src/api/user/user.js.map +1 -1
  53. package/build/src/config/configAsync.js +62 -43
  54. package/build/src/config/configAsync.js.map +1 -1
  55. package/build/src/config/index.js +46 -30
  56. package/build/src/config/index.js.map +1 -1
  57. package/build/src/customize/customizeAsync.js +14 -11
  58. package/build/src/customize/customizeAsync.js.map +1 -1
  59. package/build/src/customize/generate.js +61 -46
  60. package/build/src/customize/generate.js.map +1 -1
  61. package/build/src/customize/index.js +10 -8
  62. package/build/src/customize/index.js.map +1 -1
  63. package/build/src/customize/resolveOptions.js +7 -4
  64. package/build/src/customize/resolveOptions.js.map +1 -1
  65. package/build/src/customize/templates.js +31 -34
  66. package/build/src/customize/templates.js.map +1 -1
  67. package/build/src/customize/typescript.js +43 -28
  68. package/build/src/customize/typescript.js.map +1 -1
  69. package/build/src/export/createMetadataJson.js +7 -6
  70. package/build/src/export/createMetadataJson.js.map +1 -1
  71. package/build/src/export/embed/exportEmbedAsync.js +51 -38
  72. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  73. package/build/src/export/embed/index.js +48 -36
  74. package/build/src/export/embed/index.js.map +1 -1
  75. package/build/src/export/embed/resolveOptions.js +7 -4
  76. package/build/src/export/embed/resolveOptions.js.map +1 -1
  77. package/build/src/export/embed/xcodeCompilerLogger.js +20 -8
  78. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  79. package/build/src/export/exportApp.js +84 -67
  80. package/build/src/export/exportApp.js.map +1 -1
  81. package/build/src/export/exportAssets.js +62 -43
  82. package/build/src/export/exportAssets.js.map +1 -1
  83. package/build/src/export/exportAsync.js +47 -26
  84. package/build/src/export/exportAsync.js.map +1 -1
  85. package/build/src/export/exportHermes.js +19 -11
  86. package/build/src/export/exportHermes.js.map +1 -1
  87. package/build/src/export/exportStaticAsync.js +49 -38
  88. package/build/src/export/exportStaticAsync.js.map +1 -1
  89. package/build/src/export/favicon.js +19 -11
  90. package/build/src/export/favicon.js.map +1 -1
  91. package/build/src/export/fork-bundleAsync.js +42 -39
  92. package/build/src/export/fork-bundleAsync.js.map +1 -1
  93. package/build/src/export/getPublicExpoManifest.js +9 -6
  94. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  95. package/build/src/export/getResolvedLocales.js +7 -4
  96. package/build/src/export/getResolvedLocales.js.map +1 -1
  97. package/build/src/export/html.js +12 -4
  98. package/build/src/export/html.js.map +1 -1
  99. package/build/src/export/index.js +49 -33
  100. package/build/src/export/index.js.map +1 -1
  101. package/build/src/export/metroAssetLocalPath.js +22 -6
  102. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  103. package/build/src/export/persistMetroAssets.js +38 -24
  104. package/build/src/export/persistMetroAssets.js.map +1 -1
  105. package/build/src/export/publicFolder.js +15 -7
  106. package/build/src/export/publicFolder.js.map +1 -1
  107. package/build/src/export/resolveOptions.js +19 -15
  108. package/build/src/export/resolveOptions.js.map +1 -1
  109. package/build/src/export/saveAssets.js +42 -38
  110. package/build/src/export/saveAssets.js.map +1 -1
  111. package/build/src/export/web/exportWebAsync.js +15 -12
  112. package/build/src/export/web/exportWebAsync.js.map +1 -1
  113. package/build/src/export/web/index.js +47 -31
  114. package/build/src/export/web/index.js.map +1 -1
  115. package/build/src/export/web/resolveOptions.js +4 -1
  116. package/build/src/export/web/resolveOptions.js.map +1 -1
  117. package/build/src/export/writeContents.js +12 -7
  118. package/build/src/export/writeContents.js.map +1 -1
  119. package/build/src/graphql/generated.js +141 -128
  120. package/build/src/graphql/generated.js.map +1 -1
  121. package/build/src/install/applyPlugins.js +43 -25
  122. package/build/src/install/applyPlugins.js.map +1 -1
  123. package/build/src/install/checkPackages.js +55 -35
  124. package/build/src/install/checkPackages.js.map +1 -1
  125. package/build/src/install/fixPackages.js +52 -35
  126. package/build/src/install/fixPackages.js.map +1 -1
  127. package/build/src/install/index.js +15 -13
  128. package/build/src/install/index.js.map +1 -1
  129. package/build/src/install/installAsync.js +90 -65
  130. package/build/src/install/installAsync.js.map +1 -1
  131. package/build/src/install/installExpoPackage.js +48 -27
  132. package/build/src/install/installExpoPackage.js.map +1 -1
  133. package/build/src/install/resolveOptions.js +8 -5
  134. package/build/src/install/resolveOptions.js.map +1 -1
  135. package/build/src/install/utils/autoAddConfigPlugins.js +15 -7
  136. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  137. package/build/src/lint/ESlintPrerequisite.js +174 -0
  138. package/build/src/lint/ESlintPrerequisite.js.map +1 -0
  139. package/build/src/lint/index.js +66 -0
  140. package/build/src/lint/index.js.map +1 -0
  141. package/build/src/lint/lintAsync.js +33 -0
  142. package/build/src/lint/lintAsync.js.map +1 -0
  143. package/build/src/log.js +20 -14
  144. package/build/src/log.js.map +1 -1
  145. package/build/src/login/index.js +43 -25
  146. package/build/src/login/index.js.map +1 -1
  147. package/build/src/logout/index.js +43 -25
  148. package/build/src/logout/index.js.map +1 -1
  149. package/build/src/prebuild/clearNativeFolder.js +65 -42
  150. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  151. package/build/src/prebuild/configureProjectAsync.js +50 -29
  152. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  153. package/build/src/prebuild/copyTemplateFiles.js +19 -13
  154. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  155. package/build/src/prebuild/ensureConfigAsync.js +54 -28
  156. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  157. package/build/src/prebuild/index.js +52 -38
  158. package/build/src/prebuild/index.js.map +1 -1
  159. package/build/src/prebuild/prebuildAsync.js +68 -51
  160. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  161. package/build/src/prebuild/renameTemplateAppName.js +15 -10
  162. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  163. package/build/src/prebuild/resolveOptions.js +60 -35
  164. package/build/src/prebuild/resolveOptions.js.map +1 -1
  165. package/build/src/prebuild/resolveTemplate.js +66 -40
  166. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  167. package/build/src/prebuild/updateFromTemplate.js +67 -44
  168. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  169. package/build/src/prebuild/updatePackageJson.js +70 -49
  170. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  171. package/build/src/prebuild/validateTemplatePlatforms.js +44 -23
  172. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  173. package/build/src/register/index.js +43 -25
  174. package/build/src/register/index.js.map +1 -1
  175. package/build/src/register/registerAsync.js +14 -11
  176. package/build/src/register/registerAsync.js.map +1 -1
  177. package/build/src/run/android/index.js +47 -31
  178. package/build/src/run/android/index.js.map +1 -1
  179. package/build/src/run/android/resolveDevice.js +9 -6
  180. package/build/src/run/android/resolveDevice.js.map +1 -1
  181. package/build/src/run/android/resolveGradlePropsAsync.js +10 -9
  182. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  183. package/build/src/run/android/resolveInstallApkName.js +14 -12
  184. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  185. package/build/src/run/android/resolveLaunchProps.js +6 -3
  186. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  187. package/build/src/run/android/resolveOptions.js +12 -9
  188. package/build/src/run/android/resolveOptions.js.map +1 -1
  189. package/build/src/run/android/runAndroidAsync.js +27 -24
  190. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  191. package/build/src/run/ensureNativeProject.js +11 -8
  192. package/build/src/run/ensureNativeProject.js.map +1 -1
  193. package/build/src/run/hints.js +15 -7
  194. package/build/src/run/hints.js.map +1 -1
  195. package/build/src/run/index.js +49 -35
  196. package/build/src/run/index.js.map +1 -1
  197. package/build/src/run/ios/XcodeBuild.js +75 -51
  198. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  199. package/build/src/run/ios/appleDevice/AppleDevice.js +31 -24
  200. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  201. package/build/src/run/ios/appleDevice/ClientManager.js +66 -33
  202. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  203. package/build/src/run/ios/appleDevice/client/AFCClient.js +73 -47
  204. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  205. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +53 -26
  206. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  207. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +15 -6
  208. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  209. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +54 -27
  210. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  211. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +56 -30
  212. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  213. package/build/src/run/ios/appleDevice/client/ServiceClient.js +18 -4
  214. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  215. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +22 -13
  216. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  217. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +57 -31
  218. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  219. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +79 -66
  220. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  221. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +28 -14
  222. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  223. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +24 -11
  224. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  225. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +26 -13
  226. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  227. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +23 -10
  228. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  229. package/build/src/run/ios/codeSigning/Security.js +27 -20
  230. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  231. package/build/src/run/ios/codeSigning/configureCodeSigning.js +49 -28
  232. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  233. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +61 -36
  234. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  235. package/build/src/run/ios/codeSigning/settings.js +11 -3
  236. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  237. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +7 -5
  238. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  239. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +14 -8
  240. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  241. package/build/src/run/ios/index.js +50 -34
  242. package/build/src/run/ios/index.js.map +1 -1
  243. package/build/src/run/ios/launchApp.js +52 -31
  244. package/build/src/run/ios/launchApp.js.map +1 -1
  245. package/build/src/run/ios/options/promptDevice.js +17 -13
  246. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  247. package/build/src/run/ios/options/resolveDevice.js +63 -39
  248. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  249. package/build/src/run/ios/options/resolveNativeScheme.js +57 -34
  250. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  251. package/build/src/run/ios/options/resolveOptions.js +15 -12
  252. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  253. package/build/src/run/ios/options/resolveXcodeProject.js +6 -3
  254. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  255. package/build/src/run/ios/runIosAsync.js +63 -42
  256. package/build/src/run/ios/runIosAsync.js.map +1 -1
  257. package/build/src/run/resolveBundlerProps.js +8 -5
  258. package/build/src/run/resolveBundlerProps.js.map +1 -1
  259. package/build/src/run/startBundler.js +47 -26
  260. package/build/src/run/startBundler.js.map +1 -1
  261. package/build/src/start/detectDevClient.js +6 -3
  262. package/build/src/start/detectDevClient.js.map +1 -1
  263. package/build/src/start/doctor/Prerequisite.js +15 -7
  264. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  265. package/build/src/start/doctor/SecurityBinPrerequisite.js +7 -4
  266. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  267. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +44 -23
  268. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  269. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +44 -23
  270. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  271. package/build/src/start/doctor/apple/XcodePrerequisite.js +61 -36
  272. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  273. package/build/src/start/doctor/apple/XcrunPrerequisite.js +15 -12
  274. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  275. package/build/src/start/doctor/dependencies/bundledNativeModules.js +49 -28
  276. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  277. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +98 -53
  278. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  279. package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -9
  280. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  281. package/build/src/start/doctor/dependencies/getVersionedPackages.js +23 -15
  282. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  283. package/build/src/start/doctor/dependencies/resolvePackages.js +19 -13
  284. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  285. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +63 -41
  286. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  287. package/build/src/start/doctor/ngrok/ExternalModule.js +64 -39
  288. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  289. package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -5
  290. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  291. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +59 -41
  292. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  293. package/build/src/start/doctor/typescript/updateTSConfig.js +59 -36
  294. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  295. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +57 -31
  296. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  297. package/build/src/start/index.js +56 -42
  298. package/build/src/start/index.js.map +1 -1
  299. package/build/src/start/interface/KeyPressHandler.js +43 -22
  300. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  301. package/build/src/start/interface/commandsTable.js +60 -38
  302. package/build/src/start/interface/commandsTable.js.map +1 -1
  303. package/build/src/start/interface/interactiveActions.js +85 -68
  304. package/build/src/start/interface/interactiveActions.js.map +1 -1
  305. package/build/src/start/interface/startInterface.js +78 -57
  306. package/build/src/start/interface/startInterface.js.map +1 -1
  307. package/build/src/start/platforms/AppIdResolver.js +9 -6
  308. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  309. package/build/src/start/platforms/DeviceManager.js +41 -20
  310. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  311. package/build/src/start/platforms/ExpoGoInstaller.js +55 -35
  312. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  313. package/build/src/start/platforms/PlatformManager.js +19 -17
  314. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  315. package/build/src/start/platforms/android/ADBServer.js +15 -12
  316. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  317. package/build/src/start/platforms/android/AndroidAppIdResolver.js +6 -4
  318. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  319. package/build/src/start/platforms/android/AndroidDeviceManager.js +70 -50
  320. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  321. package/build/src/start/platforms/android/AndroidPlatformManager.js +9 -6
  322. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  323. package/build/src/start/platforms/android/AndroidSdk.js +11 -8
  324. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  325. package/build/src/start/platforms/android/activateWindow.js +43 -22
  326. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  327. package/build/src/start/platforms/android/adb.js +73 -52
  328. package/build/src/start/platforms/android/adb.js.map +1 -1
  329. package/build/src/start/platforms/android/adbReverse.js +57 -31
  330. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  331. package/build/src/start/platforms/android/emulator.js +63 -42
  332. package/build/src/start/platforms/android/emulator.js.map +1 -1
  333. package/build/src/start/platforms/android/getDevices.js +11 -10
  334. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  335. package/build/src/start/platforms/android/gradle.js +18 -11
  336. package/build/src/start/platforms/android/gradle.js.map +1 -1
  337. package/build/src/start/platforms/android/promptAndroidDevice.js +14 -14
  338. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  339. package/build/src/start/platforms/ios/AppleAppIdResolver.js +7 -4
  340. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  341. package/build/src/start/platforms/ios/AppleDeviceManager.js +80 -54
  342. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  343. package/build/src/start/platforms/ios/ApplePlatformManager.js +7 -4
  344. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  345. package/build/src/start/platforms/ios/assertSystemRequirements.js +11 -8
  346. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  347. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +50 -29
  348. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  349. package/build/src/start/platforms/ios/getBestSimulator.js +53 -29
  350. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  351. package/build/src/start/platforms/ios/promptAppleDevice.js +18 -12
  352. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  353. package/build/src/start/platforms/ios/simctl.js +65 -42
  354. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  355. package/build/src/start/platforms/ios/simctlLogging.js +67 -44
  356. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  357. package/build/src/start/platforms/ios/xcrun.js +8 -5
  358. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  359. package/build/src/start/project/devices.js +19 -16
  360. package/build/src/start/project/devices.js.map +1 -1
  361. package/build/src/start/project/dotExpo.js +13 -5
  362. package/build/src/start/project/dotExpo.js.map +1 -1
  363. package/build/src/start/project/settings.js +6 -4
  364. package/build/src/start/project/settings.js.map +1 -1
  365. package/build/src/start/resolveOptions.js +26 -19
  366. package/build/src/start/resolveOptions.js.map +1 -1
  367. package/build/src/start/server/AsyncNgrok.js +66 -46
  368. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  369. package/build/src/start/server/BundlerDevServer.js +64 -44
  370. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  371. package/build/src/start/server/DevServerManager.js +81 -69
  372. package/build/src/start/server/DevServerManager.js.map +1 -1
  373. package/build/src/start/server/DevToolsPluginManager.js +21 -16
  374. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  375. package/build/src/start/server/DevelopmentSession.js +49 -31
  376. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  377. package/build/src/start/server/ReactDevToolsProxy.js +14 -6
  378. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  379. package/build/src/start/server/UrlCreator.js +44 -23
  380. package/build/src/start/server/UrlCreator.js.map +1 -1
  381. package/build/src/start/server/getStaticRenderFunctions.js +46 -34
  382. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  383. package/build/src/start/server/metro/MetroBundlerDevServer.js +135 -108
  384. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  385. package/build/src/start/server/metro/MetroTerminalReporter.js +24 -17
  386. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  387. package/build/src/start/server/metro/TerminalReporter.js +18 -8
  388. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  389. package/build/src/start/server/metro/createExpoMetroResolver.js +31 -20
  390. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  391. package/build/src/start/server/metro/createJResolver.js +76 -51
  392. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  393. package/build/src/start/server/metro/createServerRouteMiddleware.js +22 -14
  394. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  395. package/build/src/start/server/metro/debugging/MessageHandler.js +4 -1
  396. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  397. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +10 -9
  398. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  399. package/build/src/start/server/metro/debugging/createHandlersFactory.js +14 -13
  400. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  401. package/build/src/start/server/metro/debugging/getDebuggerType.js +5 -2
  402. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  403. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +5 -2
  404. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  405. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +5 -2
  406. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -1
  407. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -4
  408. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  409. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +7 -4
  410. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  411. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -4
  412. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  413. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +7 -4
  414. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  415. package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -1
  416. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  417. package/build/src/start/server/metro/externals.js +21 -10
  418. package/build/src/start/server/metro/externals.js.map +1 -1
  419. package/build/src/start/server/metro/fetchRouterManifest.js +20 -7
  420. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  421. package/build/src/start/server/metro/formatFileCandidates.js +21 -17
  422. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  423. package/build/src/start/server/metro/getCssModulesFromBundler.js +15 -7
  424. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  425. package/build/src/start/server/metro/instantiateMetro.js +57 -44
  426. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  427. package/build/src/start/server/metro/metroErrorInterface.js +43 -34
  428. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  429. package/build/src/start/server/metro/metroErrors.js +11 -2
  430. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  431. package/build/src/start/server/metro/metroVirtualModules.js +10 -2
  432. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  433. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +5 -2
  434. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  435. package/build/src/start/server/metro/router.js +27 -20
  436. package/build/src/start/server/metro/router.js.map +1 -1
  437. package/build/src/start/server/metro/runServer-fork.js +21 -14
  438. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  439. package/build/src/start/server/metro/serializeHtml.js +7 -7
  440. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  441. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +12 -4
  442. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  443. package/build/src/start/server/metro/withMetroMultiPlatform.js +107 -81
  444. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  445. package/build/src/start/server/metro/withMetroResolvers.js +72 -42
  446. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  447. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +4 -1
  448. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  449. package/build/src/start/server/middleware/CorsMiddleware.js +4 -1
  450. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  451. package/build/src/start/server/middleware/CreateFileMiddleware.js +13 -5
  452. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  453. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +15 -12
  454. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  455. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +30 -23
  456. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  457. package/build/src/start/server/middleware/ExpoMiddleware.js +47 -21
  458. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  459. package/build/src/start/server/middleware/FaviconMiddleware.js +8 -5
  460. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  461. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +6 -3
  462. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  463. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +23 -16
  464. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  465. package/build/src/start/server/middleware/ManifestMiddleware.js +84 -60
  466. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  467. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +14 -7
  468. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  469. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +47 -26
  470. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  471. package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -8
  472. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  473. package/build/src/start/server/middleware/inspector/JsInspector.js +30 -24
  474. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  475. package/build/src/start/server/middleware/inspector/LaunchBrowser.js +16 -8
  476. package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
  477. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +4 -2
  478. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -1
  479. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +16 -12
  480. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
  481. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +59 -37
  482. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
  483. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +22 -16
  484. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
  485. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +9 -6
  486. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  487. package/build/src/start/server/middleware/inspector/middlwareMutations.js +11 -4
  488. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  489. package/build/src/start/server/middleware/metroOptions.js +26 -18
  490. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  491. package/build/src/start/server/middleware/mutations.js +11 -4
  492. package/build/src/start/server/middleware/mutations.js.map +1 -1
  493. package/build/src/start/server/middleware/resolveAssets.js +65 -41
  494. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  495. package/build/src/start/server/middleware/resolvePlatform.js +14 -6
  496. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  497. package/build/src/start/server/middleware/suppressErrorMiddleware.js +4 -1
  498. package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -1
  499. package/build/src/start/server/openPlatforms.js +7 -6
  500. package/build/src/start/server/openPlatforms.js.map +1 -1
  501. package/build/src/start/server/platformBundlers.js +5 -2
  502. package/build/src/start/server/platformBundlers.js.map +1 -1
  503. package/build/src/start/server/serverLogLikeMetro.js +62 -33
  504. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  505. package/build/src/start/server/type-generation/expo-env.js +12 -4
  506. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  507. package/build/src/start/server/type-generation/routes.js +52 -51
  508. package/build/src/start/server/type-generation/routes.js.map +1 -1
  509. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +22 -19
  510. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  511. package/build/src/start/server/type-generation/tsconfig.js +18 -11
  512. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  513. package/build/src/start/server/webTemplate.js +21 -15
  514. package/build/src/start/server/webTemplate.js.map +1 -1
  515. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +81 -56
  516. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  517. package/build/src/start/server/webpack/compile.js +47 -26
  518. package/build/src/start/server/webpack/compile.js.map +1 -1
  519. package/build/src/start/server/webpack/formatWebpackMessages.js +35 -25
  520. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  521. package/build/src/start/server/webpack/resolveFromProject.js +13 -5
  522. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  523. package/build/src/start/server/webpack/tls.js +54 -28
  524. package/build/src/start/server/webpack/tls.js.map +1 -1
  525. package/build/src/start/startAsync.js +73 -52
  526. package/build/src/start/startAsync.js.map +1 -1
  527. package/build/src/utils/FileNotifier.js +46 -25
  528. package/build/src/utils/FileNotifier.js.map +1 -1
  529. package/build/src/utils/analytics/getDevClientProperties.js +29 -21
  530. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
  531. package/build/src/utils/analytics/getMetroDebugProperties.js +4 -1
  532. package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -1
  533. package/build/src/utils/analytics/getMetroProperties.js +4 -1
  534. package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
  535. package/build/src/utils/analytics/metroDebuggerMiddleware.js +14 -6
  536. package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
  537. package/build/src/utils/ansi.js +5 -2
  538. package/build/src/utils/ansi.js.map +1 -1
  539. package/build/src/utils/args.js +57 -29
  540. package/build/src/utils/args.js.map +1 -1
  541. package/build/src/utils/array.js +16 -9
  542. package/build/src/utils/array.js.map +1 -1
  543. package/build/src/utils/cocoapods.js +77 -53
  544. package/build/src/utils/cocoapods.js.map +1 -1
  545. package/build/src/utils/codesigning.js +80 -58
  546. package/build/src/utils/codesigning.js.map +1 -1
  547. package/build/src/utils/createFileTransform.js +13 -5
  548. package/build/src/utils/createFileTransform.js.map +1 -1
  549. package/build/src/utils/delay.js +13 -6
  550. package/build/src/utils/delay.js.map +1 -1
  551. package/build/src/utils/dir.js +24 -21
  552. package/build/src/utils/dir.js.map +1 -1
  553. package/build/src/utils/downloadAppAsync.js +16 -13
  554. package/build/src/utils/downloadAppAsync.js.map +1 -1
  555. package/build/src/utils/downloadExpoGoAsync.js +26 -20
  556. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  557. package/build/src/utils/editor.js +50 -24
  558. package/build/src/utils/editor.js.map +1 -1
  559. package/build/src/utils/env.js +35 -33
  560. package/build/src/utils/env.js.map +1 -1
  561. package/build/src/utils/errors.js +17 -9
  562. package/build/src/utils/errors.js.map +1 -1
  563. package/build/src/utils/exit.js +10 -7
  564. package/build/src/utils/exit.js.map +1 -1
  565. package/build/src/utils/findUp.js +22 -4
  566. package/build/src/utils/findUp.js.map +1 -1
  567. package/build/src/utils/fn.js +11 -3
  568. package/build/src/utils/fn.js.map +1 -1
  569. package/build/src/utils/getOrPromptApplicationId.js +71 -45
  570. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  571. package/build/src/utils/getRunningProcess.js +52 -26
  572. package/build/src/utils/getRunningProcess.js.map +1 -1
  573. package/build/src/utils/git.js +64 -38
  574. package/build/src/utils/git.js.map +1 -1
  575. package/build/src/utils/glob.js +14 -9
  576. package/build/src/utils/glob.js.map +1 -1
  577. package/build/src/utils/interactive.js +5 -2
  578. package/build/src/utils/interactive.js.map +1 -1
  579. package/build/src/utils/ip.js +5 -2
  580. package/build/src/utils/ip.js.map +1 -1
  581. package/build/src/utils/isModuleSymlinked.js +7 -4
  582. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  583. package/build/src/utils/link.js +13 -5
  584. package/build/src/utils/link.js.map +1 -1
  585. package/build/src/utils/mergeGitIgnorePaths.js +22 -17
  586. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  587. package/build/src/utils/modifyConfigAsync.js +56 -30
  588. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  589. package/build/src/utils/modifyConfigPlugins.js +43 -22
  590. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  591. package/build/src/utils/nodeEnv.js +6 -1
  592. package/build/src/utils/nodeEnv.js.map +1 -1
  593. package/build/src/utils/nodeModules.js +9 -6
  594. package/build/src/utils/nodeModules.js.map +1 -1
  595. package/build/src/utils/npm.js +32 -24
  596. package/build/src/utils/npm.js.map +1 -1
  597. package/build/src/utils/obj.js +12 -4
  598. package/build/src/utils/obj.js.map +1 -1
  599. package/build/src/utils/open.js +7 -4
  600. package/build/src/utils/open.js.map +1 -1
  601. package/build/src/utils/ora.js +25 -21
  602. package/build/src/utils/ora.js.map +1 -1
  603. package/build/src/utils/plist.js +53 -27
  604. package/build/src/utils/plist.js.map +1 -1
  605. package/build/src/utils/port.js +58 -32
  606. package/build/src/utils/port.js.map +1 -1
  607. package/build/src/utils/profile.js +49 -28
  608. package/build/src/utils/profile.js.map +1 -1
  609. package/build/src/utils/progress.js +16 -12
  610. package/build/src/utils/progress.js.map +1 -1
  611. package/build/src/utils/prompts.js +33 -28
  612. package/build/src/utils/prompts.js.map +1 -1
  613. package/build/src/utils/resolveArgs.js +23 -20
  614. package/build/src/utils/resolveArgs.js.map +1 -1
  615. package/build/src/utils/scheme.js +61 -37
  616. package/build/src/utils/scheme.js.map +1 -1
  617. package/build/src/utils/strings.js +11 -4
  618. package/build/src/utils/strings.js.map +1 -1
  619. package/build/src/utils/tar.js +43 -22
  620. package/build/src/utils/tar.js.map +1 -1
  621. package/build/src/utils/telemetry/DetachedClient.js +8 -5
  622. package/build/src/utils/telemetry/DetachedClient.js.map +1 -1
  623. package/build/src/utils/telemetry/RudderClient.js +12 -9
  624. package/build/src/utils/telemetry/RudderClient.js.map +1 -1
  625. package/build/src/utils/telemetry/flushDetached.js +8 -7
  626. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  627. package/build/src/utils/telemetry/getContext.js +48 -28
  628. package/build/src/utils/telemetry/getContext.js.map +1 -1
  629. package/build/src/utils/telemetry/index.js +16 -11
  630. package/build/src/utils/telemetry/index.js.map +1 -1
  631. package/build/src/utils/template.js +27 -2
  632. package/build/src/utils/template.js.map +1 -1
  633. package/build/src/utils/terminal.js +5 -2
  634. package/build/src/utils/terminal.js.map +1 -1
  635. package/build/src/utils/tsconfig/evaluateTsConfig.js +18 -12
  636. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  637. package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -10
  638. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  639. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +8 -4
  640. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  641. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -9
  642. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  643. package/build/src/utils/url.js +17 -10
  644. package/build/src/utils/url.js.map +1 -1
  645. package/build/src/utils/validateApplicationId.js +32 -25
  646. package/build/src/utils/validateApplicationId.js.map +1 -1
  647. package/build/src/utils/variadic.js +15 -11
  648. package/build/src/utils/variadic.js.map +1 -1
  649. package/build/src/whoami/index.js +43 -25
  650. package/build/src/whoami/index.js.map +1 -1
  651. package/build/src/whoami/whoamiAsync.js +44 -23
  652. package/build/src/whoami/whoamiAsync.js.map +1 -1
  653. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/start/interface/startInterface.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport { KeyPressHandler } from './KeyPressHandler';\nimport { BLT, printHelp, printUsage, StartOptions } from './commandsTable';\nimport { DevServerManagerActions } from './interactiveActions';\nimport * as Log from '../../log';\nimport { openInEditorAsync } from '../../utils/editor';\nimport { AbortCommandError } from '../../utils/errors';\nimport { getAllSpinners, ora } from '../../utils/ora';\nimport { getProgressBar, setProgressBar } from '../../utils/progress';\nimport { addInteractionListener, pauseInteractions } from '../../utils/prompts';\nimport { WebSupportProjectPrerequisite } from '../doctor/web/WebSupportProjectPrerequisite';\nimport { DevServerManager } from '../server/DevServerManager';\n\nconst debug = require('debug')('expo:start:interface:startInterface') as typeof console.log;\n\nconst CTRL_C = '\\u0003';\nconst CTRL_D = '\\u0004';\nconst CTRL_L = '\\u000C';\n\nconst PLATFORM_SETTINGS: Record<\n string,\n { name: string; key: 'android' | 'ios'; launchTarget: 'emulator' | 'simulator' }\n> = {\n android: {\n name: 'Android',\n key: 'android',\n launchTarget: 'emulator',\n },\n ios: {\n name: 'iOS',\n key: 'ios',\n launchTarget: 'simulator',\n },\n};\n\nexport async function startInterfaceAsync(\n devServerManager: DevServerManager,\n options: Pick<StartOptions, 'devClient' | 'platforms'>\n) {\n const actions = new DevServerManagerActions(devServerManager, options);\n\n const isWebSocketsEnabled = devServerManager.getDefaultDevServer()?.isTargetingNative();\n\n const usageOptions = {\n isWebSocketsEnabled,\n devClient: devServerManager.options.devClient,\n ...options,\n };\n\n actions.printDevServerInfo(usageOptions);\n\n const onPressAsync = async (key: string) => {\n // Auxillary commands all escape.\n switch (key) {\n case CTRL_C:\n case CTRL_D: {\n // Prevent terminal UI from accepting commands while the process is closing.\n // Without this, fast typers will close the server then start typing their\n // next command and have a bunch of unrelated things pop up.\n pauseInteractions();\n\n const spinners = getAllSpinners();\n spinners.forEach((spinner) => {\n spinner.fail();\n });\n\n const currentProgress = getProgressBar();\n if (currentProgress) {\n currentProgress.terminate();\n setProgressBar(null);\n }\n const spinner = ora({ text: 'Stopping server', color: 'white' }).start();\n try {\n await devServerManager.stopAsync();\n spinner.stopAndPersist({ text: 'Stopped server', symbol: `\\u203A` });\n // @ts-ignore: Argument of type '\"SIGINT\"' is not assignable to parameter of type '\"disconnect\"'.\n process.emit('SIGINT');\n\n // TODO: Is this the right place to do this?\n process.exit();\n } catch (error) {\n spinner.fail('Failed to stop server');\n throw error;\n }\n break;\n }\n case CTRL_L:\n return Log.clear();\n case '?':\n return printUsage(usageOptions, { verbose: true });\n }\n\n // Optionally enabled\n\n if (isWebSocketsEnabled) {\n switch (key) {\n case 'm':\n return actions.toggleDevMenu();\n case 'M':\n return actions.openMoreToolsAsync();\n }\n }\n\n const { platforms = ['ios', 'android', 'web'] } = options;\n\n if (['i', 'a'].includes(key.toLowerCase())) {\n const platform = key.toLowerCase() === 'i' ? 'ios' : 'android';\n\n const shouldPrompt = ['I', 'A'].includes(key);\n if (shouldPrompt) {\n Log.clear();\n }\n\n const server = devServerManager.getDefaultDevServer();\n const settings = PLATFORM_SETTINGS[platform];\n\n Log.log(`${BLT} Opening on ${settings.name}...`);\n\n if (server.isTargetingNative() && !platforms.includes(settings.key)) {\n Log.warn(\n chalk`${settings.name} is disabled, enable it by adding {bold ${settings.key}} to the platforms array in your app.json or app.config.js`\n );\n } else {\n try {\n await server.openPlatformAsync(settings.launchTarget, { shouldPrompt });\n printHelp();\n } catch (error: any) {\n if (!(error instanceof AbortCommandError)) {\n Log.exception(error);\n }\n }\n }\n // Break out early.\n return;\n }\n\n switch (key) {\n case 's': {\n Log.clear();\n if (await devServerManager.toggleRuntimeMode()) {\n usageOptions.devClient = devServerManager.options.devClient;\n return actions.printDevServerInfo(usageOptions);\n }\n break;\n }\n case 'w': {\n try {\n await devServerManager.ensureProjectPrerequisiteAsync(WebSupportProjectPrerequisite);\n if (!platforms.includes('web')) {\n platforms.push('web');\n options.platforms?.push('web');\n }\n } catch (e: any) {\n Log.warn(e.message);\n break;\n }\n\n const isDisabled = !platforms.includes('web');\n if (isDisabled) {\n debug('Web is disabled');\n // Use warnings from the web support setup.\n break;\n }\n\n // Ensure the Webpack dev server is running first\n if (!devServerManager.getWebDevServer()) {\n debug('Starting up webpack dev server');\n await devServerManager.ensureWebDevServerRunningAsync();\n // When this is the first time webpack is started, reprint the connection info.\n actions.printDevServerInfo(usageOptions);\n }\n\n Log.log(`${BLT} Open in the web browser...`);\n try {\n await devServerManager.getWebDevServer()?.openPlatformAsync('desktop');\n printHelp();\n } catch (error: any) {\n if (!(error instanceof AbortCommandError)) {\n Log.exception(error);\n }\n }\n break;\n }\n case 'c':\n Log.clear();\n return actions.printDevServerInfo(usageOptions);\n case 'j':\n return actions.openJsInspectorAsync();\n case 'r':\n return actions.reloadApp();\n case 'o':\n Log.log(`${BLT} Opening the editor...`);\n return openInEditorAsync(devServerManager.projectRoot);\n }\n };\n\n const keyPressHandler = new KeyPressHandler(onPressAsync);\n\n const listener = keyPressHandler.createInteractionListener();\n\n addInteractionListener(listener);\n\n // Start observing...\n keyPressHandler.startInterceptingKeyStrokes();\n}\n"],"names":["startInterfaceAsync","Log","debug","require","CTRL_C","CTRL_D","CTRL_L","PLATFORM_SETTINGS","android","name","key","launchTarget","ios","devServerManager","options","actions","DevServerManagerActions","isWebSocketsEnabled","getDefaultDevServer","isTargetingNative","usageOptions","devClient","printDevServerInfo","onPressAsync","pauseInteractions","spinners","getAllSpinners","forEach","spinner","fail","currentProgress","getProgressBar","terminate","setProgressBar","ora","text","color","start","stopAsync","stopAndPersist","symbol","process","emit","exit","error","clear","printUsage","verbose","toggleDevMenu","openMoreToolsAsync","platforms","includes","toLowerCase","platform","shouldPrompt","server","settings","log","BLT","warn","chalk","openPlatformAsync","printHelp","AbortCommandError","exception","toggleRuntimeMode","ensureProjectPrerequisiteAsync","WebSupportProjectPrerequisite","push","e","message","isDisabled","getWebDevServer","ensureWebDevServerRunningAsync","openJsInspectorAsync","reloadApp","openInEditorAsync","projectRoot","keyPressHandler","KeyPressHandler","listener","createInteractionListener","addInteractionListener","startInterceptingKeyStrokes"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/start/interface/startInterface.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport { KeyPressHandler } from './KeyPressHandler';\nimport { BLT, printHelp, printUsage, StartOptions } from './commandsTable';\nimport { DevServerManagerActions } from './interactiveActions';\nimport * as Log from '../../log';\nimport { openInEditorAsync } from '../../utils/editor';\nimport { AbortCommandError } from '../../utils/errors';\nimport { getAllSpinners, ora } from '../../utils/ora';\nimport { getProgressBar, setProgressBar } from '../../utils/progress';\nimport { addInteractionListener, pauseInteractions } from '../../utils/prompts';\nimport { WebSupportProjectPrerequisite } from '../doctor/web/WebSupportProjectPrerequisite';\nimport { DevServerManager } from '../server/DevServerManager';\n\nconst debug = require('debug')('expo:start:interface:startInterface') as typeof console.log;\n\nconst CTRL_C = '\\u0003';\nconst CTRL_D = '\\u0004';\nconst CTRL_L = '\\u000C';\n\nconst PLATFORM_SETTINGS: Record<\n string,\n { name: string; key: 'android' | 'ios'; launchTarget: 'emulator' | 'simulator' }\n> = {\n android: {\n name: 'Android',\n key: 'android',\n launchTarget: 'emulator',\n },\n ios: {\n name: 'iOS',\n key: 'ios',\n launchTarget: 'simulator',\n },\n};\n\nexport async function startInterfaceAsync(\n devServerManager: DevServerManager,\n options: Pick<StartOptions, 'devClient' | 'platforms'>\n) {\n const actions = new DevServerManagerActions(devServerManager, options);\n\n const isWebSocketsEnabled = devServerManager.getDefaultDevServer()?.isTargetingNative();\n\n const usageOptions = {\n isWebSocketsEnabled,\n devClient: devServerManager.options.devClient,\n ...options,\n };\n\n actions.printDevServerInfo(usageOptions);\n\n const onPressAsync = async (key: string) => {\n // Auxillary commands all escape.\n switch (key) {\n case CTRL_C:\n case CTRL_D: {\n // Prevent terminal UI from accepting commands while the process is closing.\n // Without this, fast typers will close the server then start typing their\n // next command and have a bunch of unrelated things pop up.\n pauseInteractions();\n\n const spinners = getAllSpinners();\n spinners.forEach((spinner) => {\n spinner.fail();\n });\n\n const currentProgress = getProgressBar();\n if (currentProgress) {\n currentProgress.terminate();\n setProgressBar(null);\n }\n const spinner = ora({ text: 'Stopping server', color: 'white' }).start();\n try {\n await devServerManager.stopAsync();\n spinner.stopAndPersist({ text: 'Stopped server', symbol: `\\u203A` });\n // @ts-ignore: Argument of type '\"SIGINT\"' is not assignable to parameter of type '\"disconnect\"'.\n process.emit('SIGINT');\n\n // TODO: Is this the right place to do this?\n process.exit();\n } catch (error) {\n spinner.fail('Failed to stop server');\n throw error;\n }\n break;\n }\n case CTRL_L:\n return Log.clear();\n case '?':\n return printUsage(usageOptions, { verbose: true });\n }\n\n // Optionally enabled\n\n if (isWebSocketsEnabled) {\n switch (key) {\n case 'm':\n return actions.toggleDevMenu();\n case 'M':\n return actions.openMoreToolsAsync();\n }\n }\n\n const { platforms = ['ios', 'android', 'web'] } = options;\n\n if (['i', 'a'].includes(key.toLowerCase())) {\n const platform = key.toLowerCase() === 'i' ? 'ios' : 'android';\n\n const shouldPrompt = ['I', 'A'].includes(key);\n if (shouldPrompt) {\n Log.clear();\n }\n\n const server = devServerManager.getDefaultDevServer();\n const settings = PLATFORM_SETTINGS[platform];\n\n Log.log(`${BLT} Opening on ${settings.name}...`);\n\n if (server.isTargetingNative() && !platforms.includes(settings.key)) {\n Log.warn(\n chalk`${settings.name} is disabled, enable it by adding {bold ${settings.key}} to the platforms array in your app.json or app.config.js`\n );\n } else {\n try {\n await server.openPlatformAsync(settings.launchTarget, { shouldPrompt });\n printHelp();\n } catch (error: any) {\n if (!(error instanceof AbortCommandError)) {\n Log.exception(error);\n }\n }\n }\n // Break out early.\n return;\n }\n\n switch (key) {\n case 's': {\n Log.clear();\n if (await devServerManager.toggleRuntimeMode()) {\n usageOptions.devClient = devServerManager.options.devClient;\n return actions.printDevServerInfo(usageOptions);\n }\n break;\n }\n case 'w': {\n try {\n await devServerManager.ensureProjectPrerequisiteAsync(WebSupportProjectPrerequisite);\n if (!platforms.includes('web')) {\n platforms.push('web');\n options.platforms?.push('web');\n }\n } catch (e: any) {\n Log.warn(e.message);\n break;\n }\n\n const isDisabled = !platforms.includes('web');\n if (isDisabled) {\n debug('Web is disabled');\n // Use warnings from the web support setup.\n break;\n }\n\n // Ensure the Webpack dev server is running first\n if (!devServerManager.getWebDevServer()) {\n debug('Starting up webpack dev server');\n await devServerManager.ensureWebDevServerRunningAsync();\n // When this is the first time webpack is started, reprint the connection info.\n actions.printDevServerInfo(usageOptions);\n }\n\n Log.log(`${BLT} Open in the web browser...`);\n try {\n await devServerManager.getWebDevServer()?.openPlatformAsync('desktop');\n printHelp();\n } catch (error: any) {\n if (!(error instanceof AbortCommandError)) {\n Log.exception(error);\n }\n }\n break;\n }\n case 'c':\n Log.clear();\n return actions.printDevServerInfo(usageOptions);\n case 'j':\n return actions.openJsInspectorAsync();\n case 'r':\n return actions.reloadApp();\n case 'o':\n Log.log(`${BLT} Opening the editor...`);\n return openInEditorAsync(devServerManager.projectRoot);\n }\n };\n\n const keyPressHandler = new KeyPressHandler(onPressAsync);\n\n const listener = keyPressHandler.createInteractionListener();\n\n addInteractionListener(listener);\n\n // Start observing...\n keyPressHandler.startInterceptingKeyStrokes();\n}\n"],"names":["startInterfaceAsync","debug","require","CTRL_C","CTRL_D","CTRL_L","PLATFORM_SETTINGS","android","name","key","launchTarget","ios","devServerManager","options","actions","DevServerManagerActions","isWebSocketsEnabled","getDefaultDevServer","isTargetingNative","usageOptions","devClient","printDevServerInfo","onPressAsync","pauseInteractions","spinners","getAllSpinners","forEach","spinner","fail","currentProgress","getProgressBar","terminate","setProgressBar","ora","text","color","start","stopAsync","stopAndPersist","symbol","process","emit","exit","error","Log","clear","printUsage","verbose","toggleDevMenu","openMoreToolsAsync","platforms","includes","toLowerCase","platform","shouldPrompt","server","settings","log","BLT","warn","chalk","openPlatformAsync","printHelp","AbortCommandError","exception","toggleRuntimeMode","ensureProjectPrerequisiteAsync","WebSupportProjectPrerequisite","push","e","message","isDisabled","getWebDevServer","ensureWebDevServerRunningAsync","openJsInspectorAsync","reloadApp","openInEditorAsync","projectRoot","keyPressHandler","KeyPressHandler","listener","createInteractionListener","addInteractionListener","startInterceptingKeyStrokes"],"mappings":"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"}
@@ -2,6 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
+ Object.defineProperty(exports, "AppIdResolver", {
6
+ enumerable: true,
7
+ get: ()=>AppIdResolver
8
+ });
5
9
  function _config() {
6
10
  const data = require("@expo/config");
7
11
  _config = function() {
@@ -9,8 +13,8 @@ function _config() {
9
13
  };
10
14
  return data;
11
15
  }
12
- var _errors = require("../../utils/errors");
13
- var _obj = require("../../utils/obj");
16
+ const _errors = require("../../utils/errors");
17
+ const _obj = require("../../utils/obj");
14
18
  class AppIdResolver {
15
19
  constructor(projectRoot, platform, configProperty){
16
20
  this.projectRoot = projectRoot;
@@ -27,10 +31,10 @@ class AppIdResolver {
27
31
  throw new _errors.UnimplementedError();
28
32
  }
29
33
  /** Return the app ID from the Expo config or assert. */ async getAppIdFromConfigAsync() {
30
- const config = _config().getConfig(this.projectRoot);
31
- const appId = (0, _obj).get(config.exp, this.configProperty);
34
+ const config = (0, _config().getConfig)(this.projectRoot);
35
+ const appId = (0, _obj.get)(config.exp, this.configProperty);
32
36
  if (!appId) {
33
- throw new _errors.CommandError("NO_APP_ID", `Required property '${this.configProperty}' is not found in the project ${_config().getProjectConfigDescriptionWithPaths(this.projectRoot, config)}. This is required to open the app.`);
37
+ throw new _errors.CommandError("NO_APP_ID", `Required property '${this.configProperty}' is not found in the project ${(0, _config().getProjectConfigDescriptionWithPaths)(this.projectRoot, config)}. This is required to open the app.`);
34
38
  }
35
39
  return appId;
36
40
  }
@@ -45,6 +49,5 @@ class AppIdResolver {
45
49
  return appId;
46
50
  }
47
51
  }
48
- exports.AppIdResolver = AppIdResolver;
49
52
 
50
53
  //# sourceMappingURL=AppIdResolver.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/start/platforms/AppIdResolver.ts"],"sourcesContent":["import { getConfig, getProjectConfigDescriptionWithPaths } from '@expo/config';\n\nimport { CommandError, UnimplementedError } from '../../utils/errors';\nimport { get } from '../../utils/obj';\n\n/** Resolves a native app identifier (bundle identifier, package name) from the project files. */\nexport class AppIdResolver {\n constructor(\n protected projectRoot: string,\n /** Platform to use. */\n protected platform: string,\n /** Nested key in the Expo config like `android.package` or `ios.bundleIdentifier`. */\n protected configProperty: string\n ) {}\n\n /** Resolve the application ID for the project. */\n async getAppIdAsync(): Promise<string> {\n if (await this.hasNativeProjectAsync()) {\n return this.getAppIdFromNativeAsync();\n }\n return this.getAppIdFromConfigAsync();\n }\n\n /** Returns `true` if the project has native project code. */\n async hasNativeProjectAsync(): Promise<boolean> {\n throw new UnimplementedError();\n }\n\n /** Return the app ID from the Expo config or assert. */\n async getAppIdFromConfigAsync(): Promise<string> {\n const config = getConfig(this.projectRoot);\n\n const appId = get(config.exp, this.configProperty);\n if (!appId) {\n throw new CommandError(\n 'NO_APP_ID',\n `Required property '${\n this.configProperty\n }' is not found in the project ${getProjectConfigDescriptionWithPaths(\n this.projectRoot,\n config\n )}. This is required to open the app.`\n );\n }\n return appId;\n }\n\n /** Return the app ID from the native project files or null if the app ID cannot be found. */\n async resolveAppIdFromNativeAsync(): Promise<string | null> {\n throw new UnimplementedError();\n }\n\n /** Return the app ID from the native project files or assert. */\n async getAppIdFromNativeAsync(): Promise<string> {\n const appId = await this.resolveAppIdFromNativeAsync();\n if (!appId) {\n throw new CommandError(\n 'NO_APP_ID',\n `Failed to locate the ${this.platform} application identifier in the \"${this.platform}/\" folder. This is required to open the app.`\n );\n }\n return appId;\n }\n}\n"],"names":["AppIdResolver","constructor","projectRoot","platform","configProperty","getAppIdAsync","hasNativeProjectAsync","getAppIdFromNativeAsync","getAppIdFromConfigAsync","UnimplementedError","config","getConfig","appId","get","exp","CommandError","getProjectConfigDescriptionWithPaths","resolveAppIdFromNativeAsync"],"mappings":"AAAA;;;;SAAgE,OAAc;yBAAd,cAAc;IAAd,OAAc;;;;;AAE7B,IAAA,OAAoB,WAApB,oBAAoB,CAAA;AACjD,IAAA,IAAiB,WAAjB,iBAAiB,CAAA;AAG9B,MAAMA,aAAa;IACxBC,YACYC,WAAmB,EAEnBC,QAAgB,EAEhBC,cAAsB,CAChC;aALUF,WAAmB,GAAnBA,WAAmB;aAEnBC,QAAgB,GAAhBA,QAAgB;aAEhBC,cAAsB,GAAtBA,cAAsB;KAC9B;IAEJ,kDAAkD,CAClD,MAAMC,aAAa,GAAoB;QACrC,IAAI,MAAM,IAAI,CAACC,qBAAqB,EAAE,EAAE;YACtC,OAAO,IAAI,CAACC,uBAAuB,EAAE,CAAC;SACvC;QACD,OAAO,IAAI,CAACC,uBAAuB,EAAE,CAAC;KACvC;IAED,6DAA6D,CAC7D,MAAMF,qBAAqB,GAAqB;QAC9C,MAAM,IAAIG,OAAkB,mBAAA,EAAE,CAAC;KAChC;IAED,wDAAwD,CACxD,MAAMD,uBAAuB,GAAoB;QAC/C,MAAME,MAAM,GAAGC,OAAS,YAAA,CAAC,IAAI,CAACT,WAAW,CAAC,AAAC;QAE3C,MAAMU,KAAK,GAAGC,CAAAA,GAAAA,IAAG,AAAiC,CAAA,IAAjC,CAACH,MAAM,CAACI,GAAG,EAAE,IAAI,CAACV,cAAc,CAAC,AAAC;QACnD,IAAI,CAACQ,KAAK,EAAE;YACV,MAAM,IAAIG,OAAY,aAAA,CACpB,WAAW,EACX,CAAC,mBAAmB,EAClB,IAAI,CAACX,cAAc,CACpB,8BAA8B,EAAEY,OAAoC,uCAAA,CACnE,IAAI,CAACd,WAAW,EAChBQ,MAAM,CACP,CAAC,mCAAmC,CAAC,CACvC,CAAC;SACH;QACD,OAAOE,KAAK,CAAC;KACd;IAED,6FAA6F,CAC7F,MAAMK,2BAA2B,GAA2B;QAC1D,MAAM,IAAIR,OAAkB,mBAAA,EAAE,CAAC;KAChC;IAED,iEAAiE,CACjE,MAAMF,uBAAuB,GAAoB;QAC/C,MAAMK,KAAK,GAAG,MAAM,IAAI,CAACK,2BAA2B,EAAE,AAAC;QACvD,IAAI,CAACL,KAAK,EAAE;YACV,MAAM,IAAIG,OAAY,aAAA,CACpB,WAAW,EACX,CAAC,qBAAqB,EAAE,IAAI,CAACZ,QAAQ,CAAC,gCAAgC,EAAE,IAAI,CAACA,QAAQ,CAAC,4CAA4C,CAAC,CACpI,CAAC;SACH;QACD,OAAOS,KAAK,CAAC;KACd;CACF;QAzDYZ,aAAa,GAAbA,aAAa"}
1
+ {"version":3,"sources":["../../../../src/start/platforms/AppIdResolver.ts"],"sourcesContent":["import { getConfig, getProjectConfigDescriptionWithPaths } from '@expo/config';\n\nimport { CommandError, UnimplementedError } from '../../utils/errors';\nimport { get } from '../../utils/obj';\n\n/** Resolves a native app identifier (bundle identifier, package name) from the project files. */\nexport class AppIdResolver {\n constructor(\n protected projectRoot: string,\n /** Platform to use. */\n protected platform: string,\n /** Nested key in the Expo config like `android.package` or `ios.bundleIdentifier`. */\n protected configProperty: string\n ) {}\n\n /** Resolve the application ID for the project. */\n async getAppIdAsync(): Promise<string> {\n if (await this.hasNativeProjectAsync()) {\n return this.getAppIdFromNativeAsync();\n }\n return this.getAppIdFromConfigAsync();\n }\n\n /** Returns `true` if the project has native project code. */\n async hasNativeProjectAsync(): Promise<boolean> {\n throw new UnimplementedError();\n }\n\n /** Return the app ID from the Expo config or assert. */\n async getAppIdFromConfigAsync(): Promise<string> {\n const config = getConfig(this.projectRoot);\n\n const appId = get(config.exp, this.configProperty);\n if (!appId) {\n throw new CommandError(\n 'NO_APP_ID',\n `Required property '${\n this.configProperty\n }' is not found in the project ${getProjectConfigDescriptionWithPaths(\n this.projectRoot,\n config\n )}. This is required to open the app.`\n );\n }\n return appId;\n }\n\n /** Return the app ID from the native project files or null if the app ID cannot be found. */\n async resolveAppIdFromNativeAsync(): Promise<string | null> {\n throw new UnimplementedError();\n }\n\n /** Return the app ID from the native project files or assert. */\n async getAppIdFromNativeAsync(): Promise<string> {\n const appId = await this.resolveAppIdFromNativeAsync();\n if (!appId) {\n throw new CommandError(\n 'NO_APP_ID',\n `Failed to locate the ${this.platform} application identifier in the \"${this.platform}/\" folder. This is required to open the app.`\n );\n }\n return appId;\n }\n}\n"],"names":["AppIdResolver","constructor","projectRoot","platform","configProperty","getAppIdAsync","hasNativeProjectAsync","getAppIdFromNativeAsync","getAppIdFromConfigAsync","UnimplementedError","config","getConfig","appId","get","exp","CommandError","getProjectConfigDescriptionWithPaths","resolveAppIdFromNativeAsync"],"mappings":"AAAA;;;;+BAMaA,eAAa;;aAAbA,aAAa;;;yBANsC,cAAc;;;;;;wBAE7B,oBAAoB;qBACjD,iBAAiB;AAG9B,MAAMA,aAAa;IACxBC,YACYC,WAAmB,EAEnBC,QAAgB,EAEhBC,cAAsB,CAChC;QALUF,mBAAAA,WAAmB,CAAA;QAEnBC,gBAAAA,QAAgB,CAAA;QAEhBC,sBAAAA,cAAsB,CAAA;IAC/B;IAEH,gDAAgD,SAC1CC,aAAa,GAAoB;QACrC,IAAI,MAAM,IAAI,CAACC,qBAAqB,EAAE,EAAE;YACtC,OAAO,IAAI,CAACC,uBAAuB,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAACC,uBAAuB,EAAE,CAAC;IACxC;IAEA,2DAA2D,SACrDF,qBAAqB,GAAqB;QAC9C,MAAM,IAAIG,OAAkB,mBAAA,EAAE,CAAC;IACjC;IAEA,sDAAsD,SAChDD,uBAAuB,GAAoB;QAC/C,MAAME,MAAM,GAAGC,IAAAA,OAAS,EAAA,UAAA,EAAC,IAAI,CAACT,WAAW,CAAC,AAAC;QAE3C,MAAMU,KAAK,GAAGC,IAAAA,IAAG,IAAA,EAACH,MAAM,CAACI,GAAG,EAAE,IAAI,CAACV,cAAc,CAAC,AAAC;QACnD,IAAI,CAACQ,KAAK,EAAE;YACV,MAAM,IAAIG,OAAY,aAAA,CACpB,WAAW,EACX,CAAC,mBAAmB,EAClB,IAAI,CAACX,cAAc,CACpB,8BAA8B,EAAEY,IAAAA,OAAoC,EAAA,qCAAA,EACnE,IAAI,CAACd,WAAW,EAChBQ,MAAM,CACP,CAAC,mCAAmC,CAAC,CACvC,CAAC;QACJ,CAAC;QACD,OAAOE,KAAK,CAAC;IACf;IAEA,2FAA2F,SACrFK,2BAA2B,GAA2B;QAC1D,MAAM,IAAIR,OAAkB,mBAAA,EAAE,CAAC;IACjC;IAEA,+DAA+D,SACzDF,uBAAuB,GAAoB;QAC/C,MAAMK,KAAK,GAAG,MAAM,IAAI,CAACK,2BAA2B,EAAE,AAAC;QACvD,IAAI,CAACL,KAAK,EAAE;YACV,MAAM,IAAIG,OAAY,aAAA,CACpB,WAAW,EACX,CAAC,qBAAqB,EAAE,IAAI,CAACZ,QAAQ,CAAC,gCAAgC,EAAE,IAAI,CAACA,QAAQ,CAAC,4CAA4C,CAAC,CACpI,CAAC;QACJ,CAAC;QACD,OAAOS,KAAK,CAAC;IACf;CACD"}
@@ -2,48 +2,69 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
+ Object.defineProperty(exports, "DeviceManager", {
6
+ enumerable: true,
7
+ get: ()=>DeviceManager
8
+ });
5
9
  function _chalk() {
6
- const data = _interopRequireDefault(require("chalk"));
10
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
7
11
  _chalk = function() {
8
12
  return data;
9
13
  };
10
14
  return data;
11
15
  }
12
- var Log = _interopRequireWildcard(require("../../log"));
16
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../log"));
13
17
  function _interopRequireDefault(obj) {
14
18
  return obj && obj.__esModule ? obj : {
15
19
  default: obj
16
20
  };
17
21
  }
18
- function _interopRequireWildcard(obj) {
19
- if (obj && obj.__esModule) {
22
+ function _getRequireWildcardCache(nodeInterop) {
23
+ if (typeof WeakMap !== "function") return null;
24
+ var cacheBabelInterop = new WeakMap();
25
+ var cacheNodeInterop = new WeakMap();
26
+ return (_getRequireWildcardCache = function(nodeInterop) {
27
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
28
+ })(nodeInterop);
29
+ }
30
+ function _interopRequireWildcard(obj, nodeInterop) {
31
+ if (!nodeInterop && obj && obj.__esModule) {
20
32
  return obj;
21
- } else {
22
- var newObj = {};
23
- if (obj != null) {
24
- for(var key in obj){
25
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
26
- var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
27
- if (desc.get || desc.set) {
28
- Object.defineProperty(newObj, key, desc);
29
- } else {
30
- newObj[key] = obj[key];
31
- }
32
- }
33
+ }
34
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
35
+ return {
36
+ default: obj
37
+ };
38
+ }
39
+ var cache = _getRequireWildcardCache(nodeInterop);
40
+ if (cache && cache.has(obj)) {
41
+ return cache.get(obj);
42
+ }
43
+ var newObj = {};
44
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
45
+ for(var key in obj){
46
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
47
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
48
+ if (desc && (desc.get || desc.set)) {
49
+ Object.defineProperty(newObj, key, desc);
50
+ } else {
51
+ newObj[key] = obj[key];
33
52
  }
34
53
  }
35
- newObj.default = obj;
36
- return newObj;
37
54
  }
55
+ newObj.default = obj;
56
+ if (cache) {
57
+ cache.set(obj, newObj);
58
+ }
59
+ return newObj;
38
60
  }
39
61
  class DeviceManager {
40
62
  constructor(device){
41
63
  this.device = device;
42
64
  }
43
65
  logOpeningUrl(url) {
44
- Log.log(_chalk().default`\u203A Opening {underline ${url}} on {bold ${this.name}}`);
66
+ _log.log((0, _chalk().default)`\u203A Opening {underline ${url}} on {bold ${this.name}}`);
45
67
  }
46
68
  }
47
- exports.DeviceManager = DeviceManager;
48
69
 
49
70
  //# sourceMappingURL=DeviceManager.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/start/platforms/DeviceManager.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport * as Log from '../../log';\n\n/** An abstract class for interacting with a native device. */\nexport abstract class DeviceManager<IDevice> {\n constructor(public device: IDevice) {}\n\n abstract get name(): string;\n\n abstract get identifier(): string;\n\n logOpeningUrl(url: string) {\n Log.log(chalk`\\u203A Opening {underline ${url}} on {bold ${this.name}}`);\n }\n\n abstract startAsync(): Promise<IDevice>;\n\n abstract getAppVersionAsync(\n applicationId: string,\n options?: { containerPath?: string }\n ): Promise<string | null>;\n\n abstract installAppAsync(binaryPath: string): Promise<void>;\n\n abstract uninstallAppAsync(applicationId: string): Promise<void>;\n\n abstract isAppInstalledAndIfSoReturnContainerPathForIOSAsync(\n applicationId: string\n ): Promise<boolean | string>;\n\n abstract openUrlAsync(url: string): Promise<void>;\n\n abstract activateWindowAsync(): Promise<void>;\n\n abstract ensureExpoGoAsync(sdkVersion: string): Promise<boolean>;\n}\n"],"names":["Log","DeviceManager","constructor","device","logOpeningUrl","url","log","chalk","name"],"mappings":"AAAA;;;;SAAkB,MAAO;gDAAP,OAAO;IAAP,MAAO;;;;;AAEbA,IAAAA,GAAG,mCAAM,WAAW,EAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGR,MAAeC,aAAa;IACjCC,YAAmBC,MAAe,CAAE;aAAjBA,MAAe,GAAfA,MAAe;KAAI;IAMtCC,aAAa,CAACC,GAAW,EAAE;QACzBL,GAAG,CAACM,GAAG,CAACC,MAAK,UAAA,CAAC,0BAA0B,EAAEF,GAAG,CAAC,WAAW,EAAE,IAAI,CAACG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1E;CAsBF;QA/BqBP,aAAa,GAAbA,aAAa"}
1
+ {"version":3,"sources":["../../../../src/start/platforms/DeviceManager.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport * as Log from '../../log';\n\n/** An abstract class for interacting with a native device. */\nexport abstract class DeviceManager<IDevice> {\n constructor(public device: IDevice) {}\n\n abstract get name(): string;\n\n abstract get identifier(): string;\n\n logOpeningUrl(url: string) {\n Log.log(chalk`\\u203A Opening {underline ${url}} on {bold ${this.name}}`);\n }\n\n abstract startAsync(): Promise<IDevice>;\n\n abstract getAppVersionAsync(\n applicationId: string,\n options?: { containerPath?: string }\n ): Promise<string | null>;\n\n abstract installAppAsync(binaryPath: string): Promise<void>;\n\n abstract uninstallAppAsync(applicationId: string): Promise<void>;\n\n abstract isAppInstalledAndIfSoReturnContainerPathForIOSAsync(\n applicationId: string\n ): Promise<boolean | string>;\n\n abstract openUrlAsync(url: string): Promise<void>;\n\n abstract activateWindowAsync(): Promise<void>;\n\n abstract ensureExpoGoAsync(sdkVersion: string): Promise<boolean>;\n}\n"],"names":["DeviceManager","constructor","device","logOpeningUrl","url","Log","log","chalk","name"],"mappings":"AAAA;;;;+BAKsBA,eAAa;;aAAbA,aAAa;;;8DALjB,OAAO;;;;;;2DAEJ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGzB,MAAeA,aAAa;IACjCC,YAAmBC,MAAe,CAAE;QAAjBA,cAAAA,MAAe,CAAA;IAAG;IAMrCC,aAAa,CAACC,GAAW,EAAE;QACzBC,IAAG,CAACC,GAAG,CAACC,IAAAA,MAAK,EAAA,QAAA,CAAA,CAAC,0BAA0B,EAAEH,GAAG,CAAC,WAAW,EAAE,IAAI,CAACI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E;CAsBD"}
@@ -2,46 +2,68 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
+ Object.defineProperty(exports, "ExpoGoInstaller", {
6
+ enumerable: true,
7
+ get: ()=>ExpoGoInstaller
8
+ });
5
9
  function _semver() {
6
- const data = _interopRequireDefault(require("semver"));
10
+ const data = /*#__PURE__*/ _interopRequireDefault(require("semver"));
7
11
  _semver = function() {
8
12
  return data;
9
13
  };
10
14
  return data;
11
15
  }
12
- var _getVersions = require("../../api/getVersions");
13
- var Log = _interopRequireWildcard(require("../../log"));
14
- var _downloadExpoGoAsync = require("../../utils/downloadExpoGoAsync");
15
- var _env = require("../../utils/env");
16
- var _errors = require("../../utils/errors");
17
- var _link = require("../../utils/link");
18
- var _ora = require("../../utils/ora");
19
- var _prompts = require("../../utils/prompts");
16
+ const _getVersions = require("../../api/getVersions");
17
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../log"));
18
+ const _downloadExpoGoAsync = require("../../utils/downloadExpoGoAsync");
19
+ const _env = require("../../utils/env");
20
+ const _errors = require("../../utils/errors");
21
+ const _link = require("../../utils/link");
22
+ const _ora = require("../../utils/ora");
23
+ const _prompts = require("../../utils/prompts");
20
24
  function _interopRequireDefault(obj) {
21
25
  return obj && obj.__esModule ? obj : {
22
26
  default: obj
23
27
  };
24
28
  }
25
- function _interopRequireWildcard(obj) {
26
- if (obj && obj.__esModule) {
29
+ function _getRequireWildcardCache(nodeInterop) {
30
+ if (typeof WeakMap !== "function") return null;
31
+ var cacheBabelInterop = new WeakMap();
32
+ var cacheNodeInterop = new WeakMap();
33
+ return (_getRequireWildcardCache = function(nodeInterop) {
34
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
35
+ })(nodeInterop);
36
+ }
37
+ function _interopRequireWildcard(obj, nodeInterop) {
38
+ if (!nodeInterop && obj && obj.__esModule) {
27
39
  return obj;
28
- } else {
29
- var newObj = {};
30
- if (obj != null) {
31
- for(var key in obj){
32
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
33
- var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
34
- if (desc.get || desc.set) {
35
- Object.defineProperty(newObj, key, desc);
36
- } else {
37
- newObj[key] = obj[key];
38
- }
39
- }
40
+ }
41
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
42
+ return {
43
+ default: obj
44
+ };
45
+ }
46
+ var cache = _getRequireWildcardCache(nodeInterop);
47
+ if (cache && cache.has(obj)) {
48
+ return cache.get(obj);
49
+ }
50
+ var newObj = {};
51
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
52
+ for(var key in obj){
53
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
54
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
55
+ if (desc && (desc.get || desc.set)) {
56
+ Object.defineProperty(newObj, key, desc);
57
+ } else {
58
+ newObj[key] = obj[key];
40
59
  }
41
60
  }
42
- newObj.default = obj;
43
- return newObj;
44
61
  }
62
+ newObj.default = obj;
63
+ if (cache) {
64
+ cache.set(obj, newObj);
65
+ }
66
+ return newObj;
45
67
  }
46
68
  const debug = require("debug")("expo:utils:ExpoGoInstaller");
47
69
  class ExpoGoInstaller {
@@ -62,7 +84,7 @@ class ExpoGoInstaller {
62
84
  }
63
85
  /** Returns the expected version of Expo Go given the project SDK Version. Exposed for testing. */ async getExpectedExpoGoClientVersionAsync() {
64
86
  var ref, ref1;
65
- const versions = await (0, _getVersions).getVersionsAsync();
87
+ const versions = await (0, _getVersions.getVersionsAsync)();
66
88
  // Like `sdkVersions['44.0.0']['androidClientVersion'] = '1.0.0'`
67
89
  const specificVersion = versions == null ? void 0 : (ref = versions.sdkVersions) == null ? void 0 : (ref1 = ref[this.sdkVersion]) == null ? void 0 : ref1[`${this.platform}ClientVersion`];
68
90
  const latestVersion = versions[`${this.platform}Version`];
@@ -85,19 +107,18 @@ class ExpoGoInstaller {
85
107
  if (this.isInstalledClientVersionMismatched(installedExpoGoVersion, expectedExpoGoVersion)) {
86
108
  if (this.sdkVersion === "UNVERSIONED") {
87
109
  // This should only happen in the expo/expo repo, e.g. `apps/test-suite`
88
- Log.log(`Skipping Expo Go upgrade check for UNVERSIONED project. Manually ensure the Expo Go app is built from source.`);
110
+ _log.log(`Skipping Expo Go upgrade check for UNVERSIONED project. Manually ensure the Expo Go app is built from source.`);
89
111
  return false;
90
112
  }
91
113
  // Only prompt once per device, per run.
92
- const confirm = await (0, _prompts).confirmAsync({
114
+ const confirm = await (0, _prompts.confirmAsync)({
93
115
  initial: true,
94
- message: `Expo Go ${expectedExpoGoVersion} is recommended for SDK ${this.sdkVersion} (${deviceManager.name}
95
- is using ${installedExpoGoVersion}). ${(0, _link).learnMore("https://docs.expo.dev/get-started/expo-go/#sdk-versions")}. Install the recommended Expo Go version?`
116
+ message: `Expo Go ${expectedExpoGoVersion} is recommended for SDK ${this.sdkVersion} (${deviceManager.name} is using ${installedExpoGoVersion}). ${(0, _link.learnMore)("https://docs.expo.dev/get-started/expo-go/#sdk-versions")}. Install the recommended Expo Go version?`
96
117
  });
97
118
  if (confirm) {
98
119
  // Don't need to uninstall to update on iOS.
99
120
  if (this.platform !== "ios") {
100
- Log.log(`Uninstalling Expo Go from ${this.platform} device ${deviceManager.name}.`);
121
+ _log.log(`Uninstalling Expo Go from ${this.platform} device ${deviceManager.name}.`);
101
122
  await deviceManager.uninstallAppAsync(this.appId);
102
123
  }
103
124
  return true;
@@ -110,7 +131,7 @@ class ExpoGoInstaller {
110
131
  let shouldInstall = !isExpoGoInstalledAndIfSoContainerPathForIOS;
111
132
  if (_env.env.EXPO_OFFLINE) {
112
133
  if (isExpoGoInstalledAndIfSoContainerPathForIOS) {
113
- Log.warn(`Skipping Expo Go version validation in offline mode`);
134
+ _log.warn(`Skipping Expo Go version validation in offline mode`);
114
135
  return false;
115
136
  }
116
137
  throw new _errors.CommandError("NO_EXPO_GO", `Expo Go is not installed on device "${deviceManager.name}", while running in offline mode. Manually install Expo Go or run without --offline flag (or EXPO_OFFLINE environment variable).`);
@@ -123,11 +144,11 @@ class ExpoGoInstaller {
123
144
  }
124
145
  if (shouldInstall) {
125
146
  // Download the Expo Go app from the Expo servers.
126
- const binaryPath = await (0, _downloadExpoGoAsync).downloadExpoGoAsync(this.platform, {
147
+ const binaryPath = await (0, _downloadExpoGoAsync.downloadExpoGoAsync)(this.platform, {
127
148
  sdkVersion: this.sdkVersion
128
149
  });
129
150
  // Install the app on the device.
130
- const ora = (0, _ora).logNewSection(`Installing Expo Go on ${deviceManager.name}`);
151
+ const ora = (0, _ora.logNewSection)(`Installing Expo Go on ${deviceManager.name}`);
131
152
  try {
132
153
  await deviceManager.installAppAsync(binaryPath);
133
154
  } finally{
@@ -138,6 +159,5 @@ class ExpoGoInstaller {
138
159
  return false;
139
160
  }
140
161
  }
141
- exports.ExpoGoInstaller = ExpoGoInstaller;
142
162
 
143
163
  //# sourceMappingURL=ExpoGoInstaller.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/start/platforms/ExpoGoInstaller.ts"],"sourcesContent":["import semver from 'semver';\n\nimport type { DeviceManager } from './DeviceManager';\nimport { getVersionsAsync } from '../../api/getVersions';\nimport * as Log from '../../log';\nimport { downloadExpoGoAsync } from '../../utils/downloadExpoGoAsync';\nimport { env } from '../../utils/env';\nimport { CommandError } from '../../utils/errors';\nimport { learnMore } from '../../utils/link';\nimport { logNewSection } from '../../utils/ora';\nimport { confirmAsync } from '../../utils/prompts';\n\nconst debug = require('debug')('expo:utils:ExpoGoInstaller') as typeof console.log;\n\n/** Given a platform, appId, and sdkVersion, this module will ensure that Expo Go is up-to-date on the provided device. */\nexport class ExpoGoInstaller<IDevice> {\n // Keep a list of [platform-deviceId] so we can prevent asking multiple times if a user wants to upgrade.\n // This can prevent annoying interactions when they don't want to upgrade for whatever reason.\n static cache: Record<string, boolean> = {};\n\n constructor(\n private platform: 'ios' | 'android',\n // Ultimately this should be inlined since we know the platform.\n private appId: string,\n private sdkVersion: string\n ) {}\n\n /** Returns true if the installed app matching the previously provided `appId` is outdated. */\n isInstalledClientVersionMismatched(\n installedVersion: string | null,\n expectedExpoGoVersion: string | null\n ): boolean {\n if (!installedVersion) {\n return true;\n }\n\n debug(\n `Expected Expo Go version: ${expectedExpoGoVersion}, installed version: ${installedVersion}`\n );\n return expectedExpoGoVersion ? !semver.eq(installedVersion, expectedExpoGoVersion) : true;\n }\n\n /** Returns the expected version of Expo Go given the project SDK Version. Exposed for testing. */\n async getExpectedExpoGoClientVersionAsync(): Promise<string | null> {\n const versions = await getVersionsAsync();\n // Like `sdkVersions['44.0.0']['androidClientVersion'] = '1.0.0'`\n const specificVersion =\n versions?.sdkVersions?.[this.sdkVersion]?.[`${this.platform}ClientVersion`];\n const latestVersion = versions[`${this.platform}Version`];\n return specificVersion ?? latestVersion ?? null;\n }\n\n /** Returns a boolean indicating if Expo Go should be installed. Returns `true` if the app was uninstalled. */\n async promptForUninstallExpoGoIfInstalledClientVersionMismatchedAndReturnShouldInstallAsync(\n deviceManager: DeviceManager<IDevice>,\n { containerPath }: { containerPath?: string } = {}\n ): Promise<boolean> {\n const cacheId = `${this.platform}-${deviceManager.identifier}`;\n\n if (ExpoGoInstaller.cache[cacheId]) {\n debug('skipping subsequent upgrade check');\n return false;\n }\n ExpoGoInstaller.cache[cacheId] = true;\n\n const [installedExpoGoVersion, expectedExpoGoVersion] = await Promise.all([\n deviceManager.getAppVersionAsync(this.appId, {\n containerPath,\n }),\n this.getExpectedExpoGoClientVersionAsync(),\n ]);\n\n if (this.isInstalledClientVersionMismatched(installedExpoGoVersion, expectedExpoGoVersion)) {\n if (this.sdkVersion === 'UNVERSIONED') {\n // This should only happen in the expo/expo repo, e.g. `apps/test-suite`\n Log.log(\n `Skipping Expo Go upgrade check for UNVERSIONED project. Manually ensure the Expo Go app is built from source.`\n );\n return false;\n }\n\n // Only prompt once per device, per run.\n const confirm = await confirmAsync({\n initial: true,\n message: `Expo Go ${expectedExpoGoVersion} is recommended for SDK ${this.sdkVersion} (${\n deviceManager.name\n }\n is using ${installedExpoGoVersion}). ${learnMore(\n 'https://docs.expo.dev/get-started/expo-go/#sdk-versions'\n )}. Install the recommended Expo Go version?`,\n });\n\n if (confirm) {\n // Don't need to uninstall to update on iOS.\n if (this.platform !== 'ios') {\n Log.log(`Uninstalling Expo Go from ${this.platform} device ${deviceManager.name}.`);\n await deviceManager.uninstallAppAsync(this.appId);\n }\n return true;\n }\n }\n return false;\n }\n\n /** Check if a given device has Expo Go installed, if not then download and install it. */\n async ensureAsync(deviceManager: DeviceManager<IDevice>): Promise<boolean> {\n const isExpoGoInstalledAndIfSoContainerPathForIOS =\n await deviceManager.isAppInstalledAndIfSoReturnContainerPathForIOSAsync(this.appId);\n let shouldInstall = !isExpoGoInstalledAndIfSoContainerPathForIOS;\n if (env.EXPO_OFFLINE) {\n if (isExpoGoInstalledAndIfSoContainerPathForIOS) {\n Log.warn(`Skipping Expo Go version validation in offline mode`);\n return false;\n }\n throw new CommandError(\n 'NO_EXPO_GO',\n `Expo Go is not installed on device \"${deviceManager.name}\", while running in offline mode. Manually install Expo Go or run without --offline flag (or EXPO_OFFLINE environment variable).`\n );\n }\n\n if (isExpoGoInstalledAndIfSoContainerPathForIOS) {\n shouldInstall =\n await this.promptForUninstallExpoGoIfInstalledClientVersionMismatchedAndReturnShouldInstallAsync(\n deviceManager,\n {\n // iOS optimization to prevent duplicate calls to `getContainerPathAsync`.\n containerPath:\n typeof isExpoGoInstalledAndIfSoContainerPathForIOS === 'string'\n ? isExpoGoInstalledAndIfSoContainerPathForIOS\n : undefined,\n }\n );\n }\n\n if (shouldInstall) {\n // Download the Expo Go app from the Expo servers.\n const binaryPath = await downloadExpoGoAsync(this.platform, { sdkVersion: this.sdkVersion });\n // Install the app on the device.\n const ora = logNewSection(`Installing Expo Go on ${deviceManager.name}`);\n try {\n await deviceManager.installAppAsync(binaryPath);\n } finally {\n ora.stop();\n }\n return true;\n }\n return false;\n }\n}\n"],"names":["Log","debug","require","ExpoGoInstaller","cache","constructor","platform","appId","sdkVersion","isInstalledClientVersionMismatched","installedVersion","expectedExpoGoVersion","semver","eq","getExpectedExpoGoClientVersionAsync","versions","getVersionsAsync","specificVersion","sdkVersions","latestVersion","promptForUninstallExpoGoIfInstalledClientVersionMismatchedAndReturnShouldInstallAsync","deviceManager","containerPath","cacheId","identifier","installedExpoGoVersion","Promise","all","getAppVersionAsync","log","confirm","confirmAsync","initial","message","name","learnMore","uninstallAppAsync","ensureAsync","isExpoGoInstalledAndIfSoContainerPathForIOS","isAppInstalledAndIfSoReturnContainerPathForIOSAsync","shouldInstall","env","EXPO_OFFLINE","warn","CommandError","undefined","binaryPath","downloadExpoGoAsync","ora","logNewSection","installAppAsync","stop"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/start/platforms/ExpoGoInstaller.ts"],"sourcesContent":["import semver from 'semver';\n\nimport type { DeviceManager } from './DeviceManager';\nimport { getVersionsAsync } from '../../api/getVersions';\nimport * as Log from '../../log';\nimport { downloadExpoGoAsync } from '../../utils/downloadExpoGoAsync';\nimport { env } from '../../utils/env';\nimport { CommandError } from '../../utils/errors';\nimport { learnMore } from '../../utils/link';\nimport { logNewSection } from '../../utils/ora';\nimport { confirmAsync } from '../../utils/prompts';\n\nconst debug = require('debug')('expo:utils:ExpoGoInstaller') as typeof console.log;\n\n/** Given a platform, appId, and sdkVersion, this module will ensure that Expo Go is up-to-date on the provided device. */\nexport class ExpoGoInstaller<IDevice> {\n // Keep a list of [platform-deviceId] so we can prevent asking multiple times if a user wants to upgrade.\n // This can prevent annoying interactions when they don't want to upgrade for whatever reason.\n static cache: Record<string, boolean> = {};\n\n constructor(\n private platform: 'ios' | 'android',\n // Ultimately this should be inlined since we know the platform.\n private appId: string,\n private sdkVersion: string\n ) {}\n\n /** Returns true if the installed app matching the previously provided `appId` is outdated. */\n isInstalledClientVersionMismatched(\n installedVersion: string | null,\n expectedExpoGoVersion: string | null\n ): boolean {\n if (!installedVersion) {\n return true;\n }\n\n debug(\n `Expected Expo Go version: ${expectedExpoGoVersion}, installed version: ${installedVersion}`\n );\n return expectedExpoGoVersion ? !semver.eq(installedVersion, expectedExpoGoVersion) : true;\n }\n\n /** Returns the expected version of Expo Go given the project SDK Version. Exposed for testing. */\n async getExpectedExpoGoClientVersionAsync(): Promise<string | null> {\n const versions = await getVersionsAsync();\n // Like `sdkVersions['44.0.0']['androidClientVersion'] = '1.0.0'`\n const specificVersion =\n versions?.sdkVersions?.[this.sdkVersion]?.[`${this.platform}ClientVersion`];\n const latestVersion = versions[`${this.platform}Version`];\n return specificVersion ?? latestVersion ?? null;\n }\n\n /** Returns a boolean indicating if Expo Go should be installed. Returns `true` if the app was uninstalled. */\n async promptForUninstallExpoGoIfInstalledClientVersionMismatchedAndReturnShouldInstallAsync(\n deviceManager: DeviceManager<IDevice>,\n { containerPath }: { containerPath?: string } = {}\n ): Promise<boolean> {\n const cacheId = `${this.platform}-${deviceManager.identifier}`;\n\n if (ExpoGoInstaller.cache[cacheId]) {\n debug('skipping subsequent upgrade check');\n return false;\n }\n ExpoGoInstaller.cache[cacheId] = true;\n\n const [installedExpoGoVersion, expectedExpoGoVersion] = await Promise.all([\n deviceManager.getAppVersionAsync(this.appId, {\n containerPath,\n }),\n this.getExpectedExpoGoClientVersionAsync(),\n ]);\n\n if (this.isInstalledClientVersionMismatched(installedExpoGoVersion, expectedExpoGoVersion)) {\n if (this.sdkVersion === 'UNVERSIONED') {\n // This should only happen in the expo/expo repo, e.g. `apps/test-suite`\n Log.log(\n `Skipping Expo Go upgrade check for UNVERSIONED project. Manually ensure the Expo Go app is built from source.`\n );\n return false;\n }\n\n // Only prompt once per device, per run.\n const confirm = await confirmAsync({\n initial: true,\n message: `Expo Go ${expectedExpoGoVersion} is recommended for SDK ${this.sdkVersion} (${\n deviceManager.name\n } is using ${installedExpoGoVersion}). ${learnMore(\n 'https://docs.expo.dev/get-started/expo-go/#sdk-versions'\n )}. Install the recommended Expo Go version?`,\n });\n\n if (confirm) {\n // Don't need to uninstall to update on iOS.\n if (this.platform !== 'ios') {\n Log.log(`Uninstalling Expo Go from ${this.platform} device ${deviceManager.name}.`);\n await deviceManager.uninstallAppAsync(this.appId);\n }\n return true;\n }\n }\n return false;\n }\n\n /** Check if a given device has Expo Go installed, if not then download and install it. */\n async ensureAsync(deviceManager: DeviceManager<IDevice>): Promise<boolean> {\n const isExpoGoInstalledAndIfSoContainerPathForIOS =\n await deviceManager.isAppInstalledAndIfSoReturnContainerPathForIOSAsync(this.appId);\n let shouldInstall = !isExpoGoInstalledAndIfSoContainerPathForIOS;\n if (env.EXPO_OFFLINE) {\n if (isExpoGoInstalledAndIfSoContainerPathForIOS) {\n Log.warn(`Skipping Expo Go version validation in offline mode`);\n return false;\n }\n throw new CommandError(\n 'NO_EXPO_GO',\n `Expo Go is not installed on device \"${deviceManager.name}\", while running in offline mode. Manually install Expo Go or run without --offline flag (or EXPO_OFFLINE environment variable).`\n );\n }\n\n if (isExpoGoInstalledAndIfSoContainerPathForIOS) {\n shouldInstall =\n await this.promptForUninstallExpoGoIfInstalledClientVersionMismatchedAndReturnShouldInstallAsync(\n deviceManager,\n {\n // iOS optimization to prevent duplicate calls to `getContainerPathAsync`.\n containerPath:\n typeof isExpoGoInstalledAndIfSoContainerPathForIOS === 'string'\n ? isExpoGoInstalledAndIfSoContainerPathForIOS\n : undefined,\n }\n );\n }\n\n if (shouldInstall) {\n // Download the Expo Go app from the Expo servers.\n const binaryPath = await downloadExpoGoAsync(this.platform, { sdkVersion: this.sdkVersion });\n // Install the app on the device.\n const ora = logNewSection(`Installing Expo Go on ${deviceManager.name}`);\n try {\n await deviceManager.installAppAsync(binaryPath);\n } finally {\n ora.stop();\n }\n return true;\n }\n return false;\n }\n}\n"],"names":["ExpoGoInstaller","debug","require","cache","constructor","platform","appId","sdkVersion","isInstalledClientVersionMismatched","installedVersion","expectedExpoGoVersion","semver","eq","getExpectedExpoGoClientVersionAsync","versions","getVersionsAsync","specificVersion","sdkVersions","latestVersion","promptForUninstallExpoGoIfInstalledClientVersionMismatchedAndReturnShouldInstallAsync","deviceManager","containerPath","cacheId","identifier","installedExpoGoVersion","Promise","all","getAppVersionAsync","Log","log","confirm","confirmAsync","initial","message","name","learnMore","uninstallAppAsync","ensureAsync","isExpoGoInstalledAndIfSoContainerPathForIOS","isAppInstalledAndIfSoReturnContainerPathForIOSAsync","shouldInstall","env","EXPO_OFFLINE","warn","CommandError","undefined","binaryPath","downloadExpoGoAsync","ora","logNewSection","installAppAsync","stop"],"mappings":"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"}
@@ -2,6 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
+ Object.defineProperty(exports, "PlatformManager", {
6
+ enumerable: true,
7
+ get: ()=>PlatformManager
8
+ });
5
9
  function _config() {
6
10
  const data = require("@expo/config");
7
11
  _config = function() {
@@ -10,23 +14,23 @@ function _config() {
10
14
  return data;
11
15
  }
12
16
  function _assert() {
13
- const data = _interopRequireDefault(require("assert"));
17
+ const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
14
18
  _assert = function() {
15
19
  return data;
16
20
  };
17
21
  return data;
18
22
  }
19
23
  function _chalk() {
20
- const data = _interopRequireDefault(require("chalk"));
24
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
21
25
  _chalk = function() {
22
26
  return data;
23
27
  };
24
28
  return data;
25
29
  }
26
- var _log = require("../../log");
27
- var _errors = require("../../utils/errors");
28
- var _link = require("../../utils/link");
29
- var _telemetry = require("../../utils/telemetry");
30
+ const _log = require("../../log");
31
+ const _errors = require("../../utils/errors");
32
+ const _link = require("../../utils/link");
33
+ const _telemetry = require("../../utils/telemetry");
30
34
  function _interopRequireDefault(obj) {
31
35
  return obj && obj.__esModule ? obj : {
32
36
  default: obj
@@ -54,7 +58,7 @@ class PlatformManager {
54
58
  try {
55
59
  applicationId = await this._getAppIdResolver().getAppIdAsync();
56
60
  } catch {
57
- _log.Log.warn(_chalk().default`\u203A Launching in Expo Go. If you want to use a ` + `development build, you need to create and install one first, or, if you already ` + _chalk().default`have a build, add {bold ios.bundleIdentifier} and {bold android.package} to ` + `this project's app config.\n${(0, _link).learnMore("https://docs.expo.dev/development/build/")}`);
61
+ _log.Log.warn((0, _chalk().default)`\u203A Launching in Expo Go. If you want to use a ` + `development build, you need to create and install one first, or, if you already ` + (0, _chalk().default)`have a build, add {bold ios.bundleIdentifier} and {bold android.package} to ` + `this project's app config.\n${(0, _link.learnMore)("https://docs.expo.dev/development/build/")}`);
58
62
  }
59
63
  if (applicationId) {
60
64
  debug(`Resolving launch URL: (appId: ${applicationId}, redirect URL: ${redirectUrl})`);
@@ -65,7 +69,7 @@ class PlatformManager {
65
69
  } else {
66
70
  // Log a warning if no development build is available on the device, but the
67
71
  // interstitial page would otherwise be opened.
68
- _log.Log.warn(_chalk().default`\u203A The {bold expo-dev-client} package is installed, but a development build is not ` + _chalk().default`installed on {bold ${deviceManager.name}}.\nLaunching in Expo Go. If you want to use a ` + `development build, you need to create and install one first.\n${(0, _link).learnMore("https://docs.expo.dev/development/build/")}`);
72
+ _log.Log.warn((0, _chalk().default)`\u203A The {bold expo-dev-client} package is installed, but a development build is not ` + (0, _chalk().default)`installed on {bold ${deviceManager.name}}.\nLaunching in Expo Go. If you want to use a ` + `development build, you need to create and install one first.\n${(0, _link.learnMore)("https://docs.expo.dev/development/build/")}`);
69
73
  }
70
74
  }
71
75
  }
@@ -76,13 +80,13 @@ class PlatformManager {
76
80
  const url = await this.getExpoGoOrCustomRuntimeUrlAsync(deviceManager);
77
81
  deviceManager.logOpeningUrl(url);
78
82
  // TODO: Expensive, we should only do this once.
79
- const { exp } = _config().getConfig(this.projectRoot);
83
+ const { exp } = (0, _config().getConfig)(this.projectRoot);
80
84
  const sdkVersion = exp.sdkVersion;
81
- _assert().default(sdkVersion, "sdkVersion should be resolved by getConfig");
85
+ (0, _assert().default)(sdkVersion, "sdkVersion should be resolved by getConfig");
82
86
  const installedExpo = await deviceManager.ensureExpoGoAsync(sdkVersion);
83
87
  deviceManager.activateWindowAsync();
84
88
  await deviceManager.openUrlAsync(url);
85
- await (0, _telemetry).logEventAsync("Open Url on Device", {
89
+ await (0, _telemetry.logEventAsync)("Open Url on Device", {
86
90
  platform: this.props.platform,
87
91
  installedExpo
88
92
  });
@@ -91,8 +95,7 @@ class PlatformManager {
91
95
  };
92
96
  }
93
97
  async openProjectInCustomRuntimeAsync(resolveSettings = {}, props = {}) {
94
- debug(`open custom (${Object.entries(props).map(([k, v])=>`${k}: ${v}`
95
- ).join(", ")})`);
98
+ debug(`open custom (${Object.entries(props).map(([k, v])=>`${k}: ${v}`).join(", ")})`);
96
99
  let url = this.props.getCustomRuntimeUrl({
97
100
  scheme: props.scheme
98
101
  });
@@ -102,10 +105,10 @@ class PlatformManager {
102
105
  const applicationId = (_applicationId = props.applicationId) != null ? _applicationId : await this._getAppIdResolver().getAppIdAsync();
103
106
  const deviceManager = await this.props.resolveDeviceAsync(resolveSettings);
104
107
  if (!await deviceManager.isAppInstalledAndIfSoReturnContainerPathForIOSAsync(applicationId)) {
105
- throw new _errors.CommandError(`No development build (${applicationId}) for this project is installed. ` + `Please make and install a development build on the device first.\n${(0, _link).learnMore("https://docs.expo.dev/development/build/")}`);
108
+ throw new _errors.CommandError(`No development build (${applicationId}) for this project is installed. ` + `Please make and install a development build on the device first.\n${(0, _link.learnMore)("https://docs.expo.dev/development/build/")}`);
106
109
  }
107
110
  // TODO: Rethink analytics
108
- await (0, _telemetry).logEventAsync("Open Url on Device", {
111
+ await (0, _telemetry.logEventAsync)("Open Url on Device", {
109
112
  platform: this.props.platform,
110
113
  installedExpo: false
111
114
  });
@@ -133,7 +136,7 @@ class PlatformManager {
133
136
  }
134
137
  /** Open the current web project (Webpack) in a device . */ async openWebProjectAsync(resolveSettings = {}) {
135
138
  const url = this.props.getDevServerUrl();
136
- _assert().default(url, "Dev server is not running.");
139
+ (0, _assert().default)(url, "Dev server is not running.");
137
140
  const deviceManager = await this.props.resolveDeviceAsync(resolveSettings);
138
141
  deviceManager.logOpeningUrl(url);
139
142
  await deviceManager.activateWindowAsync();
@@ -146,6 +149,5 @@ class PlatformManager {
146
149
  throw new _errors.UnimplementedError();
147
150
  }
148
151
  }
149
- exports.PlatformManager = PlatformManager;
150
152
 
151
153
  //# sourceMappingURL=PlatformManager.js.map