@expo/cli 0.22.25 → 0.22.27

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 (724) hide show
  1. package/build/bin/cli +91 -93
  2. package/build/bin/cli.map +1 -1
  3. package/build/metro-require/require.js +52 -53
  4. package/build/src/api/endpoint.js +2 -6
  5. package/build/src/api/endpoint.js.map +1 -1
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +3 -5
  7. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  8. package/build/src/api/getExpoSchema.js +12 -16
  9. package/build/src/api/getExpoSchema.js.map +1 -1
  10. package/build/src/api/getNativeModuleVersions.js +4 -6
  11. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  12. package/build/src/api/getProjectDevelopmentCertificate.js +3 -5
  13. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  14. package/build/src/api/getVersions.js +5 -7
  15. package/build/src/api/getVersions.js.map +1 -1
  16. package/build/src/api/graphql/client.js +26 -32
  17. package/build/src/api/graphql/client.js.map +1 -1
  18. package/build/src/api/graphql/queries/AppQuery.js +4 -6
  19. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  20. package/build/src/api/graphql/queries/UserQuery.js +3 -5
  21. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  22. package/build/src/api/graphql/types/App.js +1 -3
  23. package/build/src/api/graphql/types/App.js.map +1 -1
  24. package/build/src/api/rest/cache/FileSystemResponseCache.js +8 -10
  25. package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
  26. package/build/src/api/rest/cache/ResponseCache.js +12 -20
  27. package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +11 -13
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  30. package/build/src/api/rest/client.js +35 -53
  31. package/build/src/api/rest/client.js.map +1 -1
  32. package/build/src/api/rest/client.types.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithBaseUrl.js +3 -5
  34. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithOffline.js +3 -5
  36. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProgress.js +7 -11
  38. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  39. package/build/src/api/rest/wrapFetchWithProxy.js +3 -5
  40. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  41. package/build/src/api/rest/wrapFetchWithUserAgent.js +6 -8
  42. package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
  43. package/build/src/api/settings.js +5 -7
  44. package/build/src/api/settings.js.map +1 -1
  45. package/build/src/api/updateDevelopmentSession.js +17 -23
  46. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  47. package/build/src/api/user/UserSettings.js +21 -39
  48. package/build/src/api/user/UserSettings.js.map +1 -1
  49. package/build/src/api/user/actions.js +21 -27
  50. package/build/src/api/user/actions.js.map +1 -1
  51. package/build/src/api/user/expoSsoLauncher.js +26 -30
  52. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  53. package/build/src/api/user/otp.js +29 -35
  54. package/build/src/api/user/otp.js.map +1 -1
  55. package/build/src/api/user/user.js +30 -44
  56. package/build/src/api/user/user.js.map +1 -1
  57. package/build/src/config/configAsync.js +23 -29
  58. package/build/src/config/configAsync.js.map +1 -1
  59. package/build/src/config/index.js +21 -25
  60. package/build/src/config/index.js.map +1 -1
  61. package/build/src/customize/customizeAsync.js +6 -8
  62. package/build/src/customize/customizeAsync.js.map +1 -1
  63. package/build/src/customize/generate.js +16 -20
  64. package/build/src/customize/generate.js.map +1 -1
  65. package/build/src/customize/index.js +12 -14
  66. package/build/src/customize/index.js.map +1 -1
  67. package/build/src/customize/resolveOptions.js +2 -4
  68. package/build/src/customize/resolveOptions.js.map +1 -1
  69. package/build/src/customize/templates.js +54 -58
  70. package/build/src/customize/templates.js.map +1 -1
  71. package/build/src/customize/typescript.js +7 -11
  72. package/build/src/customize/typescript.js.map +1 -1
  73. package/build/src/export/createMetadataJson.js +9 -11
  74. package/build/src/export/createMetadataJson.js.map +1 -1
  75. package/build/src/export/embed/exportEager.js +6 -8
  76. package/build/src/export/embed/exportEager.js.map +1 -1
  77. package/build/src/export/embed/exportEmbedAsync.js +61 -71
  78. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  79. package/build/src/export/embed/exportServer.js +55 -57
  80. package/build/src/export/embed/exportServer.js.map +1 -1
  81. package/build/src/export/embed/index.js +40 -44
  82. package/build/src/export/embed/index.js.map +1 -1
  83. package/build/src/export/embed/resolveOptions.js +36 -44
  84. package/build/src/export/embed/resolveOptions.js.map +1 -1
  85. package/build/src/export/embed/xcodeCompilerLogger.js +27 -39
  86. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  87. package/build/src/export/exportApp.js +63 -67
  88. package/build/src/export/exportApp.js.map +1 -1
  89. package/build/src/export/exportAssets.js +27 -35
  90. package/build/src/export/exportAssets.js.map +1 -1
  91. package/build/src/export/exportAsync.js +9 -13
  92. package/build/src/export/exportAsync.js.map +1 -1
  93. package/build/src/export/exportDomComponents.js +45 -53
  94. package/build/src/export/exportDomComponents.js.map +1 -1
  95. package/build/src/export/exportHermes.js +63 -85
  96. package/build/src/export/exportHermes.js.map +1 -1
  97. package/build/src/export/exportStaticAsync.js +62 -72
  98. package/build/src/export/exportStaticAsync.js.map +1 -1
  99. package/build/src/export/favicon.js +27 -33
  100. package/build/src/export/favicon.js.map +1 -1
  101. package/build/src/export/getPublicExpoManifest.js +5 -7
  102. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  103. package/build/src/export/getResolvedLocales.js +9 -11
  104. package/build/src/export/getResolvedLocales.js.map +1 -1
  105. package/build/src/export/html.js +6 -10
  106. package/build/src/export/html.js.map +1 -1
  107. package/build/src/export/index.js +28 -32
  108. package/build/src/export/index.js.map +1 -1
  109. package/build/src/export/metroAssetLocalPath.js +30 -36
  110. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  111. package/build/src/export/persistMetroAssets.js +34 -42
  112. package/build/src/export/persistMetroAssets.js.map +1 -1
  113. package/build/src/export/publicFolder.js +6 -10
  114. package/build/src/export/publicFolder.js.map +1 -1
  115. package/build/src/export/resolveOptions.js +24 -28
  116. package/build/src/export/resolveOptions.js.map +1 -1
  117. package/build/src/export/saveAssets.js +46 -50
  118. package/build/src/export/saveAssets.js.map +1 -1
  119. package/build/src/export/web/exportWebAsync.js +11 -13
  120. package/build/src/export/web/exportWebAsync.js.map +1 -1
  121. package/build/src/export/web/index.js +15 -19
  122. package/build/src/export/web/index.js.map +1 -1
  123. package/build/src/export/web/resolveOptions.js +3 -5
  124. package/build/src/export/web/resolveOptions.js.map +1 -1
  125. package/build/src/export/writeContents.js +2 -4
  126. package/build/src/export/writeContents.js.map +1 -1
  127. package/build/src/graphql/generated.js +274 -400
  128. package/build/src/graphql/generated.js.map +1 -1
  129. package/build/src/install/applyPlugins.js +8 -11
  130. package/build/src/install/applyPlugins.js.map +1 -1
  131. package/build/src/install/checkPackages.js +22 -26
  132. package/build/src/install/checkPackages.js.map +1 -1
  133. package/build/src/install/fixPackages.js +13 -17
  134. package/build/src/install/fixPackages.js.map +1 -1
  135. package/build/src/install/index.js +16 -18
  136. package/build/src/install/index.js.map +1 -1
  137. package/build/src/install/installAsync.js +26 -32
  138. package/build/src/install/installAsync.js.map +1 -1
  139. package/build/src/install/installExpoPackage.js +18 -22
  140. package/build/src/install/installExpoPackage.js.map +1 -1
  141. package/build/src/install/resolveOptions.js +19 -21
  142. package/build/src/install/resolveOptions.js.map +1 -1
  143. package/build/src/install/utils/autoAddConfigPlugins.js +14 -18
  144. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  145. package/build/src/install/utils/checkPackagesCompatibility.js +11 -13
  146. package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
  147. package/build/src/install/utils/parsePackageSpecifier.js +22 -0
  148. package/build/src/install/utils/parsePackageSpecifier.js.map +1 -0
  149. package/build/src/lint/ESlintPrerequisite.js +44 -50
  150. package/build/src/lint/ESlintPrerequisite.js.map +1 -1
  151. package/build/src/lint/index.js +8 -12
  152. package/build/src/lint/index.js.map +1 -1
  153. package/build/src/lint/lintAsync.js +8 -10
  154. package/build/src/lint/lintAsync.js.map +1 -1
  155. package/build/src/log.js +16 -36
  156. package/build/src/log.js.map +1 -1
  157. package/build/src/login/index.js +20 -24
  158. package/build/src/login/index.js.map +1 -1
  159. package/build/src/logout/index.js +7 -11
  160. package/build/src/logout/index.js.map +1 -1
  161. package/build/src/prebuild/clearNativeFolder.js +26 -38
  162. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  163. package/build/src/prebuild/configureProjectAsync.js +14 -18
  164. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  165. package/build/src/prebuild/copyTemplateFiles.js +13 -17
  166. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  167. package/build/src/prebuild/ensureConfigAsync.js +4 -6
  168. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  169. package/build/src/prebuild/index.js +32 -36
  170. package/build/src/prebuild/index.js.map +1 -1
  171. package/build/src/prebuild/prebuildAsync.js +25 -29
  172. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  173. package/build/src/prebuild/renameTemplateAppName.js +40 -46
  174. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  175. package/build/src/prebuild/resolveOptions.js +52 -66
  176. package/build/src/prebuild/resolveOptions.js.map +1 -1
  177. package/build/src/prebuild/resolveTemplate.js +32 -36
  178. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  179. package/build/src/prebuild/updateFromTemplate.js +13 -19
  180. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  181. package/build/src/prebuild/updatePackageJson.js +39 -53
  182. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  183. package/build/src/prebuild/validateTemplatePlatforms.js +8 -12
  184. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  185. package/build/src/register/index.js +7 -11
  186. package/build/src/register/index.js.map +1 -1
  187. package/build/src/register/registerAsync.js +3 -5
  188. package/build/src/register/registerAsync.js.map +1 -1
  189. package/build/src/run/android/index.js +32 -36
  190. package/build/src/run/android/index.js.map +1 -1
  191. package/build/src/run/android/resolveDevice.js +8 -10
  192. package/build/src/run/android/resolveDevice.js.map +1 -1
  193. package/build/src/run/android/resolveGradlePropsAsync.js +16 -18
  194. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  195. package/build/src/run/android/resolveInstallApkName.js +15 -17
  196. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  197. package/build/src/run/android/resolveLaunchProps.js +10 -12
  198. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  199. package/build/src/run/android/resolveOptions.js +2 -4
  200. package/build/src/run/android/resolveOptions.js.map +1 -1
  201. package/build/src/run/android/runAndroidAsync.js +21 -23
  202. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  203. package/build/src/run/ensureNativeProject.js +5 -7
  204. package/build/src/run/ensureNativeProject.js.map +1 -1
  205. package/build/src/run/hints.js +7 -13
  206. package/build/src/run/hints.js.map +1 -1
  207. package/build/src/run/index.js +23 -27
  208. package/build/src/run/index.js.map +1 -1
  209. package/build/src/run/ios/XcodeBuild.js +56 -74
  210. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  211. package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
  212. package/build/src/run/ios/appleDevice/AppleDevice.js +63 -69
  213. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  214. package/build/src/run/ios/appleDevice/ClientManager.js +26 -29
  215. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  216. package/build/src/run/ios/appleDevice/client/AFCClient.js +25 -28
  217. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  218. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +26 -29
  219. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  220. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -22
  221. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  222. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +29 -32
  223. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  224. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +24 -28
  225. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  226. package/build/src/run/ios/appleDevice/client/ServiceClient.js +4 -7
  227. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  228. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +27 -28
  229. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  230. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +17 -23
  231. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  232. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +132 -146
  233. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  234. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +21 -29
  235. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  236. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +21 -29
  237. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  238. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +22 -34
  239. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  240. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +17 -27
  241. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  242. package/build/src/run/ios/codeSigning/Security.js +39 -53
  243. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  244. package/build/src/run/ios/codeSigning/configureCodeSigning.js +9 -13
  245. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  246. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +19 -27
  247. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  248. package/build/src/run/ios/codeSigning/settings.js +5 -9
  249. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  250. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +12 -14
  251. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  252. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +21 -27
  253. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  254. package/build/src/run/ios/index.js +36 -40
  255. package/build/src/run/ios/index.js.map +1 -1
  256. package/build/src/run/ios/launchApp.js +17 -23
  257. package/build/src/run/ios/launchApp.js.map +1 -1
  258. package/build/src/run/ios/options/appleDestinations.js +36 -38
  259. package/build/src/run/ios/options/appleDestinations.js.map +1 -1
  260. package/build/src/run/ios/options/promptDevice.js +16 -20
  261. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  262. package/build/src/run/ios/options/resolveDevice.js +24 -30
  263. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  264. package/build/src/run/ios/options/resolveNativeScheme.js +23 -31
  265. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  266. package/build/src/run/ios/options/resolveOptions.js +5 -7
  267. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  268. package/build/src/run/ios/options/resolveXcodeProject.js +5 -7
  269. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  270. package/build/src/run/ios/runIosAsync.js +44 -48
  271. package/build/src/run/ios/runIosAsync.js.map +1 -1
  272. package/build/src/run/ios/validateExternalBinary.js +22 -24
  273. package/build/src/run/ios/validateExternalBinary.js.map +1 -1
  274. package/build/src/run/resolveBundlerProps.js +2 -4
  275. package/build/src/run/resolveBundlerProps.js.map +1 -1
  276. package/build/src/run/startBundler.js +12 -16
  277. package/build/src/run/startBundler.js.map +1 -1
  278. package/build/src/serve/index.js +16 -20
  279. package/build/src/serve/index.js.map +1 -1
  280. package/build/src/serve/serveAsync.js +32 -36
  281. package/build/src/serve/serveAsync.js.map +1 -1
  282. package/build/src/start/detectDevClient.js +9 -13
  283. package/build/src/start/detectDevClient.js.map +1 -1
  284. package/build/src/start/doctor/Prerequisite.js +7 -12
  285. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  286. package/build/src/start/doctor/SecurityBinPrerequisite.js +11 -13
  287. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  288. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +19 -23
  289. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  290. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +19 -23
  291. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  292. package/build/src/start/doctor/apple/XcodePrerequisite.js +45 -51
  293. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  294. package/build/src/start/doctor/apple/XcrunPrerequisite.js +16 -18
  295. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  296. package/build/src/start/doctor/dependencies/bundledNativeModules.js +19 -23
  297. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  298. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +25 -31
  299. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  300. package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -25
  301. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  302. package/build/src/start/doctor/dependencies/getVersionedPackages.js +32 -40
  303. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  304. package/build/src/start/doctor/dependencies/resolvePackages.js +26 -32
  305. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  306. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +31 -41
  307. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  308. package/build/src/start/doctor/ngrok/ExternalModule.js +29 -34
  309. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  310. package/build/src/start/doctor/ngrok/NgrokResolver.js +8 -12
  311. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  312. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +28 -32
  313. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  314. package/build/src/start/doctor/typescript/updateTSConfig.js +17 -23
  315. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  316. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +27 -33
  317. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  318. package/build/src/start/index.js +42 -46
  319. package/build/src/start/index.js.map +1 -1
  320. package/build/src/start/interface/KeyPressHandler.js +14 -18
  321. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  322. package/build/src/start/interface/commandsTable.js +80 -94
  323. package/build/src/start/interface/commandsTable.js.map +1 -1
  324. package/build/src/start/interface/interactiveActions.js +40 -44
  325. package/build/src/start/interface/interactiveActions.js.map +1 -1
  326. package/build/src/start/interface/startInterface.js +61 -65
  327. package/build/src/start/interface/startInterface.js.map +1 -1
  328. package/build/src/start/platforms/AppIdResolver.js +4 -6
  329. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  330. package/build/src/start/platforms/DeviceManager.js +6 -10
  331. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  332. package/build/src/start/platforms/ExpoGoInstaller.js +20 -25
  333. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  334. package/build/src/start/platforms/PlatformManager.js +15 -17
  335. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  336. package/build/src/start/platforms/android/ADBServer.js +35 -39
  337. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  338. package/build/src/start/platforms/android/AndroidAppIdResolver.js +16 -18
  339. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  340. package/build/src/start/platforms/android/AndroidDeviceManager.js +20 -24
  341. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  342. package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
  343. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  344. package/build/src/start/platforms/android/AndroidSdk.js +9 -11
  345. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  346. package/build/src/start/platforms/android/activateWindow.js +22 -26
  347. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  348. package/build/src/start/platforms/android/adb.js +83 -121
  349. package/build/src/start/platforms/android/adb.js.map +1 -1
  350. package/build/src/start/platforms/android/adbReverse.js +12 -20
  351. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  352. package/build/src/start/platforms/android/emulator.js +26 -36
  353. package/build/src/start/platforms/android/emulator.js.map +1 -1
  354. package/build/src/start/platforms/android/getDevices.js +5 -7
  355. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  356. package/build/src/start/platforms/android/gradle.js +28 -36
  357. package/build/src/start/platforms/android/gradle.js.map +1 -1
  358. package/build/src/start/platforms/android/promptAndroidDevice.js +15 -19
  359. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  360. package/build/src/start/platforms/ios/AppleAppIdResolver.js +19 -21
  361. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  362. package/build/src/start/platforms/ios/AppleDeviceManager.js +31 -37
  363. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  364. package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
  365. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  366. package/build/src/start/platforms/ios/assertSystemRequirements.js +7 -9
  367. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  368. package/build/src/start/platforms/ios/devicectl.js +73 -87
  369. package/build/src/start/platforms/ios/devicectl.js.map +1 -1
  370. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +18 -22
  371. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  372. package/build/src/start/platforms/ios/getBestSimulator.js +19 -29
  373. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  374. package/build/src/start/platforms/ios/promptAppleDevice.js +10 -14
  375. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  376. package/build/src/start/platforms/ios/simctl.js +74 -102
  377. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  378. package/build/src/start/platforms/ios/simctlLogging.js +52 -57
  379. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  380. package/build/src/start/platforms/ios/xcrun.js +18 -22
  381. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  382. package/build/src/start/project/devices.js +9 -19
  383. package/build/src/start/project/devices.js.map +1 -1
  384. package/build/src/start/project/dotExpo.js +11 -15
  385. package/build/src/start/project/dotExpo.js.map +1 -1
  386. package/build/src/start/project/settings.js +2 -4
  387. package/build/src/start/project/settings.js.map +1 -1
  388. package/build/src/start/resolveOptions.js +40 -48
  389. package/build/src/start/resolveOptions.js.map +1 -1
  390. package/build/src/start/server/AsyncNgrok.js +51 -55
  391. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  392. package/build/src/start/server/AsyncWsTunnel.js +36 -40
  393. package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
  394. package/build/src/start/server/BundlerDevServer.js +79 -81
  395. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  396. package/build/src/start/server/DevServerManager.js +38 -42
  397. package/build/src/start/server/DevServerManager.js.map +1 -1
  398. package/build/src/start/server/DevToolsPluginManager.js +14 -18
  399. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  400. package/build/src/start/server/DevelopmentSession.js +14 -18
  401. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  402. package/build/src/start/server/ReactDevToolsProxy.js +10 -16
  403. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  404. package/build/src/start/server/UrlCreator.js +33 -36
  405. package/build/src/start/server/UrlCreator.js.map +1 -1
  406. package/build/src/start/server/getStaticRenderFunctions.js +21 -29
  407. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  408. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +4 -6
  409. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
  410. package/build/src/start/server/metro/MetroBundlerDevServer.js +275 -269
  411. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  412. package/build/src/start/server/metro/MetroTerminalReporter.js +56 -63
  413. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  414. package/build/src/start/server/metro/TerminalReporter.js +33 -39
  415. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  416. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  417. package/build/src/start/server/metro/createExpoMetroResolver.js +40 -46
  418. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  419. package/build/src/start/server/metro/createJResolver.js +28 -32
  420. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  421. package/build/src/start/server/metro/createServerComponentsMiddleware.js +92 -96
  422. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  423. package/build/src/start/server/metro/createServerRouteMiddleware.js +30 -32
  424. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  425. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +11 -13
  426. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
  427. package/build/src/start/server/metro/debugging/MessageHandler.js +1 -3
  428. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  429. package/build/src/start/server/metro/debugging/attachAtlas.js +22 -26
  430. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
  431. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +17 -19
  432. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  433. package/build/src/start/server/metro/debugging/createHandlersFactory.js +31 -25
  434. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  435. package/build/src/start/server/metro/debugging/getDebuggerType.js +4 -6
  436. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  437. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +8 -14
  438. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  439. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +5 -7
  440. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  441. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +6 -8
  442. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  443. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +5 -7
  444. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  445. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +12 -14
  446. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
  447. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +10 -14
  448. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  449. package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -6
  450. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  451. package/build/src/start/server/metro/debugging/types.js.map +1 -1
  452. package/build/src/start/server/metro/dev-server/createEventSocket.js +16 -18
  453. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
  454. package/build/src/start/server/metro/dev-server/createMessageSocket.js +21 -23
  455. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
  456. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +21 -23
  457. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
  458. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +2 -4
  459. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
  460. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +2 -4
  461. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
  462. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +4 -8
  463. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
  464. package/build/src/start/server/metro/externals.js +25 -33
  465. package/build/src/start/server/metro/externals.js.map +1 -1
  466. package/build/src/start/server/metro/fetchRouterManifest.js +12 -16
  467. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  468. package/build/src/start/server/metro/formatFileCandidates.js +9 -11
  469. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  470. package/build/src/start/server/metro/getCssModulesFromBundler.js +18 -22
  471. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  472. package/build/src/start/server/metro/instantiateMetro.js +79 -85
  473. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  474. package/build/src/start/server/metro/log-box/LogBoxLog.js +36 -40
  475. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
  476. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +14 -20
  477. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
  478. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +6 -10
  479. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
  480. package/build/src/start/server/metro/metroErrorInterface.js +78 -88
  481. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  482. package/build/src/start/server/metro/metroErrors.js +4 -8
  483. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  484. package/build/src/start/server/metro/metroPrivateServer.js +7 -9
  485. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
  486. package/build/src/start/server/metro/metroVirtualModules.js +8 -10
  487. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  488. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +22 -24
  489. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  490. package/build/src/start/server/metro/router.js +32 -48
  491. package/build/src/start/server/metro/router.js.map +1 -1
  492. package/build/src/start/server/metro/runServer-fork.js +22 -24
  493. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  494. package/build/src/start/server/metro/serializeHtml.js +22 -24
  495. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  496. package/build/src/start/server/metro/symbolicate.js.map +1 -1
  497. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +29 -35
  498. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  499. package/build/src/start/server/metro/withMetroMultiPlatform.js +139 -149
  500. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  501. package/build/src/start/server/metro/withMetroResolvers.js +39 -49
  502. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  503. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +6 -8
  504. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  505. package/build/src/start/server/middleware/CorsMiddleware.js +15 -17
  506. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  507. package/build/src/start/server/middleware/CreateFileMiddleware.js +90 -52
  508. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  509. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +19 -22
  510. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  511. package/build/src/start/server/middleware/DomComponentsMiddleware.js +27 -33
  512. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  513. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +60 -64
  514. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  515. package/build/src/start/server/middleware/ExpoMiddleware.js +9 -15
  516. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  517. package/build/src/start/server/middleware/FaviconMiddleware.js +14 -15
  518. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  519. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +2 -4
  520. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  521. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +31 -34
  522. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  523. package/build/src/start/server/middleware/ManifestMiddleware.js +56 -64
  524. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  525. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +19 -23
  526. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  527. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +19 -20
  528. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  529. package/build/src/start/server/middleware/ServeStaticMiddleware.js +9 -11
  530. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  531. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +11 -17
  532. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
  533. package/build/src/start/server/middleware/inspector/CdpClient.js +10 -12
  534. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
  535. package/build/src/start/server/middleware/inspector/JsInspector.js +27 -35
  536. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  537. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +19 -21
  538. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  539. package/build/src/start/server/middleware/inspector/middlwareMutations.js +2 -6
  540. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  541. package/build/src/start/server/middleware/metroOptions.js +96 -120
  542. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  543. package/build/src/start/server/middleware/mutations.js +3 -7
  544. package/build/src/start/server/middleware/mutations.js.map +1 -1
  545. package/build/src/start/server/middleware/resolveAssets.js +18 -26
  546. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  547. package/build/src/start/server/middleware/resolvePlatform.js +15 -23
  548. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  549. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +9 -11
  550. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
  551. package/build/src/start/server/middleware/server.types.js.map +1 -1
  552. package/build/src/start/server/openPlatforms.js +8 -10
  553. package/build/src/start/server/openPlatforms.js.map +1 -1
  554. package/build/src/start/server/platformBundlers.js +11 -13
  555. package/build/src/start/server/platformBundlers.js.map +1 -1
  556. package/build/src/start/server/serverLogLikeMetro.js +50 -58
  557. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  558. package/build/src/start/server/type-generation/expo-env.js +7 -11
  559. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  560. package/build/src/start/server/type-generation/routes.js +54 -76
  561. package/build/src/start/server/type-generation/routes.js.map +1 -1
  562. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +19 -21
  563. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  564. package/build/src/start/server/type-generation/tsconfig.js +28 -36
  565. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  566. package/build/src/start/server/webTemplate.js +24 -28
  567. package/build/src/start/server/webTemplate.js.map +1 -1
  568. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +46 -52
  569. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  570. package/build/src/start/server/webpack/compile.js +11 -15
  571. package/build/src/start/server/webpack/compile.js.map +1 -1
  572. package/build/src/start/server/webpack/formatWebpackMessages.js +26 -28
  573. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  574. package/build/src/start/server/webpack/resolveFromProject.js +12 -18
  575. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  576. package/build/src/start/server/webpack/tls.js +12 -18
  577. package/build/src/start/server/webpack/tls.js.map +1 -1
  578. package/build/src/start/startAsync.js +27 -31
  579. package/build/src/start/startAsync.js.map +1 -1
  580. package/build/src/utils/FileNotifier.js +17 -20
  581. package/build/src/utils/FileNotifier.js.map +1 -1
  582. package/build/src/utils/ansi.js +5 -7
  583. package/build/src/utils/ansi.js.map +1 -1
  584. package/build/src/utils/args.js +14 -24
  585. package/build/src/utils/args.js.map +1 -1
  586. package/build/src/utils/array.js +6 -18
  587. package/build/src/utils/array.js.map +1 -1
  588. package/build/src/utils/cocoapods.js +46 -54
  589. package/build/src/utils/cocoapods.js.map +1 -1
  590. package/build/src/utils/codesigning.js +68 -78
  591. package/build/src/utils/codesigning.js.map +1 -1
  592. package/build/src/utils/createFileTransform.js +12 -16
  593. package/build/src/utils/createFileTransform.js.map +1 -1
  594. package/build/src/utils/createTempPath.js +13 -17
  595. package/build/src/utils/createTempPath.js.map +1 -1
  596. package/build/src/utils/delay.js +6 -12
  597. package/build/src/utils/delay.js.map +1 -1
  598. package/build/src/utils/dir.js +28 -46
  599. package/build/src/utils/dir.js.map +1 -1
  600. package/build/src/utils/downloadAppAsync.js +8 -10
  601. package/build/src/utils/downloadAppAsync.js.map +1 -1
  602. package/build/src/utils/downloadExpoGoAsync.js +21 -25
  603. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  604. package/build/src/utils/editor.js +35 -41
  605. package/build/src/utils/editor.js.map +1 -1
  606. package/build/src/utils/env.js +59 -63
  607. package/build/src/utils/env.js.map +1 -1
  608. package/build/src/utils/errors.js +30 -37
  609. package/build/src/utils/errors.js.map +1 -1
  610. package/build/src/utils/exit.js +31 -35
  611. package/build/src/utils/exit.js.map +1 -1
  612. package/build/src/utils/expoUpdatesCli.js +22 -32
  613. package/build/src/utils/expoUpdatesCli.js.map +1 -1
  614. package/build/src/utils/fetch.js +4 -8
  615. package/build/src/utils/fetch.js.map +1 -1
  616. package/build/src/utils/filePath.js +6 -10
  617. package/build/src/utils/filePath.js.map +1 -1
  618. package/build/src/utils/findUp.js +9 -13
  619. package/build/src/utils/findUp.js.map +1 -1
  620. package/build/src/utils/fn.js +2 -6
  621. package/build/src/utils/fn.js.map +1 -1
  622. package/build/src/utils/getOrPromptApplicationId.js +26 -32
  623. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  624. package/build/src/utils/getRunningProcess.js +21 -29
  625. package/build/src/utils/getRunningProcess.js.map +1 -1
  626. package/build/src/utils/git.js +20 -26
  627. package/build/src/utils/git.js.map +1 -1
  628. package/build/src/utils/glob.js +4 -8
  629. package/build/src/utils/glob.js.map +1 -1
  630. package/build/src/utils/interactive.js +1 -3
  631. package/build/src/utils/interactive.js.map +1 -1
  632. package/build/src/utils/ip.js +19 -21
  633. package/build/src/utils/ip.js.map +1 -1
  634. package/build/src/utils/isModuleSymlinked.js +9 -11
  635. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  636. package/build/src/utils/jsonSchemaDeref.js +18 -20
  637. package/build/src/utils/jsonSchemaDeref.js.map +1 -1
  638. package/build/src/utils/link.js +13 -17
  639. package/build/src/utils/link.js.map +1 -1
  640. package/build/src/utils/mergeGitIgnorePaths.js +28 -46
  641. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  642. package/build/src/utils/modifyConfigAsync.js +10 -16
  643. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  644. package/build/src/utils/modifyConfigPlugins.js +6 -10
  645. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  646. package/build/src/utils/nodeEnv.js +6 -12
  647. package/build/src/utils/nodeEnv.js.map +1 -1
  648. package/build/src/utils/nodeModules.js +8 -10
  649. package/build/src/utils/nodeModules.js.map +1 -1
  650. package/build/src/utils/npm.js +36 -50
  651. package/build/src/utils/npm.js.map +1 -1
  652. package/build/src/utils/obj.js +5 -11
  653. package/build/src/utils/obj.js.map +1 -1
  654. package/build/src/utils/open.js +8 -10
  655. package/build/src/utils/open.js.map +1 -1
  656. package/build/src/utils/ora.js +7 -13
  657. package/build/src/utils/ora.js.map +1 -1
  658. package/build/src/utils/plist.js +15 -21
  659. package/build/src/utils/plist.js.map +1 -1
  660. package/build/src/utils/port.js +33 -43
  661. package/build/src/utils/port.js.map +1 -1
  662. package/build/src/utils/profile.js +7 -11
  663. package/build/src/utils/profile.js.map +1 -1
  664. package/build/src/utils/progress.js +5 -11
  665. package/build/src/utils/progress.js.map +1 -1
  666. package/build/src/utils/prompts.js +29 -47
  667. package/build/src/utils/prompts.js.map +1 -1
  668. package/build/src/utils/resolveArgs.js +24 -36
  669. package/build/src/utils/resolveArgs.js.map +1 -1
  670. package/build/src/utils/scheme.js +32 -40
  671. package/build/src/utils/scheme.js.map +1 -1
  672. package/build/src/utils/stream.js +3 -5
  673. package/build/src/utils/stream.js.map +1 -1
  674. package/build/src/utils/strings.js +4 -6
  675. package/build/src/utils/strings.js.map +1 -1
  676. package/build/src/utils/tar.js +15 -19
  677. package/build/src/utils/tar.js.map +1 -1
  678. package/build/src/utils/telemetry/Telemetry.js +27 -29
  679. package/build/src/utils/telemetry/Telemetry.js.map +1 -1
  680. package/build/src/utils/telemetry/clients/FetchClient.js +13 -15
  681. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
  682. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +22 -26
  683. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
  684. package/build/src/utils/telemetry/clients/RudderClient.js +8 -10
  685. package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
  686. package/build/src/utils/telemetry/clients/RudderDetachedClient.js +22 -26
  687. package/build/src/utils/telemetry/clients/RudderDetachedClient.js.map +1 -1
  688. package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
  689. package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
  690. package/build/src/utils/telemetry/clients/flushRudderDetached.js +10 -10
  691. package/build/src/utils/telemetry/clients/flushRudderDetached.js.map +1 -1
  692. package/build/src/utils/telemetry/events.js +2 -4
  693. package/build/src/utils/telemetry/events.js.map +1 -1
  694. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  695. package/build/src/utils/telemetry/index.js +29 -25
  696. package/build/src/utils/telemetry/index.js.map +1 -1
  697. package/build/src/utils/telemetry/types.js.map +1 -1
  698. package/build/src/utils/telemetry/utils/constants.js +4 -8
  699. package/build/src/utils/telemetry/utils/constants.js.map +1 -1
  700. package/build/src/utils/telemetry/utils/context.js +14 -18
  701. package/build/src/utils/telemetry/utils/context.js.map +1 -1
  702. package/build/src/utils/template.js +4 -6
  703. package/build/src/utils/template.js.map +1 -1
  704. package/build/src/utils/terminal.js +2 -4
  705. package/build/src/utils/terminal.js.map +1 -1
  706. package/build/src/utils/tsconfig/evaluateTsConfig.js +17 -21
  707. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  708. package/build/src/utils/tsconfig/loadTsConfigPaths.js +14 -18
  709. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  710. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +5 -7
  711. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  712. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -14
  713. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  714. package/build/src/utils/url.js +13 -23
  715. package/build/src/utils/url.js.map +1 -1
  716. package/build/src/utils/validateApplicationId.js +86 -108
  717. package/build/src/utils/validateApplicationId.js.map +1 -1
  718. package/build/src/utils/variadic.js +16 -22
  719. package/build/src/utils/variadic.js.map +1 -1
  720. package/build/src/whoami/index.js +7 -11
  721. package/build/src/whoami/index.js.map +1 -1
  722. package/build/src/whoami/whoamiAsync.js +7 -11
  723. package/build/src/whoami/whoamiAsync.js.map +1 -1
  724. package/package.json +3 -3
@@ -9,18 +9,12 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- closeDevelopmentSessionAsync: function() {
13
- return closeDevelopmentSessionAsync;
14
- },
15
- createSessionInfo: function() {
16
- return createSessionInfo;
17
- },
18
- updateDevelopmentSessionAsync: function() {
19
- return updateDevelopmentSessionAsync;
20
- }
12
+ createSessionInfo: ()=>createSessionInfo,
13
+ updateDevelopmentSessionAsync: ()=>updateDevelopmentSessionAsync,
14
+ closeDevelopmentSessionAsync: ()=>closeDevelopmentSessionAsync
21
15
  });
22
16
  function _os() {
23
- const data = /*#__PURE__*/ _interop_require_default(require("os"));
17
+ const data = /*#__PURE__*/ _interopRequireDefault(require("os"));
24
18
  _os = function() {
25
19
  return data;
26
20
  };
@@ -35,12 +29,12 @@ function _url() {
35
29
  }
36
30
  const _client = require("./rest/client");
37
31
  const _errors = require("../utils/errors");
38
- function _interop_require_default(obj) {
32
+ function _interopRequireDefault(obj) {
39
33
  return obj && obj.__esModule ? obj : {
40
34
  default: obj
41
35
  };
42
36
  }
43
- function createSessionInfo({ exp, runtime, url }) {
37
+ function createSessionInfo({ exp , runtime , url }) {
44
38
  return {
45
39
  session: {
46
40
  description: `${exp.name} on ${_os().default.hostname()}`,
@@ -54,18 +48,18 @@ function createSessionInfo({ exp, runtime, url }) {
54
48
  primaryColor: exp.primaryColor
55
49
  },
56
50
  url,
57
- source: 'desktop'
51
+ source: "desktop"
58
52
  }
59
53
  };
60
54
  }
61
- async function updateDevelopmentSessionAsync({ deviceIds, exp, runtime, url }) {
55
+ async function updateDevelopmentSessionAsync({ deviceIds , exp , runtime , url }) {
62
56
  const searchParams = new (_url()).URLSearchParams();
63
57
  deviceIds.forEach((id)=>{
64
- searchParams.append('deviceId', id);
58
+ searchParams.append("deviceId", id);
65
59
  });
66
- const results = await (0, _client.fetchAsync)('development-sessions/notify-alive', {
60
+ const results = await (0, _client.fetchAsync)("development-sessions/notify-alive", {
67
61
  searchParams,
68
- method: 'POST',
62
+ method: "POST",
69
63
  body: JSON.stringify({
70
64
  data: createSessionInfo({
71
65
  exp,
@@ -75,17 +69,17 @@ async function updateDevelopmentSessionAsync({ deviceIds, exp, runtime, url }) {
75
69
  })
76
70
  });
77
71
  if (!results.ok) {
78
- throw new _errors.CommandError('API', `Unexpected response when updating the development session on Expo servers: ${results.statusText}.`);
72
+ throw new _errors.CommandError("API", `Unexpected response when updating the development session on Expo servers: ${results.statusText}.`);
79
73
  }
80
74
  }
81
- async function closeDevelopmentSessionAsync({ deviceIds, url }) {
75
+ async function closeDevelopmentSessionAsync({ deviceIds , url }) {
82
76
  const searchParams = new (_url()).URLSearchParams();
83
77
  deviceIds.forEach((id)=>{
84
- searchParams.append('deviceId', id);
78
+ searchParams.append("deviceId", id);
85
79
  });
86
- const results = await (0, _client.fetchAsync)('development-sessions/notify-close', {
80
+ const results = await (0, _client.fetchAsync)("development-sessions/notify-close", {
87
81
  searchParams,
88
- method: 'POST',
82
+ method: "POST",
89
83
  body: JSON.stringify({
90
84
  session: {
91
85
  url
@@ -93,7 +87,7 @@ async function closeDevelopmentSessionAsync({ deviceIds, url }) {
93
87
  })
94
88
  });
95
89
  if (!results.ok) {
96
- throw new _errors.CommandError('API', `Unexpected response when closing the development session on Expo servers: ${results.statusText}.`);
90
+ throw new _errors.CommandError("API", `Unexpected response when closing the development session on Expo servers: ${results.statusText}.`);
97
91
  }
98
92
  }
99
93
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/updateDevelopmentSession.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport os from 'os';\nimport { URLSearchParams } from 'url';\n\nimport { fetchAsync } from './rest/client';\nimport { CommandError } from '../utils/errors';\n\n/** Create the expected session info. */\nexport function createSessionInfo({\n exp,\n runtime,\n url,\n}: {\n exp: Pick<ExpoConfig, 'name' | 'description' | 'slug' | 'primaryColor'>;\n runtime: 'native' | 'web';\n url: string;\n}) {\n return {\n session: {\n description: `${exp.name} on ${os.hostname()}`,\n hostname: os.hostname(),\n platform: runtime,\n config: {\n // TODO: if icons are specified, upload a url for them too so people can distinguish\n description: exp.description,\n name: exp.name,\n slug: exp.slug,\n primaryColor: exp.primaryColor,\n },\n url,\n source: 'desktop',\n },\n };\n}\n\n/** Send a request to Expo API to keep the 'development session' alive for the provided devices. */\nexport async function updateDevelopmentSessionAsync({\n deviceIds,\n exp,\n runtime,\n url,\n}: {\n deviceIds: string[];\n exp: Pick<ExpoConfig, 'name' | 'description' | 'slug' | 'primaryColor'>;\n runtime: 'native' | 'web';\n url: string;\n}) {\n const searchParams = new URLSearchParams();\n deviceIds.forEach((id) => {\n searchParams.append('deviceId', id);\n });\n\n const results = await fetchAsync('development-sessions/notify-alive', {\n searchParams,\n method: 'POST',\n body: JSON.stringify({\n data: createSessionInfo({ exp, runtime, url }),\n }),\n });\n\n if (!results.ok) {\n throw new CommandError(\n 'API',\n `Unexpected response when updating the development session on Expo servers: ${results.statusText}.`\n );\n }\n}\n\n/** Send a request to Expo API to close the 'development session' for the provided devices. */\nexport async function closeDevelopmentSessionAsync({\n deviceIds,\n url,\n}: {\n deviceIds: string[];\n url: string;\n}) {\n const searchParams = new URLSearchParams();\n deviceIds.forEach((id) => {\n searchParams.append('deviceId', id);\n });\n\n const results = await fetchAsync('development-sessions/notify-close', {\n searchParams,\n method: 'POST',\n body: JSON.stringify({\n session: { url },\n }),\n });\n\n if (!results.ok) {\n throw new CommandError(\n 'API',\n `Unexpected response when closing the development session on Expo servers: ${results.statusText}.`\n );\n }\n}\n"],"names":["closeDevelopmentSessionAsync","createSessionInfo","updateDevelopmentSessionAsync","exp","runtime","url","session","description","name","os","hostname","platform","config","slug","primaryColor","source","deviceIds","searchParams","URLSearchParams","forEach","id","append","results","fetchAsync","method","body","JSON","stringify","data","ok","CommandError","statusText"],"mappings":";;;;;;;;;;;IAqEsBA,4BAA4B;eAA5BA;;IA7DNC,iBAAiB;eAAjBA;;IA4BMC,6BAA6B;eAA7BA;;;;gEAnCP;;;;;;;yBACiB;;;;;;wBAEL;wBACE;;;;;;AAGtB,SAASD,kBAAkB,EAChCE,GAAG,EACHC,OAAO,EACPC,GAAG,EAKJ;IACC,OAAO;QACLC,SAAS;YACPC,aAAa,GAAGJ,IAAIK,IAAI,CAAC,IAAI,EAAEC,aAAE,CAACC,QAAQ,IAAI;YAC9CA,UAAUD,aAAE,CAACC,QAAQ;YACrBC,UAAUP;YACVQ,QAAQ;gBACN,oFAAoF;gBACpFL,aAAaJ,IAAII,WAAW;gBAC5BC,MAAML,IAAIK,IAAI;gBACdK,MAAMV,IAAIU,IAAI;gBACdC,cAAcX,IAAIW,YAAY;YAChC;YACAT;YACAU,QAAQ;QACV;IACF;AACF;AAGO,eAAeb,8BAA8B,EAClDc,SAAS,EACTb,GAAG,EACHC,OAAO,EACPC,GAAG,EAMJ;IACC,MAAMY,eAAe,IAAIC,CAAAA,MAAc,iBAAC;IACxCF,UAAUG,OAAO,CAAC,CAACC;QACjBH,aAAaI,MAAM,CAAC,YAAYD;IAClC;IAEA,MAAME,UAAU,MAAMC,IAAAA,kBAAU,EAAC,qCAAqC;QACpEN;QACAO,QAAQ;QACRC,MAAMC,KAAKC,SAAS,CAAC;YACnBC,MAAM3B,kBAAkB;gBAAEE;gBAAKC;gBAASC;YAAI;QAC9C;IACF;IAEA,IAAI,CAACiB,QAAQO,EAAE,EAAE;QACf,MAAM,IAAIC,oBAAY,CACpB,OACA,CAAC,2EAA2E,EAAER,QAAQS,UAAU,CAAC,CAAC,CAAC;IAEvG;AACF;AAGO,eAAe/B,6BAA6B,EACjDgB,SAAS,EACTX,GAAG,EAIJ;IACC,MAAMY,eAAe,IAAIC,CAAAA,MAAc,iBAAC;IACxCF,UAAUG,OAAO,CAAC,CAACC;QACjBH,aAAaI,MAAM,CAAC,YAAYD;IAClC;IAEA,MAAME,UAAU,MAAMC,IAAAA,kBAAU,EAAC,qCAAqC;QACpEN;QACAO,QAAQ;QACRC,MAAMC,KAAKC,SAAS,CAAC;YACnBrB,SAAS;gBAAED;YAAI;QACjB;IACF;IAEA,IAAI,CAACiB,QAAQO,EAAE,EAAE;QACf,MAAM,IAAIC,oBAAY,CACpB,OACA,CAAC,0EAA0E,EAAER,QAAQS,UAAU,CAAC,CAAC,CAAC;IAEtG;AACF"}
1
+ {"version":3,"sources":["../../../src/api/updateDevelopmentSession.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport os from 'os';\nimport { URLSearchParams } from 'url';\n\nimport { fetchAsync } from './rest/client';\nimport { CommandError } from '../utils/errors';\n\n/** Create the expected session info. */\nexport function createSessionInfo({\n exp,\n runtime,\n url,\n}: {\n exp: Pick<ExpoConfig, 'name' | 'description' | 'slug' | 'primaryColor'>;\n runtime: 'native' | 'web';\n url: string;\n}) {\n return {\n session: {\n description: `${exp.name} on ${os.hostname()}`,\n hostname: os.hostname(),\n platform: runtime,\n config: {\n // TODO: if icons are specified, upload a url for them too so people can distinguish\n description: exp.description,\n name: exp.name,\n slug: exp.slug,\n primaryColor: exp.primaryColor,\n },\n url,\n source: 'desktop',\n },\n };\n}\n\n/** Send a request to Expo API to keep the 'development session' alive for the provided devices. */\nexport async function updateDevelopmentSessionAsync({\n deviceIds,\n exp,\n runtime,\n url,\n}: {\n deviceIds: string[];\n exp: Pick<ExpoConfig, 'name' | 'description' | 'slug' | 'primaryColor'>;\n runtime: 'native' | 'web';\n url: string;\n}) {\n const searchParams = new URLSearchParams();\n deviceIds.forEach((id) => {\n searchParams.append('deviceId', id);\n });\n\n const results = await fetchAsync('development-sessions/notify-alive', {\n searchParams,\n method: 'POST',\n body: JSON.stringify({\n data: createSessionInfo({ exp, runtime, url }),\n }),\n });\n\n if (!results.ok) {\n throw new CommandError(\n 'API',\n `Unexpected response when updating the development session on Expo servers: ${results.statusText}.`\n );\n }\n}\n\n/** Send a request to Expo API to close the 'development session' for the provided devices. */\nexport async function closeDevelopmentSessionAsync({\n deviceIds,\n url,\n}: {\n deviceIds: string[];\n url: string;\n}) {\n const searchParams = new URLSearchParams();\n deviceIds.forEach((id) => {\n searchParams.append('deviceId', id);\n });\n\n const results = await fetchAsync('development-sessions/notify-close', {\n searchParams,\n method: 'POST',\n body: JSON.stringify({\n session: { url },\n }),\n });\n\n if (!results.ok) {\n throw new CommandError(\n 'API',\n `Unexpected response when closing the development session on Expo servers: ${results.statusText}.`\n );\n }\n}\n"],"names":["createSessionInfo","updateDevelopmentSessionAsync","closeDevelopmentSessionAsync","exp","runtime","url","session","description","name","os","hostname","platform","config","slug","primaryColor","source","deviceIds","searchParams","URLSearchParams","forEach","id","append","results","fetchAsync","method","body","JSON","stringify","data","ok","CommandError","statusText"],"mappings":"AAAA;;;;;;;;;;;IAQgBA,iBAAiB,MAAjBA,iBAAiB;IA4BXC,6BAA6B,MAA7BA,6BAA6B;IAiC7BC,4BAA4B,MAA5BA,4BAA4B;;;8DApEnC,IAAI;;;;;;;yBACa,KAAK;;;;;;wBAEV,eAAe;wBACb,iBAAiB;;;;;;AAGvC,SAASF,iBAAiB,CAAC,EAChCG,GAAG,CAAA,EACHC,OAAO,CAAA,EACPC,GAAG,CAAA,EAKJ,EAAE;IACD,OAAO;QACLC,OAAO,EAAE;YACPC,WAAW,EAAE,CAAC,EAAEJ,GAAG,CAACK,IAAI,CAAC,IAAI,EAAEC,GAAE,EAAA,QAAA,CAACC,QAAQ,EAAE,CAAC,CAAC;YAC9CA,QAAQ,EAAED,GAAE,EAAA,QAAA,CAACC,QAAQ,EAAE;YACvBC,QAAQ,EAAEP,OAAO;YACjBQ,MAAM,EAAE;gBACN,oFAAoF;gBACpFL,WAAW,EAAEJ,GAAG,CAACI,WAAW;gBAC5BC,IAAI,EAAEL,GAAG,CAACK,IAAI;gBACdK,IAAI,EAAEV,GAAG,CAACU,IAAI;gBACdC,YAAY,EAAEX,GAAG,CAACW,YAAY;aAC/B;YACDT,GAAG;YACHU,MAAM,EAAE,SAAS;SAClB;KACF,CAAC;AACJ,CAAC;AAGM,eAAed,6BAA6B,CAAC,EAClDe,SAAS,CAAA,EACTb,GAAG,CAAA,EACHC,OAAO,CAAA,EACPC,GAAG,CAAA,EAMJ,EAAE;IACD,MAAMY,YAAY,GAAG,IAAIC,CAAAA,IAAe,EAAA,CAAA,gBAAA,EAAE,AAAC;IAC3CF,SAAS,CAACG,OAAO,CAAC,CAACC,EAAE,GAAK;QACxBH,YAAY,CAACI,MAAM,CAAC,UAAU,EAAED,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,MAAME,OAAO,GAAG,MAAMC,IAAAA,OAAU,WAAA,EAAC,mCAAmC,EAAE;QACpEN,YAAY;QACZO,MAAM,EAAE,MAAM;QACdC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;YACnBC,IAAI,EAAE5B,iBAAiB,CAAC;gBAAEG,GAAG;gBAAEC,OAAO;gBAAEC,GAAG;aAAE,CAAC;SAC/C,CAAC;KACH,CAAC,AAAC;IAEH,IAAI,CAACiB,OAAO,CAACO,EAAE,EAAE;QACf,MAAM,IAAIC,OAAY,aAAA,CACpB,KAAK,EACL,CAAC,2EAA2E,EAAER,OAAO,CAACS,UAAU,CAAC,CAAC,CAAC,CACpG,CAAC;IACJ,CAAC;AACH,CAAC;AAGM,eAAe7B,4BAA4B,CAAC,EACjDc,SAAS,CAAA,EACTX,GAAG,CAAA,EAIJ,EAAE;IACD,MAAMY,YAAY,GAAG,IAAIC,CAAAA,IAAe,EAAA,CAAA,gBAAA,EAAE,AAAC;IAC3CF,SAAS,CAACG,OAAO,CAAC,CAACC,EAAE,GAAK;QACxBH,YAAY,CAACI,MAAM,CAAC,UAAU,EAAED,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,MAAME,OAAO,GAAG,MAAMC,IAAAA,OAAU,WAAA,EAAC,mCAAmC,EAAE;QACpEN,YAAY;QACZO,MAAM,EAAE,MAAM;QACdC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;YACnBrB,OAAO,EAAE;gBAAED,GAAG;aAAE;SACjB,CAAC;KACH,CAAC,AAAC;IAEH,IAAI,CAACiB,OAAO,CAACO,EAAE,EAAE;QACf,MAAM,IAAIC,OAAY,aAAA,CACpB,KAAK,EACL,CAAC,0EAA0E,EAAER,OAAO,CAACS,UAAU,CAAC,CAAC,CAAC,CACnG,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -9,33 +9,15 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- getAccessToken: function() {
13
- return getAccessToken;
14
- },
15
- getAnonymousId: function() {
16
- return getAnonymousId;
17
- },
18
- getAnonymousIdAsync: function() {
19
- return getAnonymousIdAsync;
20
- },
21
- getSession: function() {
22
- return getSession;
23
- },
24
- getSettings: function() {
25
- return getSettings;
26
- },
27
- getSettingsDirectory: function() {
28
- return getSettingsDirectory;
29
- },
30
- getSettingsFilePath: function() {
31
- return getSettingsFilePath;
32
- },
33
- hasCredentials: function() {
34
- return hasCredentials;
35
- },
36
- setSessionAsync: function() {
37
- return setSessionAsync;
38
- }
12
+ getSettingsDirectory: ()=>getSettingsDirectory,
13
+ getSettingsFilePath: ()=>getSettingsFilePath,
14
+ getSettings: ()=>getSettings,
15
+ getAccessToken: ()=>getAccessToken,
16
+ getSession: ()=>getSession,
17
+ setSessionAsync: ()=>setSessionAsync,
18
+ hasCredentials: ()=>hasCredentials,
19
+ getAnonymousIdAsync: ()=>getAnonymousIdAsync,
20
+ getAnonymousId: ()=>getAnonymousId
39
21
  });
40
22
  function _getUserState() {
41
23
  const data = require("@expo/config/build/getUserState");
@@ -44,21 +26,21 @@ function _getUserState() {
44
26
  };
45
27
  return data;
46
28
  }
47
- function _jsonfile() {
48
- const data = /*#__PURE__*/ _interop_require_default(require("@expo/json-file"));
49
- _jsonfile = function() {
29
+ function _jsonFile() {
30
+ const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/json-file"));
31
+ _jsonFile = function() {
50
32
  return data;
51
33
  };
52
34
  return data;
53
35
  }
54
36
  function _crypto() {
55
- const data = /*#__PURE__*/ _interop_require_default(require("crypto"));
37
+ const data = /*#__PURE__*/ _interopRequireDefault(require("crypto"));
56
38
  _crypto = function() {
57
39
  return data;
58
40
  };
59
41
  return data;
60
42
  }
61
- function _interop_require_default(obj) {
43
+ function _interopRequireDefault(obj) {
62
44
  return obj && obj.__esModule ? obj : {
63
45
  default: obj
64
46
  };
@@ -70,7 +52,7 @@ function getSettingsFilePath() {
70
52
  return (0, _getUserState().getUserStatePath)();
71
53
  }
72
54
  function getSettings() {
73
- return new (_jsonfile()).default(getSettingsFilePath(), {
55
+ return new (_jsonFile()).default(getSettingsFilePath(), {
74
56
  ensureDir: true,
75
57
  jsonParseErrorDefault: {},
76
58
  cantReadFileDefault: {}
@@ -80,10 +62,10 @@ function getAccessToken() {
80
62
  return process.env.EXPO_TOKEN ?? null;
81
63
  }
82
64
  function getSession() {
83
- return getSettings().get('auth', null);
65
+ return getSettings().get("auth", null);
84
66
  }
85
67
  async function setSessionAsync(sessionData) {
86
- await getSettings().setAsync('auth', sessionData, {
68
+ await getSettings().setAsync("auth", sessionData, {
87
69
  default: {},
88
70
  ensureDir: true
89
71
  });
@@ -93,19 +75,19 @@ function hasCredentials() {
93
75
  }
94
76
  async function getAnonymousIdAsync() {
95
77
  const settings = getSettings();
96
- let id = await settings.getAsync('uuid', null);
78
+ let id = await settings.getAsync("uuid", null);
97
79
  if (!id) {
98
80
  id = _crypto().default.randomUUID();
99
- await settings.setAsync('uuid', id);
81
+ await settings.setAsync("uuid", id);
100
82
  }
101
83
  return id;
102
84
  }
103
85
  function getAnonymousId() {
104
86
  const settings = getSettings();
105
- let id = settings.get('uuid', null);
87
+ let id = settings.get("uuid", null);
106
88
  if (!id) {
107
89
  id = _crypto().default.randomUUID();
108
- settings.set('uuid', id);
90
+ settings.set("uuid", id);
109
91
  }
110
92
  return id;
111
93
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/api/user/UserSettings.ts"],"sourcesContent":["import { getExpoHomeDirectory, getUserStatePath } from '@expo/config/build/getUserState';\nimport JsonFile from '@expo/json-file';\nimport crypto from 'crypto';\n\ntype SessionData = {\n sessionSecret: string;\n // These fields are potentially used by Expo CLI.\n userId: string;\n username: string;\n currentConnection: 'Username-Password-Authentication' | 'Browser-Flow-Authentication';\n};\n\nexport type UserSettingsData = {\n auth?: SessionData | null;\n ignoreBundledBinaries?: string[];\n PATH?: string;\n /** Last development code signing ID used for `npx expo run:ios`. */\n developmentCodeSigningId?: string;\n /** Unique user ID which is generated anonymously and can be cleared locally. */\n uuid?: string;\n};\n\n/** Return the user cache directory. */\nexport function getSettingsDirectory() {\n return getExpoHomeDirectory();\n}\n\n/** Return the file path of the settings file */\nexport function getSettingsFilePath(): string {\n return getUserStatePath();\n}\n\n/** Get a new JsonFile instance pointed towards the settings file */\nexport function getSettings(): JsonFile<UserSettingsData> {\n return new JsonFile<UserSettingsData>(getSettingsFilePath(), {\n ensureDir: true,\n jsonParseErrorDefault: {},\n cantReadFileDefault: {},\n });\n}\n\nexport function getAccessToken(): string | null {\n return process.env.EXPO_TOKEN ?? null;\n}\n\nexport function getSession() {\n return getSettings().get('auth', null);\n}\n\nexport async function setSessionAsync(sessionData?: SessionData) {\n await getSettings().setAsync('auth', sessionData, {\n default: {},\n ensureDir: true,\n });\n}\n\n/**\n * Check if there are credentials available, without fetching the user information.\n * This can be used as a faster check to see if users are authenticated.\n * Note, this isn't checking the validity of the credentials.\n */\nexport function hasCredentials() {\n return !!getAccessToken() || !!getSession();\n}\n\n/**\n * Get an anonymous and randomly generated identifier.\n * This is used to group telemetry event by unknown actor,\n * and cannot be used to identify a single user.\n */\nexport async function getAnonymousIdAsync(): Promise<string> {\n const settings = getSettings();\n let id = await settings.getAsync('uuid', null);\n\n if (!id) {\n id = crypto.randomUUID();\n await settings.setAsync('uuid', id);\n }\n\n return id;\n}\n\n/**\n * Get an anonymous and randomly generated identifier.\n * This is used to group telemetry event by unknown actor,\n * and cannot be used to identify a single user.\n */\nexport function getAnonymousId(): string {\n const settings = getSettings();\n let id = settings.get('uuid', null);\n\n if (!id) {\n id = crypto.randomUUID();\n settings.set('uuid', id);\n }\n\n return id;\n}\n"],"names":["getAccessToken","getAnonymousId","getAnonymousIdAsync","getSession","getSettings","getSettingsDirectory","getSettingsFilePath","hasCredentials","setSessionAsync","getExpoHomeDirectory","getUserStatePath","JsonFile","ensureDir","jsonParseErrorDefault","cantReadFileDefault","process","env","EXPO_TOKEN","get","sessionData","setAsync","default","settings","id","getAsync","crypto","randomUUID","set"],"mappings":";;;;;;;;;;;IAyCgBA,cAAc;eAAdA;;IA8CAC,cAAc;eAAdA;;IAjBMC,mBAAmB;eAAnBA;;IAzBNC,UAAU;eAAVA;;IAZAC,WAAW;eAAXA;;IAVAC,oBAAoB;eAApBA;;IAKAC,mBAAmB;eAAnBA;;IAiCAC,cAAc;eAAdA;;IAZMC,eAAe;eAAfA;;;;yBAjDiC;;;;;;;gEAClC;;;;;;;gEACF;;;;;;;;;;;AAqBZ,SAASH;IACd,OAAOI,IAAAA,oCAAoB;AAC7B;AAGO,SAASH;IACd,OAAOI,IAAAA,gCAAgB;AACzB;AAGO,SAASN;IACd,OAAO,IAAIO,CAAAA,WAAO,SAAC,CAAmBL,uBAAuB;QAC3DM,WAAW;QACXC,uBAAuB,CAAC;QACxBC,qBAAqB,CAAC;IACxB;AACF;AAEO,SAASd;IACd,OAAOe,QAAQC,GAAG,CAACC,UAAU,IAAI;AACnC;AAEO,SAASd;IACd,OAAOC,cAAcc,GAAG,CAAC,QAAQ;AACnC;AAEO,eAAeV,gBAAgBW,WAAyB;IAC7D,MAAMf,cAAcgB,QAAQ,CAAC,QAAQD,aAAa;QAChDE,SAAS,CAAC;QACVT,WAAW;IACb;AACF;AAOO,SAASL;IACd,OAAO,CAAC,CAACP,oBAAoB,CAAC,CAACG;AACjC;AAOO,eAAeD;IACpB,MAAMoB,WAAWlB;IACjB,IAAImB,KAAK,MAAMD,SAASE,QAAQ,CAAC,QAAQ;IAEzC,IAAI,CAACD,IAAI;QACPA,KAAKE,iBAAM,CAACC,UAAU;QACtB,MAAMJ,SAASF,QAAQ,CAAC,QAAQG;IAClC;IAEA,OAAOA;AACT;AAOO,SAAStB;IACd,MAAMqB,WAAWlB;IACjB,IAAImB,KAAKD,SAASJ,GAAG,CAAC,QAAQ;IAE9B,IAAI,CAACK,IAAI;QACPA,KAAKE,iBAAM,CAACC,UAAU;QACtBJ,SAASK,GAAG,CAAC,QAAQJ;IACvB;IAEA,OAAOA;AACT"}
1
+ {"version":3,"sources":["../../../../src/api/user/UserSettings.ts"],"sourcesContent":["import { getExpoHomeDirectory, getUserStatePath } from '@expo/config/build/getUserState';\nimport JsonFile from '@expo/json-file';\nimport crypto from 'crypto';\n\ntype SessionData = {\n sessionSecret: string;\n // These fields are potentially used by Expo CLI.\n userId: string;\n username: string;\n currentConnection: 'Username-Password-Authentication' | 'Browser-Flow-Authentication';\n};\n\nexport type UserSettingsData = {\n auth?: SessionData | null;\n ignoreBundledBinaries?: string[];\n PATH?: string;\n /** Last development code signing ID used for `npx expo run:ios`. */\n developmentCodeSigningId?: string;\n /** Unique user ID which is generated anonymously and can be cleared locally. */\n uuid?: string;\n};\n\n/** Return the user cache directory. */\nexport function getSettingsDirectory() {\n return getExpoHomeDirectory();\n}\n\n/** Return the file path of the settings file */\nexport function getSettingsFilePath(): string {\n return getUserStatePath();\n}\n\n/** Get a new JsonFile instance pointed towards the settings file */\nexport function getSettings(): JsonFile<UserSettingsData> {\n return new JsonFile<UserSettingsData>(getSettingsFilePath(), {\n ensureDir: true,\n jsonParseErrorDefault: {},\n cantReadFileDefault: {},\n });\n}\n\nexport function getAccessToken(): string | null {\n return process.env.EXPO_TOKEN ?? null;\n}\n\nexport function getSession() {\n return getSettings().get('auth', null);\n}\n\nexport async function setSessionAsync(sessionData?: SessionData) {\n await getSettings().setAsync('auth', sessionData, {\n default: {},\n ensureDir: true,\n });\n}\n\n/**\n * Check if there are credentials available, without fetching the user information.\n * This can be used as a faster check to see if users are authenticated.\n * Note, this isn't checking the validity of the credentials.\n */\nexport function hasCredentials() {\n return !!getAccessToken() || !!getSession();\n}\n\n/**\n * Get an anonymous and randomly generated identifier.\n * This is used to group telemetry event by unknown actor,\n * and cannot be used to identify a single user.\n */\nexport async function getAnonymousIdAsync(): Promise<string> {\n const settings = getSettings();\n let id = await settings.getAsync('uuid', null);\n\n if (!id) {\n id = crypto.randomUUID();\n await settings.setAsync('uuid', id);\n }\n\n return id;\n}\n\n/**\n * Get an anonymous and randomly generated identifier.\n * This is used to group telemetry event by unknown actor,\n * and cannot be used to identify a single user.\n */\nexport function getAnonymousId(): string {\n const settings = getSettings();\n let id = settings.get('uuid', null);\n\n if (!id) {\n id = crypto.randomUUID();\n settings.set('uuid', id);\n }\n\n return id;\n}\n"],"names":["getSettingsDirectory","getSettingsFilePath","getSettings","getAccessToken","getSession","setSessionAsync","hasCredentials","getAnonymousIdAsync","getAnonymousId","getExpoHomeDirectory","getUserStatePath","JsonFile","ensureDir","jsonParseErrorDefault","cantReadFileDefault","process","env","EXPO_TOKEN","get","sessionData","setAsync","default","settings","id","getAsync","crypto","randomUUID","set"],"mappings":"AAAA;;;;;;;;;;;IAuBgBA,oBAAoB,MAApBA,oBAAoB;IAKpBC,mBAAmB,MAAnBA,mBAAmB;IAKnBC,WAAW,MAAXA,WAAW;IAQXC,cAAc,MAAdA,cAAc;IAIdC,UAAU,MAAVA,UAAU;IAIJC,eAAe,MAAfA,eAAe;IAYrBC,cAAc,MAAdA,cAAc;IASRC,mBAAmB,MAAnBA,mBAAmB;IAiBzBC,cAAc,MAAdA,cAAc;;;yBAvFyB,iCAAiC;;;;;;;8DACnE,iBAAiB;;;;;;;8DACnB,QAAQ;;;;;;;;;;;AAqBpB,SAASR,oBAAoB,GAAG;IACrC,OAAOS,IAAAA,aAAoB,EAAA,qBAAA,GAAE,CAAC;AAChC,CAAC;AAGM,SAASR,mBAAmB,GAAW;IAC5C,OAAOS,IAAAA,aAAgB,EAAA,iBAAA,GAAE,CAAC;AAC5B,CAAC;AAGM,SAASR,WAAW,GAA+B;IACxD,OAAO,IAAIS,CAAAA,SAAQ,EAAA,CAAA,QAAA,CAAmBV,mBAAmB,EAAE,EAAE;QAC3DW,SAAS,EAAE,IAAI;QACfC,qBAAqB,EAAE,EAAE;QACzBC,mBAAmB,EAAE,EAAE;KACxB,CAAC,CAAC;AACL,CAAC;AAEM,SAASX,cAAc,GAAkB;IAC9C,OAAOY,OAAO,CAACC,GAAG,CAACC,UAAU,IAAI,IAAI,CAAC;AACxC,CAAC;AAEM,SAASb,UAAU,GAAG;IAC3B,OAAOF,WAAW,EAAE,CAACgB,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAEM,eAAeb,eAAe,CAACc,WAAyB,EAAE;IAC/D,MAAMjB,WAAW,EAAE,CAACkB,QAAQ,CAAC,MAAM,EAAED,WAAW,EAAE;QAChDE,OAAO,EAAE,EAAE;QACXT,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAOM,SAASN,cAAc,GAAG;IAC/B,OAAO,CAAC,CAACH,cAAc,EAAE,IAAI,CAAC,CAACC,UAAU,EAAE,CAAC;AAC9C,CAAC;AAOM,eAAeG,mBAAmB,GAAoB;IAC3D,MAAMe,QAAQ,GAAGpB,WAAW,EAAE,AAAC;IAC/B,IAAIqB,EAAE,GAAG,MAAMD,QAAQ,CAACE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,AAAC;IAE/C,IAAI,CAACD,EAAE,EAAE;QACPA,EAAE,GAAGE,OAAM,EAAA,QAAA,CAACC,UAAU,EAAE,CAAC;QACzB,MAAMJ,QAAQ,CAACF,QAAQ,CAAC,MAAM,EAAEG,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,OAAOA,EAAE,CAAC;AACZ,CAAC;AAOM,SAASf,cAAc,GAAW;IACvC,MAAMc,QAAQ,GAAGpB,WAAW,EAAE,AAAC;IAC/B,IAAIqB,EAAE,GAAGD,QAAQ,CAACJ,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,AAAC;IAEpC,IAAI,CAACK,EAAE,EAAE;QACPA,EAAE,GAAGE,OAAM,EAAA,QAAA,CAACC,UAAU,EAAE,CAAC;QACzBJ,QAAQ,CAACK,GAAG,CAAC,MAAM,EAAEJ,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,OAAOA,EAAE,CAAC;AACZ,CAAC"}
@@ -9,22 +9,18 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- ensureLoggedInAsync: function() {
13
- return ensureLoggedInAsync;
14
- },
15
- showLoginPromptAsync: function() {
16
- return showLoginPromptAsync;
17
- }
12
+ showLoginPromptAsync: ()=>showLoginPromptAsync,
13
+ ensureLoggedInAsync: ()=>ensureLoggedInAsync
18
14
  });
19
15
  function _assert() {
20
- const data = /*#__PURE__*/ _interop_require_default(require("assert"));
16
+ const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
21
17
  _assert = function() {
22
18
  return data;
23
19
  };
24
20
  return data;
25
21
  }
26
22
  function _chalk() {
27
- const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
23
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
28
24
  _chalk = function() {
29
25
  return data;
30
26
  };
@@ -32,13 +28,13 @@ function _chalk() {
32
28
  }
33
29
  const _otp = require("./otp");
34
30
  const _user = require("./user");
35
- const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../log"));
31
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../log"));
36
32
  const _env = require("../../utils/env");
37
33
  const _errors = require("../../utils/errors");
38
34
  const _link = require("../../utils/link");
39
- const _prompts = /*#__PURE__*/ _interop_require_default(require("../../utils/prompts"));
35
+ const _prompts = /*#__PURE__*/ _interopRequireDefault(require("../../utils/prompts"));
40
36
  const _client = require("../rest/client");
41
- function _interop_require_default(obj) {
37
+ function _interopRequireDefault(obj) {
42
38
  return obj && obj.__esModule ? obj : {
43
39
  default: obj
44
40
  };
@@ -51,7 +47,7 @@ function _getRequireWildcardCache(nodeInterop) {
51
47
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
52
48
  })(nodeInterop);
53
49
  }
54
- function _interop_require_wildcard(obj, nodeInterop) {
50
+ function _interopRequireWildcard(obj, nodeInterop) {
55
51
  if (!nodeInterop && obj && obj.__esModule) {
56
52
  return obj;
57
53
  }
@@ -64,9 +60,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
64
60
  if (cache && cache.has(obj)) {
65
61
  return cache.get(obj);
66
62
  }
67
- var newObj = {
68
- __proto__: null
69
- };
63
+ var newObj = {};
70
64
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
71
65
  for(var key in obj){
72
66
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -84,9 +78,9 @@ function _interop_require_wildcard(obj, nodeInterop) {
84
78
  }
85
79
  return newObj;
86
80
  }
87
- async function showLoginPromptAsync({ printNewLine = false, otp, ...options } = {}) {
81
+ async function showLoginPromptAsync({ printNewLine =false , otp , ...options } = {}) {
88
82
  if (_env.env.EXPO_OFFLINE) {
89
- throw new _errors.CommandError('OFFLINE', 'Cannot authenticate in offline-mode');
83
+ throw new _errors.CommandError("OFFLINE", "Cannot authenticate in offline-mode");
90
84
  }
91
85
  const hasCredentials = options.username && options.password;
92
86
  const sso = options.sso;
@@ -103,17 +97,17 @@ async function showLoginPromptAsync({ printNewLine = false, otp, ...options } =
103
97
  if (!hasCredentials) {
104
98
  const resolved = await (0, _prompts.default)([
105
99
  !options.username && {
106
- type: 'text',
107
- name: 'username',
108
- message: 'Email or username'
100
+ type: "text",
101
+ name: "username",
102
+ message: "Email or username"
109
103
  },
110
104
  !options.password && {
111
- type: 'password',
112
- name: 'password',
113
- message: 'Password'
114
- }
105
+ type: "password",
106
+ name: "password",
107
+ message: "Password"
108
+ },
115
109
  ].filter(Boolean), {
116
- nonInteractiveHelp: `Use the EXPO_TOKEN environment variable to authenticate in CI (${(0, _link.learnMore)('https://docs.expo.dev/accounts/programmatic-access/')})`
110
+ nonInteractiveHelp: `Use the EXPO_TOKEN environment variable to authenticate in CI (${(0, _link.learnMore)("https://docs.expo.dev/accounts/programmatic-access/")})`
117
111
  });
118
112
  username ??= resolved.username;
119
113
  password ??= resolved.password;
@@ -127,7 +121,7 @@ async function showLoginPromptAsync({ printNewLine = false, otp, ...options } =
127
121
  otp
128
122
  });
129
123
  } catch (e) {
130
- if (e instanceof _client.ApiV2Error && e.expoApiV2ErrorCode === 'ONE_TIME_PASSWORD_REQUIRED') {
124
+ if (e instanceof _client.ApiV2Error && e.expoApiV2ErrorCode === "ONE_TIME_PASSWORD_REQUIRED") {
131
125
  await (0, _otp.retryUsernamePasswordAuthWithOTPAsync)(username, password, e.expoApiV2ErrorMetadata);
132
126
  } else {
133
127
  throw e;
@@ -143,7 +137,7 @@ async function ensureLoggedInAsync() {
143
137
  });
144
138
  user = await (0, _user.getUserAsync)();
145
139
  }
146
- (0, _assert().default)(user, 'User should be logged in');
140
+ (0, _assert().default)(user, "User should be logged in");
147
141
  return user;
148
142
  }
149
143
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/api/user/actions.ts"],"sourcesContent":["import assert from 'assert';\nimport chalk from 'chalk';\n\nimport { retryUsernamePasswordAuthWithOTPAsync } from './otp';\nimport { Actor, getUserAsync, loginAsync, ssoLoginAsync } from './user';\nimport * as Log from '../../log';\nimport { env } from '../../utils/env';\nimport { CommandError } from '../../utils/errors';\nimport { learnMore } from '../../utils/link';\nimport promptAsync, { Question } from '../../utils/prompts';\nimport { ApiV2Error } from '../rest/client';\n\n/** Show login prompt while prompting for missing credentials. */\nexport async function showLoginPromptAsync({\n printNewLine = false,\n otp,\n ...options\n}: {\n printNewLine?: boolean;\n username?: string;\n password?: string;\n otp?: string;\n sso?: boolean | undefined;\n} = {}): Promise<void> {\n if (env.EXPO_OFFLINE) {\n throw new CommandError('OFFLINE', 'Cannot authenticate in offline-mode');\n }\n const hasCredentials = options.username && options.password;\n const sso = options.sso;\n\n if (printNewLine) {\n Log.log();\n }\n\n if (sso) {\n await ssoLoginAsync();\n return;\n }\n\n Log.log(\n hasCredentials\n ? `Logging in to EAS with email or username (exit and run 'npx expo login --help' for other login options)`\n : `Log in to EAS with email or username (exit and run 'npx expo login --help' for other login options)`\n );\n\n let username = options.username;\n let password = options.password;\n\n if (!hasCredentials) {\n const resolved = await promptAsync(\n [\n !options.username && {\n type: 'text',\n name: 'username',\n message: 'Email or username',\n },\n !options.password && {\n type: 'password',\n name: 'password',\n message: 'Password',\n },\n ].filter(Boolean) as Question<string>[],\n {\n nonInteractiveHelp: `Use the EXPO_TOKEN environment variable to authenticate in CI (${learnMore(\n 'https://docs.expo.dev/accounts/programmatic-access/'\n )})`,\n }\n );\n username ??= resolved.username;\n password ??= resolved.password;\n }\n // This is just for the types.\n assert(username && password);\n\n try {\n await loginAsync({\n username,\n password,\n otp,\n });\n } catch (e) {\n if (e instanceof ApiV2Error && e.expoApiV2ErrorCode === 'ONE_TIME_PASSWORD_REQUIRED') {\n await retryUsernamePasswordAuthWithOTPAsync(\n username,\n password,\n e.expoApiV2ErrorMetadata as any\n );\n } else {\n throw e;\n }\n }\n}\n\n/** Ensure the user is logged in, if not, prompt to login. */\nexport async function ensureLoggedInAsync(): Promise<Actor> {\n let user = await getUserAsync().catch(() => null);\n\n if (!user) {\n Log.warn(chalk.yellow`An Expo user account is required to proceed.`);\n await showLoginPromptAsync({ printNewLine: true });\n user = await getUserAsync();\n }\n\n assert(user, 'User should be logged in');\n return user;\n}\n"],"names":["ensureLoggedInAsync","showLoginPromptAsync","printNewLine","otp","options","env","EXPO_OFFLINE","CommandError","hasCredentials","username","password","sso","Log","log","ssoLoginAsync","resolved","promptAsync","type","name","message","filter","Boolean","nonInteractiveHelp","learnMore","assert","loginAsync","e","ApiV2Error","expoApiV2ErrorCode","retryUsernamePasswordAuthWithOTPAsync","expoApiV2ErrorMetadata","user","getUserAsync","catch","warn","chalk","yellow"],"mappings":";;;;;;;;;;;IA8FsBA,mBAAmB;eAAnBA;;IAjFAC,oBAAoB;eAApBA;;;;gEAbH;;;;;;;gEACD;;;;;;qBAEoC;sBACS;6DAC1C;qBACD;wBACS;sBACH;gEACY;wBACX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGpB,eAAeA,qBAAqB,EACzCC,eAAe,KAAK,EACpBC,GAAG,EACH,GAAGC,SAOJ,GAAG,CAAC,CAAC;IACJ,IAAIC,QAAG,CAACC,YAAY,EAAE;QACpB,MAAM,IAAIC,oBAAY,CAAC,WAAW;IACpC;IACA,MAAMC,iBAAiBJ,QAAQK,QAAQ,IAAIL,QAAQM,QAAQ;IAC3D,MAAMC,MAAMP,QAAQO,GAAG;IAEvB,IAAIT,cAAc;QAChBU,KAAIC,GAAG;IACT;IAEA,IAAIF,KAAK;QACP,MAAMG,IAAAA,mBAAa;QACnB;IACF;IAEAF,KAAIC,GAAG,CACLL,iBACI,CAAC,uGAAuG,CAAC,GACzG,CAAC,mGAAmG,CAAC;IAG3G,IAAIC,WAAWL,QAAQK,QAAQ;IAC/B,IAAIC,WAAWN,QAAQM,QAAQ;IAE/B,IAAI,CAACF,gBAAgB;QACnB,MAAMO,WAAW,MAAMC,IAAAA,gBAAW,EAChC;YACE,CAACZ,QAAQK,QAAQ,IAAI;gBACnBQ,MAAM;gBACNC,MAAM;gBACNC,SAAS;YACX;YACA,CAACf,QAAQM,QAAQ,IAAI;gBACnBO,MAAM;gBACNC,MAAM;gBACNC,SAAS;YACX;SACD,CAACC,MAAM,CAACC,UACT;YACEC,oBAAoB,CAAC,+DAA+D,EAAEC,IAAAA,eAAS,EAC7F,uDACA,CAAC,CAAC;QACN;QAEFd,aAAaM,SAASN,QAAQ;QAC9BC,aAAaK,SAASL,QAAQ;IAChC;IACA,8BAA8B;IAC9Bc,IAAAA,iBAAM,EAACf,YAAYC;IAEnB,IAAI;QACF,MAAMe,IAAAA,gBAAU,EAAC;YACfhB;YACAC;YACAP;QACF;IACF,EAAE,OAAOuB,GAAG;QACV,IAAIA,aAAaC,kBAAU,IAAID,EAAEE,kBAAkB,KAAK,8BAA8B;YACpF,MAAMC,IAAAA,0CAAqC,EACzCpB,UACAC,UACAgB,EAAEI,sBAAsB;QAE5B,OAAO;YACL,MAAMJ;QACR;IACF;AACF;AAGO,eAAe1B;IACpB,IAAI+B,OAAO,MAAMC,IAAAA,kBAAY,IAAGC,KAAK,CAAC,IAAM;IAE5C,IAAI,CAACF,MAAM;QACTnB,KAAIsB,IAAI,CAACC,gBAAK,CAACC,MAAM,CAAC,4CAA4C,CAAC;QACnE,MAAMnC,qBAAqB;YAAEC,cAAc;QAAK;QAChD6B,OAAO,MAAMC,IAAAA,kBAAY;IAC3B;IAEAR,IAAAA,iBAAM,EAACO,MAAM;IACb,OAAOA;AACT"}
1
+ {"version":3,"sources":["../../../../src/api/user/actions.ts"],"sourcesContent":["import assert from 'assert';\nimport chalk from 'chalk';\n\nimport { retryUsernamePasswordAuthWithOTPAsync } from './otp';\nimport { Actor, getUserAsync, loginAsync, ssoLoginAsync } from './user';\nimport * as Log from '../../log';\nimport { env } from '../../utils/env';\nimport { CommandError } from '../../utils/errors';\nimport { learnMore } from '../../utils/link';\nimport promptAsync, { Question } from '../../utils/prompts';\nimport { ApiV2Error } from '../rest/client';\n\n/** Show login prompt while prompting for missing credentials. */\nexport async function showLoginPromptAsync({\n printNewLine = false,\n otp,\n ...options\n}: {\n printNewLine?: boolean;\n username?: string;\n password?: string;\n otp?: string;\n sso?: boolean | undefined;\n} = {}): Promise<void> {\n if (env.EXPO_OFFLINE) {\n throw new CommandError('OFFLINE', 'Cannot authenticate in offline-mode');\n }\n const hasCredentials = options.username && options.password;\n const sso = options.sso;\n\n if (printNewLine) {\n Log.log();\n }\n\n if (sso) {\n await ssoLoginAsync();\n return;\n }\n\n Log.log(\n hasCredentials\n ? `Logging in to EAS with email or username (exit and run 'npx expo login --help' for other login options)`\n : `Log in to EAS with email or username (exit and run 'npx expo login --help' for other login options)`\n );\n\n let username = options.username;\n let password = options.password;\n\n if (!hasCredentials) {\n const resolved = await promptAsync(\n [\n !options.username && {\n type: 'text',\n name: 'username',\n message: 'Email or username',\n },\n !options.password && {\n type: 'password',\n name: 'password',\n message: 'Password',\n },\n ].filter(Boolean) as Question<string>[],\n {\n nonInteractiveHelp: `Use the EXPO_TOKEN environment variable to authenticate in CI (${learnMore(\n 'https://docs.expo.dev/accounts/programmatic-access/'\n )})`,\n }\n );\n username ??= resolved.username;\n password ??= resolved.password;\n }\n // This is just for the types.\n assert(username && password);\n\n try {\n await loginAsync({\n username,\n password,\n otp,\n });\n } catch (e) {\n if (e instanceof ApiV2Error && e.expoApiV2ErrorCode === 'ONE_TIME_PASSWORD_REQUIRED') {\n await retryUsernamePasswordAuthWithOTPAsync(\n username,\n password,\n e.expoApiV2ErrorMetadata as any\n );\n } else {\n throw e;\n }\n }\n}\n\n/** Ensure the user is logged in, if not, prompt to login. */\nexport async function ensureLoggedInAsync(): Promise<Actor> {\n let user = await getUserAsync().catch(() => null);\n\n if (!user) {\n Log.warn(chalk.yellow`An Expo user account is required to proceed.`);\n await showLoginPromptAsync({ printNewLine: true });\n user = await getUserAsync();\n }\n\n assert(user, 'User should be logged in');\n return user;\n}\n"],"names":["showLoginPromptAsync","ensureLoggedInAsync","printNewLine","otp","options","env","EXPO_OFFLINE","CommandError","hasCredentials","username","password","sso","Log","log","ssoLoginAsync","resolved","promptAsync","type","name","message","filter","Boolean","nonInteractiveHelp","learnMore","assert","loginAsync","e","ApiV2Error","expoApiV2ErrorCode","retryUsernamePasswordAuthWithOTPAsync","expoApiV2ErrorMetadata","user","getUserAsync","catch","warn","chalk","yellow"],"mappings":"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"}
@@ -4,40 +4,38 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "getSessionUsingBrowserAuthFlowAsync", {
6
6
  enumerable: true,
7
- get: function() {
8
- return getSessionUsingBrowserAuthFlowAsync;
9
- }
7
+ get: ()=>getSessionUsingBrowserAuthFlowAsync
10
8
  });
11
9
  function _assert() {
12
- const data = /*#__PURE__*/ _interop_require_default(require("assert"));
10
+ const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
13
11
  _assert = function() {
14
12
  return data;
15
13
  };
16
14
  return data;
17
15
  }
18
- function _betteropn() {
19
- const data = /*#__PURE__*/ _interop_require_default(require("better-opn"));
20
- _betteropn = function() {
16
+ function _betterOpn() {
17
+ const data = /*#__PURE__*/ _interopRequireDefault(require("better-opn"));
18
+ _betterOpn = function() {
21
19
  return data;
22
20
  };
23
21
  return data;
24
22
  }
25
23
  function _http() {
26
- const data = /*#__PURE__*/ _interop_require_default(require("http"));
24
+ const data = /*#__PURE__*/ _interopRequireDefault(require("http"));
27
25
  _http = function() {
28
26
  return data;
29
27
  };
30
28
  return data;
31
29
  }
32
30
  function _querystring() {
33
- const data = /*#__PURE__*/ _interop_require_default(require("querystring"));
31
+ const data = /*#__PURE__*/ _interopRequireDefault(require("querystring"));
34
32
  _querystring = function() {
35
33
  return data;
36
34
  };
37
35
  return data;
38
36
  }
39
- const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../log"));
40
- function _interop_require_default(obj) {
37
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../log"));
38
+ function _interopRequireDefault(obj) {
41
39
  return obj && obj.__esModule ? obj : {
42
40
  default: obj
43
41
  };
@@ -50,7 +48,7 @@ function _getRequireWildcardCache(nodeInterop) {
50
48
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
51
49
  })(nodeInterop);
52
50
  }
53
- function _interop_require_wildcard(obj, nodeInterop) {
51
+ function _interopRequireWildcard(obj, nodeInterop) {
54
52
  if (!nodeInterop && obj && obj.__esModule) {
55
53
  return obj;
56
54
  }
@@ -63,9 +61,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
63
61
  if (cache && cache.has(obj)) {
64
62
  return cache.get(obj);
65
63
  }
66
- var newObj = {
67
- __proto__: null
68
- };
64
+ var newObj = {};
69
65
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
70
66
  for(var key in obj){
71
67
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -112,10 +108,10 @@ const successBody = `
112
108
  SSO login complete. You may now close this tab and return to the command prompt.
113
109
  </body>
114
110
  </html>`;
115
- async function getSessionUsingBrowserAuthFlowAsync({ expoWebsiteUrl }) {
116
- const scheme = 'http';
117
- const hostname = 'localhost';
118
- const path = '/auth/callback';
111
+ async function getSessionUsingBrowserAuthFlowAsync({ expoWebsiteUrl }) {
112
+ const scheme = "http";
113
+ const hostname = "localhost";
114
+ const path = "/auth/callback";
119
115
  const buildExpoSsoLoginUrl = (port)=>{
120
116
  const data = {
121
117
  app_redirect_uri: `${scheme}://${hostname}:${port}${path}`
@@ -129,18 +125,18 @@ async function getSessionUsingBrowserAuthFlowAsync({ expoWebsiteUrl }) {
129
125
  const connections = new Set();
130
126
  const server = _http().default.createServer((request, response)=>{
131
127
  try {
132
- var _request_url;
133
- if (!(request.method === 'GET' && ((_request_url = request.url) == null ? void 0 : _request_url.includes(path)))) {
134
- throw new Error('Unexpected SSO login response.');
128
+ var ref;
129
+ if (!(request.method === "GET" && ((ref = request.url) == null ? void 0 : ref.includes(path)))) {
130
+ throw new Error("Unexpected SSO login response.");
135
131
  }
136
132
  const url = new URL(request.url, `http:${request.headers.host}`);
137
- const sessionSecret = url.searchParams.get('session_secret');
133
+ const sessionSecret = url.searchParams.get("session_secret");
138
134
  if (!sessionSecret) {
139
- throw new Error('Request missing session_secret search parameter.');
135
+ throw new Error("Request missing session_secret search parameter.");
140
136
  }
141
137
  resolve(sessionSecret);
142
138
  response.writeHead(200, {
143
- 'Content-Type': 'text/html'
139
+ "Content-Type": "text/html"
144
140
  });
145
141
  response.write(successBody);
146
142
  response.end();
@@ -155,16 +151,16 @@ async function getSessionUsingBrowserAuthFlowAsync({ expoWebsiteUrl }) {
155
151
  }
156
152
  });
157
153
  server.listen(0, hostname, ()=>{
158
- _log.log('Waiting for browser login...');
154
+ _log.log("Waiting for browser login...");
159
155
  const address = server.address();
160
- (0, _assert().default)(address !== null && typeof address === 'object', 'Server address and port should be set after listening has begun');
156
+ (0, _assert().default)(address !== null && typeof address === "object", "Server address and port should be set after listening has begun");
161
157
  const port = address.port;
162
158
  const authorizeUrl = buildExpoSsoLoginUrl(port);
163
- (0, _betteropn().default)(authorizeUrl);
159
+ (0, _betterOpn().default)(authorizeUrl);
164
160
  });
165
- server.on('connection', (connection)=>{
161
+ server.on("connection", (connection)=>{
166
162
  connections.add(connection);
167
- connection.on('close', ()=>{
163
+ connection.on("close", ()=>{
168
164
  connections.delete(connection);
169
165
  });
170
166
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/api/user/expoSsoLauncher.ts"],"sourcesContent":["import assert from 'assert';\nimport openBrowserAsync from 'better-opn';\nimport http from 'http';\nimport { Socket } from 'node:net';\nimport querystring from 'querystring';\n\nimport * as Log from '../../log';\n\nconst successBody = `\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <title>Expo SSO Login</title>\n <meta charset=\"utf-8\">\n <style type=\"text/css\">\n html {\n margin: 0;\n padding: 0\n }\n\n body {\n background-color: #fff;\n font-family: Tahoma,Verdana;\n font-size: 16px;\n color: #000;\n max-width: 100%;\n box-sizing: border-box;\n padding: .5rem;\n margin: 1em;\n overflow-wrap: break-word\n }\n </style>\n</head>\n<body>\n SSO login complete. You may now close this tab and return to the command prompt.\n</body>\n</html>`;\n\nexport async function getSessionUsingBrowserAuthFlowAsync({\n expoWebsiteUrl,\n}: {\n expoWebsiteUrl: string;\n}): Promise<string> {\n const scheme = 'http';\n const hostname = 'localhost';\n const path = '/auth/callback';\n\n const buildExpoSsoLoginUrl = (port: number): string => {\n const data = {\n app_redirect_uri: `${scheme}://${hostname}:${port}${path}`,\n };\n const params = querystring.stringify(data);\n return `${expoWebsiteUrl}/sso-login?${params}`;\n };\n\n // Start server and begin auth flow\n const executeAuthFlow = (): Promise<string> => {\n return new Promise<string>(async (resolve, reject) => {\n const connections = new Set<Socket>();\n\n const server = http.createServer(\n (request: http.IncomingMessage, response: http.ServerResponse) => {\n try {\n if (!(request.method === 'GET' && request.url?.includes(path))) {\n throw new Error('Unexpected SSO login response.');\n }\n const url = new URL(request.url, `http:${request.headers.host}`);\n const sessionSecret = url.searchParams.get('session_secret');\n\n if (!sessionSecret) {\n throw new Error('Request missing session_secret search parameter.');\n }\n resolve(sessionSecret);\n response.writeHead(200, { 'Content-Type': 'text/html' });\n response.write(successBody);\n response.end();\n } catch (error) {\n reject(error);\n } finally {\n server.close();\n // Ensure that the server shuts down\n for (const connection of connections) {\n connection.destroy();\n }\n }\n }\n );\n\n server.listen(0, hostname, () => {\n Log.log('Waiting for browser login...');\n\n const address = server.address();\n assert(\n address !== null && typeof address === 'object',\n 'Server address and port should be set after listening has begun'\n );\n const port = address.port;\n const authorizeUrl = buildExpoSsoLoginUrl(port);\n openBrowserAsync(authorizeUrl);\n });\n\n server.on('connection', (connection) => {\n connections.add(connection);\n\n connection.on('close', () => {\n connections.delete(connection);\n });\n });\n });\n };\n\n return await executeAuthFlow();\n}\n"],"names":["getSessionUsingBrowserAuthFlowAsync","successBody","expoWebsiteUrl","scheme","hostname","path","buildExpoSsoLoginUrl","port","data","app_redirect_uri","params","querystring","stringify","executeAuthFlow","Promise","resolve","reject","connections","Set","server","http","createServer","request","response","method","url","includes","Error","URL","headers","host","sessionSecret","searchParams","get","writeHead","write","end","error","close","connection","destroy","listen","Log","log","address","assert","authorizeUrl","openBrowserAsync","on","add","delete"],"mappings":";;;;+BAsCsBA;;;eAAAA;;;;gEAtCH;;;;;;;gEACU;;;;;;;gEACZ;;;;;;;gEAEO;;;;;;6DAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAErB,MAAMC,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4Bd,CAAC;AAED,eAAeD,oCAAoC,EACxDE,cAAc,EAGf;IACC,MAAMC,SAAS;IACf,MAAMC,WAAW;IACjB,MAAMC,OAAO;IAEb,MAAMC,uBAAuB,CAACC;QAC5B,MAAMC,OAAO;YACXC,kBAAkB,GAAGN,OAAO,GAAG,EAAEC,SAAS,CAAC,EAAEG,OAAOF,MAAM;QAC5D;QACA,MAAMK,SAASC,sBAAW,CAACC,SAAS,CAACJ;QACrC,OAAO,GAAGN,eAAe,WAAW,EAAEQ,QAAQ;IAChD;IAEA,mCAAmC;IACnC,MAAMG,kBAAkB;QACtB,OAAO,IAAIC,QAAgB,OAAOC,SAASC;YACzC,MAAMC,cAAc,IAAIC;YAExB,MAAMC,SAASC,eAAI,CAACC,YAAY,CAC9B,CAACC,SAA+BC;gBAC9B,IAAI;wBACgCD;oBAAlC,IAAI,CAAEA,CAAAA,QAAQE,MAAM,KAAK,WAASF,eAAAA,QAAQG,GAAG,qBAAXH,aAAaI,QAAQ,CAACrB,MAAI,GAAI;wBAC9D,MAAM,IAAIsB,MAAM;oBAClB;oBACA,MAAMF,MAAM,IAAIG,IAAIN,QAAQG,GAAG,EAAE,CAAC,KAAK,EAAEH,QAAQO,OAAO,CAACC,IAAI,EAAE;oBAC/D,MAAMC,gBAAgBN,IAAIO,YAAY,CAACC,GAAG,CAAC;oBAE3C,IAAI,CAACF,eAAe;wBAClB,MAAM,IAAIJ,MAAM;oBAClB;oBACAZ,QAAQgB;oBACRR,SAASW,SAAS,CAAC,KAAK;wBAAE,gBAAgB;oBAAY;oBACtDX,SAASY,KAAK,CAAClC;oBACfsB,SAASa,GAAG;gBACd,EAAE,OAAOC,OAAO;oBACdrB,OAAOqB;gBACT,SAAU;oBACRlB,OAAOmB,KAAK;oBACZ,oCAAoC;oBACpC,KAAK,MAAMC,cAActB,YAAa;wBACpCsB,WAAWC,OAAO;oBACpB;gBACF;YACF;YAGFrB,OAAOsB,MAAM,CAAC,GAAGrC,UAAU;gBACzBsC,KAAIC,GAAG,CAAC;gBAER,MAAMC,UAAUzB,OAAOyB,OAAO;gBAC9BC,IAAAA,iBAAM,EACJD,YAAY,QAAQ,OAAOA,YAAY,UACvC;gBAEF,MAAMrC,OAAOqC,QAAQrC,IAAI;gBACzB,MAAMuC,eAAexC,qBAAqBC;gBAC1CwC,IAAAA,oBAAgB,EAACD;YACnB;YAEA3B,OAAO6B,EAAE,CAAC,cAAc,CAACT;gBACvBtB,YAAYgC,GAAG,CAACV;gBAEhBA,WAAWS,EAAE,CAAC,SAAS;oBACrB/B,YAAYiC,MAAM,CAACX;gBACrB;YACF;QACF;IACF;IAEA,OAAO,MAAM1B;AACf"}
1
+ {"version":3,"sources":["../../../../src/api/user/expoSsoLauncher.ts"],"sourcesContent":["import assert from 'assert';\nimport openBrowserAsync from 'better-opn';\nimport http from 'http';\nimport { Socket } from 'node:net';\nimport querystring from 'querystring';\n\nimport * as Log from '../../log';\n\nconst successBody = `\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <title>Expo SSO Login</title>\n <meta charset=\"utf-8\">\n <style type=\"text/css\">\n html {\n margin: 0;\n padding: 0\n }\n\n body {\n background-color: #fff;\n font-family: Tahoma,Verdana;\n font-size: 16px;\n color: #000;\n max-width: 100%;\n box-sizing: border-box;\n padding: .5rem;\n margin: 1em;\n overflow-wrap: break-word\n }\n </style>\n</head>\n<body>\n SSO login complete. You may now close this tab and return to the command prompt.\n</body>\n</html>`;\n\nexport async function getSessionUsingBrowserAuthFlowAsync({\n expoWebsiteUrl,\n}: {\n expoWebsiteUrl: string;\n}): Promise<string> {\n const scheme = 'http';\n const hostname = 'localhost';\n const path = '/auth/callback';\n\n const buildExpoSsoLoginUrl = (port: number): string => {\n const data = {\n app_redirect_uri: `${scheme}://${hostname}:${port}${path}`,\n };\n const params = querystring.stringify(data);\n return `${expoWebsiteUrl}/sso-login?${params}`;\n };\n\n // Start server and begin auth flow\n const executeAuthFlow = (): Promise<string> => {\n return new Promise<string>(async (resolve, reject) => {\n const connections = new Set<Socket>();\n\n const server = http.createServer(\n (request: http.IncomingMessage, response: http.ServerResponse) => {\n try {\n if (!(request.method === 'GET' && request.url?.includes(path))) {\n throw new Error('Unexpected SSO login response.');\n }\n const url = new URL(request.url, `http:${request.headers.host}`);\n const sessionSecret = url.searchParams.get('session_secret');\n\n if (!sessionSecret) {\n throw new Error('Request missing session_secret search parameter.');\n }\n resolve(sessionSecret);\n response.writeHead(200, { 'Content-Type': 'text/html' });\n response.write(successBody);\n response.end();\n } catch (error) {\n reject(error);\n } finally {\n server.close();\n // Ensure that the server shuts down\n for (const connection of connections) {\n connection.destroy();\n }\n }\n }\n );\n\n server.listen(0, hostname, () => {\n Log.log('Waiting for browser login...');\n\n const address = server.address();\n assert(\n address !== null && typeof address === 'object',\n 'Server address and port should be set after listening has begun'\n );\n const port = address.port;\n const authorizeUrl = buildExpoSsoLoginUrl(port);\n openBrowserAsync(authorizeUrl);\n });\n\n server.on('connection', (connection) => {\n connections.add(connection);\n\n connection.on('close', () => {\n connections.delete(connection);\n });\n });\n });\n };\n\n return await executeAuthFlow();\n}\n"],"names":["getSessionUsingBrowserAuthFlowAsync","successBody","expoWebsiteUrl","scheme","hostname","path","buildExpoSsoLoginUrl","port","data","app_redirect_uri","params","querystring","stringify","executeAuthFlow","Promise","resolve","reject","connections","Set","server","http","createServer","request","response","method","url","includes","Error","URL","headers","host","sessionSecret","searchParams","get","writeHead","write","end","error","close","connection","destroy","listen","Log","log","address","assert","authorizeUrl","openBrowserAsync","on","add","delete"],"mappings":"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"}