@expo/cli 0.22.25 → 0.22.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (722) hide show
  1. package/build/bin/cli +91 -93
  2. package/build/bin/cli.map +1 -1
  3. package/build/metro-require/require.js +52 -53
  4. package/build/src/api/endpoint.js +2 -6
  5. package/build/src/api/endpoint.js.map +1 -1
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +3 -5
  7. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  8. package/build/src/api/getExpoSchema.js +12 -16
  9. package/build/src/api/getExpoSchema.js.map +1 -1
  10. package/build/src/api/getNativeModuleVersions.js +4 -6
  11. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  12. package/build/src/api/getProjectDevelopmentCertificate.js +3 -5
  13. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  14. package/build/src/api/getVersions.js +5 -7
  15. package/build/src/api/getVersions.js.map +1 -1
  16. package/build/src/api/graphql/client.js +26 -32
  17. package/build/src/api/graphql/client.js.map +1 -1
  18. package/build/src/api/graphql/queries/AppQuery.js +4 -6
  19. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  20. package/build/src/api/graphql/queries/UserQuery.js +3 -5
  21. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  22. package/build/src/api/graphql/types/App.js +1 -3
  23. package/build/src/api/graphql/types/App.js.map +1 -1
  24. package/build/src/api/rest/cache/FileSystemResponseCache.js +8 -10
  25. package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
  26. package/build/src/api/rest/cache/ResponseCache.js +12 -20
  27. package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +11 -13
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  30. package/build/src/api/rest/client.js +35 -53
  31. package/build/src/api/rest/client.js.map +1 -1
  32. package/build/src/api/rest/client.types.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithBaseUrl.js +3 -5
  34. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithOffline.js +3 -5
  36. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProgress.js +7 -11
  38. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  39. package/build/src/api/rest/wrapFetchWithProxy.js +3 -5
  40. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  41. package/build/src/api/rest/wrapFetchWithUserAgent.js +6 -8
  42. package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
  43. package/build/src/api/settings.js +5 -7
  44. package/build/src/api/settings.js.map +1 -1
  45. package/build/src/api/updateDevelopmentSession.js +17 -23
  46. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  47. package/build/src/api/user/UserSettings.js +21 -39
  48. package/build/src/api/user/UserSettings.js.map +1 -1
  49. package/build/src/api/user/actions.js +21 -27
  50. package/build/src/api/user/actions.js.map +1 -1
  51. package/build/src/api/user/expoSsoLauncher.js +26 -30
  52. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  53. package/build/src/api/user/otp.js +29 -35
  54. package/build/src/api/user/otp.js.map +1 -1
  55. package/build/src/api/user/user.js +30 -44
  56. package/build/src/api/user/user.js.map +1 -1
  57. package/build/src/config/configAsync.js +23 -29
  58. package/build/src/config/configAsync.js.map +1 -1
  59. package/build/src/config/index.js +21 -25
  60. package/build/src/config/index.js.map +1 -1
  61. package/build/src/customize/customizeAsync.js +6 -8
  62. package/build/src/customize/customizeAsync.js.map +1 -1
  63. package/build/src/customize/generate.js +16 -20
  64. package/build/src/customize/generate.js.map +1 -1
  65. package/build/src/customize/index.js +12 -14
  66. package/build/src/customize/index.js.map +1 -1
  67. package/build/src/customize/resolveOptions.js +2 -4
  68. package/build/src/customize/resolveOptions.js.map +1 -1
  69. package/build/src/customize/templates.js +54 -58
  70. package/build/src/customize/templates.js.map +1 -1
  71. package/build/src/customize/typescript.js +7 -11
  72. package/build/src/customize/typescript.js.map +1 -1
  73. package/build/src/export/createMetadataJson.js +9 -11
  74. package/build/src/export/createMetadataJson.js.map +1 -1
  75. package/build/src/export/embed/exportEager.js +6 -8
  76. package/build/src/export/embed/exportEager.js.map +1 -1
  77. package/build/src/export/embed/exportEmbedAsync.js +61 -71
  78. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  79. package/build/src/export/embed/exportServer.js +55 -57
  80. package/build/src/export/embed/exportServer.js.map +1 -1
  81. package/build/src/export/embed/index.js +40 -44
  82. package/build/src/export/embed/index.js.map +1 -1
  83. package/build/src/export/embed/resolveOptions.js +36 -44
  84. package/build/src/export/embed/resolveOptions.js.map +1 -1
  85. package/build/src/export/embed/xcodeCompilerLogger.js +27 -39
  86. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  87. package/build/src/export/exportApp.js +63 -67
  88. package/build/src/export/exportApp.js.map +1 -1
  89. package/build/src/export/exportAssets.js +27 -35
  90. package/build/src/export/exportAssets.js.map +1 -1
  91. package/build/src/export/exportAsync.js +9 -13
  92. package/build/src/export/exportAsync.js.map +1 -1
  93. package/build/src/export/exportDomComponents.js +45 -53
  94. package/build/src/export/exportDomComponents.js.map +1 -1
  95. package/build/src/export/exportHermes.js +63 -85
  96. package/build/src/export/exportHermes.js.map +1 -1
  97. package/build/src/export/exportStaticAsync.js +62 -72
  98. package/build/src/export/exportStaticAsync.js.map +1 -1
  99. package/build/src/export/favicon.js +27 -33
  100. package/build/src/export/favicon.js.map +1 -1
  101. package/build/src/export/getPublicExpoManifest.js +5 -7
  102. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  103. package/build/src/export/getResolvedLocales.js +9 -11
  104. package/build/src/export/getResolvedLocales.js.map +1 -1
  105. package/build/src/export/html.js +6 -10
  106. package/build/src/export/html.js.map +1 -1
  107. package/build/src/export/index.js +28 -32
  108. package/build/src/export/index.js.map +1 -1
  109. package/build/src/export/metroAssetLocalPath.js +30 -36
  110. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  111. package/build/src/export/persistMetroAssets.js +34 -42
  112. package/build/src/export/persistMetroAssets.js.map +1 -1
  113. package/build/src/export/publicFolder.js +6 -10
  114. package/build/src/export/publicFolder.js.map +1 -1
  115. package/build/src/export/resolveOptions.js +24 -28
  116. package/build/src/export/resolveOptions.js.map +1 -1
  117. package/build/src/export/saveAssets.js +46 -50
  118. package/build/src/export/saveAssets.js.map +1 -1
  119. package/build/src/export/web/exportWebAsync.js +11 -13
  120. package/build/src/export/web/exportWebAsync.js.map +1 -1
  121. package/build/src/export/web/index.js +15 -19
  122. package/build/src/export/web/index.js.map +1 -1
  123. package/build/src/export/web/resolveOptions.js +3 -5
  124. package/build/src/export/web/resolveOptions.js.map +1 -1
  125. package/build/src/export/writeContents.js +2 -4
  126. package/build/src/export/writeContents.js.map +1 -1
  127. package/build/src/graphql/generated.js +274 -400
  128. package/build/src/graphql/generated.js.map +1 -1
  129. package/build/src/install/applyPlugins.js +7 -11
  130. package/build/src/install/applyPlugins.js.map +1 -1
  131. package/build/src/install/checkPackages.js +22 -26
  132. package/build/src/install/checkPackages.js.map +1 -1
  133. package/build/src/install/fixPackages.js +12 -16
  134. package/build/src/install/fixPackages.js.map +1 -1
  135. package/build/src/install/index.js +16 -18
  136. package/build/src/install/index.js.map +1 -1
  137. package/build/src/install/installAsync.js +26 -32
  138. package/build/src/install/installAsync.js.map +1 -1
  139. package/build/src/install/installExpoPackage.js +18 -22
  140. package/build/src/install/installExpoPackage.js.map +1 -1
  141. package/build/src/install/resolveOptions.js +19 -21
  142. package/build/src/install/resolveOptions.js.map +1 -1
  143. package/build/src/install/utils/autoAddConfigPlugins.js +14 -18
  144. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  145. package/build/src/install/utils/checkPackagesCompatibility.js +11 -13
  146. package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
  147. package/build/src/lint/ESlintPrerequisite.js +44 -50
  148. package/build/src/lint/ESlintPrerequisite.js.map +1 -1
  149. package/build/src/lint/index.js +8 -12
  150. package/build/src/lint/index.js.map +1 -1
  151. package/build/src/lint/lintAsync.js +8 -10
  152. package/build/src/lint/lintAsync.js.map +1 -1
  153. package/build/src/log.js +16 -36
  154. package/build/src/log.js.map +1 -1
  155. package/build/src/login/index.js +20 -24
  156. package/build/src/login/index.js.map +1 -1
  157. package/build/src/logout/index.js +7 -11
  158. package/build/src/logout/index.js.map +1 -1
  159. package/build/src/prebuild/clearNativeFolder.js +26 -38
  160. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  161. package/build/src/prebuild/configureProjectAsync.js +14 -18
  162. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  163. package/build/src/prebuild/copyTemplateFiles.js +13 -17
  164. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  165. package/build/src/prebuild/ensureConfigAsync.js +4 -6
  166. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  167. package/build/src/prebuild/index.js +32 -36
  168. package/build/src/prebuild/index.js.map +1 -1
  169. package/build/src/prebuild/prebuildAsync.js +25 -29
  170. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  171. package/build/src/prebuild/renameTemplateAppName.js +40 -46
  172. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  173. package/build/src/prebuild/resolveOptions.js +52 -66
  174. package/build/src/prebuild/resolveOptions.js.map +1 -1
  175. package/build/src/prebuild/resolveTemplate.js +32 -36
  176. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  177. package/build/src/prebuild/updateFromTemplate.js +13 -19
  178. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  179. package/build/src/prebuild/updatePackageJson.js +39 -53
  180. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  181. package/build/src/prebuild/validateTemplatePlatforms.js +8 -12
  182. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  183. package/build/src/register/index.js +7 -11
  184. package/build/src/register/index.js.map +1 -1
  185. package/build/src/register/registerAsync.js +3 -5
  186. package/build/src/register/registerAsync.js.map +1 -1
  187. package/build/src/run/android/index.js +32 -36
  188. package/build/src/run/android/index.js.map +1 -1
  189. package/build/src/run/android/resolveDevice.js +8 -10
  190. package/build/src/run/android/resolveDevice.js.map +1 -1
  191. package/build/src/run/android/resolveGradlePropsAsync.js +16 -18
  192. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  193. package/build/src/run/android/resolveInstallApkName.js +15 -17
  194. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  195. package/build/src/run/android/resolveLaunchProps.js +10 -12
  196. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  197. package/build/src/run/android/resolveOptions.js +2 -4
  198. package/build/src/run/android/resolveOptions.js.map +1 -1
  199. package/build/src/run/android/runAndroidAsync.js +21 -23
  200. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  201. package/build/src/run/ensureNativeProject.js +5 -7
  202. package/build/src/run/ensureNativeProject.js.map +1 -1
  203. package/build/src/run/hints.js +7 -13
  204. package/build/src/run/hints.js.map +1 -1
  205. package/build/src/run/index.js +23 -27
  206. package/build/src/run/index.js.map +1 -1
  207. package/build/src/run/ios/XcodeBuild.js +56 -74
  208. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  209. package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
  210. package/build/src/run/ios/appleDevice/AppleDevice.js +63 -69
  211. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  212. package/build/src/run/ios/appleDevice/ClientManager.js +26 -29
  213. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  214. package/build/src/run/ios/appleDevice/client/AFCClient.js +25 -28
  215. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  216. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +26 -29
  217. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  218. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -22
  219. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  220. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +29 -32
  221. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  222. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +24 -28
  223. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  224. package/build/src/run/ios/appleDevice/client/ServiceClient.js +4 -7
  225. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  226. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +27 -28
  227. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  228. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +17 -23
  229. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  230. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +132 -146
  231. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  232. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +21 -29
  233. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  234. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +21 -29
  235. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  236. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +22 -34
  237. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  238. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +17 -27
  239. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  240. package/build/src/run/ios/codeSigning/Security.js +39 -53
  241. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  242. package/build/src/run/ios/codeSigning/configureCodeSigning.js +9 -13
  243. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  244. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +19 -27
  245. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  246. package/build/src/run/ios/codeSigning/settings.js +5 -9
  247. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  248. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +12 -14
  249. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  250. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +21 -27
  251. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  252. package/build/src/run/ios/index.js +36 -40
  253. package/build/src/run/ios/index.js.map +1 -1
  254. package/build/src/run/ios/launchApp.js +17 -23
  255. package/build/src/run/ios/launchApp.js.map +1 -1
  256. package/build/src/run/ios/options/appleDestinations.js +36 -38
  257. package/build/src/run/ios/options/appleDestinations.js.map +1 -1
  258. package/build/src/run/ios/options/promptDevice.js +16 -20
  259. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  260. package/build/src/run/ios/options/resolveDevice.js +24 -30
  261. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  262. package/build/src/run/ios/options/resolveNativeScheme.js +23 -31
  263. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  264. package/build/src/run/ios/options/resolveOptions.js +5 -7
  265. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  266. package/build/src/run/ios/options/resolveXcodeProject.js +5 -7
  267. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  268. package/build/src/run/ios/runIosAsync.js +44 -48
  269. package/build/src/run/ios/runIosAsync.js.map +1 -1
  270. package/build/src/run/ios/validateExternalBinary.js +22 -24
  271. package/build/src/run/ios/validateExternalBinary.js.map +1 -1
  272. package/build/src/run/resolveBundlerProps.js +2 -4
  273. package/build/src/run/resolveBundlerProps.js.map +1 -1
  274. package/build/src/run/startBundler.js +12 -16
  275. package/build/src/run/startBundler.js.map +1 -1
  276. package/build/src/serve/index.js +16 -20
  277. package/build/src/serve/index.js.map +1 -1
  278. package/build/src/serve/serveAsync.js +32 -36
  279. package/build/src/serve/serveAsync.js.map +1 -1
  280. package/build/src/start/detectDevClient.js +9 -13
  281. package/build/src/start/detectDevClient.js.map +1 -1
  282. package/build/src/start/doctor/Prerequisite.js +7 -12
  283. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  284. package/build/src/start/doctor/SecurityBinPrerequisite.js +11 -13
  285. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  286. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +19 -23
  287. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  288. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +19 -23
  289. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  290. package/build/src/start/doctor/apple/XcodePrerequisite.js +45 -51
  291. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  292. package/build/src/start/doctor/apple/XcrunPrerequisite.js +16 -18
  293. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  294. package/build/src/start/doctor/dependencies/bundledNativeModules.js +19 -23
  295. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  296. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +25 -31
  297. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  298. package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -25
  299. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  300. package/build/src/start/doctor/dependencies/getVersionedPackages.js +32 -40
  301. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  302. package/build/src/start/doctor/dependencies/resolvePackages.js +26 -32
  303. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  304. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +31 -41
  305. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  306. package/build/src/start/doctor/ngrok/ExternalModule.js +29 -34
  307. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  308. package/build/src/start/doctor/ngrok/NgrokResolver.js +8 -12
  309. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  310. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +28 -32
  311. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  312. package/build/src/start/doctor/typescript/updateTSConfig.js +17 -23
  313. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  314. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +27 -33
  315. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  316. package/build/src/start/index.js +42 -46
  317. package/build/src/start/index.js.map +1 -1
  318. package/build/src/start/interface/KeyPressHandler.js +14 -18
  319. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  320. package/build/src/start/interface/commandsTable.js +80 -94
  321. package/build/src/start/interface/commandsTable.js.map +1 -1
  322. package/build/src/start/interface/interactiveActions.js +40 -44
  323. package/build/src/start/interface/interactiveActions.js.map +1 -1
  324. package/build/src/start/interface/startInterface.js +61 -65
  325. package/build/src/start/interface/startInterface.js.map +1 -1
  326. package/build/src/start/platforms/AppIdResolver.js +4 -6
  327. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  328. package/build/src/start/platforms/DeviceManager.js +6 -10
  329. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  330. package/build/src/start/platforms/ExpoGoInstaller.js +20 -25
  331. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  332. package/build/src/start/platforms/PlatformManager.js +15 -17
  333. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  334. package/build/src/start/platforms/android/ADBServer.js +35 -39
  335. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  336. package/build/src/start/platforms/android/AndroidAppIdResolver.js +16 -18
  337. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  338. package/build/src/start/platforms/android/AndroidDeviceManager.js +20 -24
  339. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  340. package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
  341. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  342. package/build/src/start/platforms/android/AndroidSdk.js +9 -11
  343. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  344. package/build/src/start/platforms/android/activateWindow.js +22 -26
  345. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  346. package/build/src/start/platforms/android/adb.js +83 -121
  347. package/build/src/start/platforms/android/adb.js.map +1 -1
  348. package/build/src/start/platforms/android/adbReverse.js +12 -20
  349. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  350. package/build/src/start/platforms/android/emulator.js +26 -36
  351. package/build/src/start/platforms/android/emulator.js.map +1 -1
  352. package/build/src/start/platforms/android/getDevices.js +5 -7
  353. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  354. package/build/src/start/platforms/android/gradle.js +28 -36
  355. package/build/src/start/platforms/android/gradle.js.map +1 -1
  356. package/build/src/start/platforms/android/promptAndroidDevice.js +15 -19
  357. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  358. package/build/src/start/platforms/ios/AppleAppIdResolver.js +19 -21
  359. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  360. package/build/src/start/platforms/ios/AppleDeviceManager.js +31 -37
  361. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  362. package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
  363. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  364. package/build/src/start/platforms/ios/assertSystemRequirements.js +7 -9
  365. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  366. package/build/src/start/platforms/ios/devicectl.js +73 -87
  367. package/build/src/start/platforms/ios/devicectl.js.map +1 -1
  368. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +18 -22
  369. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  370. package/build/src/start/platforms/ios/getBestSimulator.js +19 -29
  371. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  372. package/build/src/start/platforms/ios/promptAppleDevice.js +10 -14
  373. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  374. package/build/src/start/platforms/ios/simctl.js +74 -102
  375. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  376. package/build/src/start/platforms/ios/simctlLogging.js +52 -57
  377. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  378. package/build/src/start/platforms/ios/xcrun.js +18 -22
  379. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  380. package/build/src/start/project/devices.js +9 -19
  381. package/build/src/start/project/devices.js.map +1 -1
  382. package/build/src/start/project/dotExpo.js +11 -15
  383. package/build/src/start/project/dotExpo.js.map +1 -1
  384. package/build/src/start/project/settings.js +2 -4
  385. package/build/src/start/project/settings.js.map +1 -1
  386. package/build/src/start/resolveOptions.js +40 -48
  387. package/build/src/start/resolveOptions.js.map +1 -1
  388. package/build/src/start/server/AsyncNgrok.js +51 -55
  389. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  390. package/build/src/start/server/AsyncWsTunnel.js +36 -40
  391. package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
  392. package/build/src/start/server/BundlerDevServer.js +79 -81
  393. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  394. package/build/src/start/server/DevServerManager.js +38 -42
  395. package/build/src/start/server/DevServerManager.js.map +1 -1
  396. package/build/src/start/server/DevToolsPluginManager.js +14 -18
  397. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  398. package/build/src/start/server/DevelopmentSession.js +14 -18
  399. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  400. package/build/src/start/server/ReactDevToolsProxy.js +10 -16
  401. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  402. package/build/src/start/server/UrlCreator.js +33 -36
  403. package/build/src/start/server/UrlCreator.js.map +1 -1
  404. package/build/src/start/server/getStaticRenderFunctions.js +21 -29
  405. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  406. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +4 -6
  407. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
  408. package/build/src/start/server/metro/MetroBundlerDevServer.js +271 -269
  409. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  410. package/build/src/start/server/metro/MetroTerminalReporter.js +56 -63
  411. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  412. package/build/src/start/server/metro/TerminalReporter.js +33 -39
  413. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  414. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  415. package/build/src/start/server/metro/createExpoMetroResolver.js +40 -46
  416. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  417. package/build/src/start/server/metro/createJResolver.js +28 -32
  418. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  419. package/build/src/start/server/metro/createServerComponentsMiddleware.js +92 -96
  420. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  421. package/build/src/start/server/metro/createServerRouteMiddleware.js +30 -32
  422. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  423. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +11 -13
  424. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
  425. package/build/src/start/server/metro/debugging/MessageHandler.js +1 -3
  426. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  427. package/build/src/start/server/metro/debugging/attachAtlas.js +22 -26
  428. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
  429. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +17 -19
  430. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  431. package/build/src/start/server/metro/debugging/createHandlersFactory.js +31 -25
  432. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  433. package/build/src/start/server/metro/debugging/getDebuggerType.js +4 -6
  434. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  435. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +8 -14
  436. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  437. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +5 -7
  438. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  439. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +6 -8
  440. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  441. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +5 -7
  442. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  443. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +12 -14
  444. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
  445. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +10 -14
  446. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  447. package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -6
  448. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  449. package/build/src/start/server/metro/debugging/types.js.map +1 -1
  450. package/build/src/start/server/metro/dev-server/createEventSocket.js +16 -18
  451. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
  452. package/build/src/start/server/metro/dev-server/createMessageSocket.js +21 -23
  453. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
  454. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +21 -23
  455. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
  456. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +2 -4
  457. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
  458. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +2 -4
  459. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
  460. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +4 -8
  461. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
  462. package/build/src/start/server/metro/externals.js +25 -33
  463. package/build/src/start/server/metro/externals.js.map +1 -1
  464. package/build/src/start/server/metro/fetchRouterManifest.js +12 -16
  465. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  466. package/build/src/start/server/metro/formatFileCandidates.js +9 -11
  467. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  468. package/build/src/start/server/metro/getCssModulesFromBundler.js +18 -22
  469. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  470. package/build/src/start/server/metro/instantiateMetro.js +79 -85
  471. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  472. package/build/src/start/server/metro/log-box/LogBoxLog.js +36 -40
  473. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
  474. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +14 -20
  475. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
  476. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +6 -10
  477. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
  478. package/build/src/start/server/metro/metroErrorInterface.js +78 -88
  479. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  480. package/build/src/start/server/metro/metroErrors.js +4 -8
  481. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  482. package/build/src/start/server/metro/metroPrivateServer.js +7 -9
  483. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
  484. package/build/src/start/server/metro/metroVirtualModules.js +8 -10
  485. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  486. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +22 -24
  487. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  488. package/build/src/start/server/metro/router.js +32 -48
  489. package/build/src/start/server/metro/router.js.map +1 -1
  490. package/build/src/start/server/metro/runServer-fork.js +22 -24
  491. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  492. package/build/src/start/server/metro/serializeHtml.js +22 -24
  493. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  494. package/build/src/start/server/metro/symbolicate.js.map +1 -1
  495. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +29 -35
  496. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  497. package/build/src/start/server/metro/withMetroMultiPlatform.js +139 -149
  498. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  499. package/build/src/start/server/metro/withMetroResolvers.js +39 -49
  500. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  501. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +6 -8
  502. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  503. package/build/src/start/server/middleware/CorsMiddleware.js +15 -17
  504. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  505. package/build/src/start/server/middleware/CreateFileMiddleware.js +31 -32
  506. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  507. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +19 -22
  508. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  509. package/build/src/start/server/middleware/DomComponentsMiddleware.js +27 -33
  510. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  511. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +60 -64
  512. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  513. package/build/src/start/server/middleware/ExpoMiddleware.js +9 -15
  514. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  515. package/build/src/start/server/middleware/FaviconMiddleware.js +14 -15
  516. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  517. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +2 -4
  518. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  519. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +31 -34
  520. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  521. package/build/src/start/server/middleware/ManifestMiddleware.js +56 -64
  522. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  523. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +19 -23
  524. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  525. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +19 -20
  526. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  527. package/build/src/start/server/middleware/ServeStaticMiddleware.js +9 -11
  528. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  529. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +11 -17
  530. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
  531. package/build/src/start/server/middleware/inspector/CdpClient.js +10 -12
  532. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
  533. package/build/src/start/server/middleware/inspector/JsInspector.js +27 -35
  534. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  535. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +19 -21
  536. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  537. package/build/src/start/server/middleware/inspector/middlwareMutations.js +2 -6
  538. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  539. package/build/src/start/server/middleware/metroOptions.js +96 -120
  540. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  541. package/build/src/start/server/middleware/mutations.js +3 -7
  542. package/build/src/start/server/middleware/mutations.js.map +1 -1
  543. package/build/src/start/server/middleware/resolveAssets.js +18 -26
  544. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  545. package/build/src/start/server/middleware/resolvePlatform.js +15 -23
  546. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  547. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +9 -11
  548. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
  549. package/build/src/start/server/middleware/server.types.js.map +1 -1
  550. package/build/src/start/server/openPlatforms.js +8 -10
  551. package/build/src/start/server/openPlatforms.js.map +1 -1
  552. package/build/src/start/server/platformBundlers.js +11 -13
  553. package/build/src/start/server/platformBundlers.js.map +1 -1
  554. package/build/src/start/server/serverLogLikeMetro.js +50 -58
  555. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  556. package/build/src/start/server/type-generation/expo-env.js +7 -11
  557. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  558. package/build/src/start/server/type-generation/routes.js +54 -76
  559. package/build/src/start/server/type-generation/routes.js.map +1 -1
  560. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +19 -21
  561. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  562. package/build/src/start/server/type-generation/tsconfig.js +28 -36
  563. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  564. package/build/src/start/server/webTemplate.js +24 -28
  565. package/build/src/start/server/webTemplate.js.map +1 -1
  566. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +46 -52
  567. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  568. package/build/src/start/server/webpack/compile.js +11 -15
  569. package/build/src/start/server/webpack/compile.js.map +1 -1
  570. package/build/src/start/server/webpack/formatWebpackMessages.js +26 -28
  571. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  572. package/build/src/start/server/webpack/resolveFromProject.js +12 -18
  573. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  574. package/build/src/start/server/webpack/tls.js +12 -18
  575. package/build/src/start/server/webpack/tls.js.map +1 -1
  576. package/build/src/start/startAsync.js +27 -31
  577. package/build/src/start/startAsync.js.map +1 -1
  578. package/build/src/utils/FileNotifier.js +17 -20
  579. package/build/src/utils/FileNotifier.js.map +1 -1
  580. package/build/src/utils/ansi.js +5 -7
  581. package/build/src/utils/ansi.js.map +1 -1
  582. package/build/src/utils/args.js +14 -24
  583. package/build/src/utils/args.js.map +1 -1
  584. package/build/src/utils/array.js +6 -18
  585. package/build/src/utils/array.js.map +1 -1
  586. package/build/src/utils/cocoapods.js +46 -54
  587. package/build/src/utils/cocoapods.js.map +1 -1
  588. package/build/src/utils/codesigning.js +68 -78
  589. package/build/src/utils/codesigning.js.map +1 -1
  590. package/build/src/utils/createFileTransform.js +12 -16
  591. package/build/src/utils/createFileTransform.js.map +1 -1
  592. package/build/src/utils/createTempPath.js +13 -17
  593. package/build/src/utils/createTempPath.js.map +1 -1
  594. package/build/src/utils/delay.js +6 -12
  595. package/build/src/utils/delay.js.map +1 -1
  596. package/build/src/utils/dir.js +28 -46
  597. package/build/src/utils/dir.js.map +1 -1
  598. package/build/src/utils/downloadAppAsync.js +8 -10
  599. package/build/src/utils/downloadAppAsync.js.map +1 -1
  600. package/build/src/utils/downloadExpoGoAsync.js +21 -25
  601. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  602. package/build/src/utils/editor.js +35 -41
  603. package/build/src/utils/editor.js.map +1 -1
  604. package/build/src/utils/env.js +59 -63
  605. package/build/src/utils/env.js.map +1 -1
  606. package/build/src/utils/errors.js +30 -37
  607. package/build/src/utils/errors.js.map +1 -1
  608. package/build/src/utils/exit.js +31 -35
  609. package/build/src/utils/exit.js.map +1 -1
  610. package/build/src/utils/expoUpdatesCli.js +22 -32
  611. package/build/src/utils/expoUpdatesCli.js.map +1 -1
  612. package/build/src/utils/fetch.js +4 -8
  613. package/build/src/utils/fetch.js.map +1 -1
  614. package/build/src/utils/filePath.js +6 -10
  615. package/build/src/utils/filePath.js.map +1 -1
  616. package/build/src/utils/findUp.js +9 -13
  617. package/build/src/utils/findUp.js.map +1 -1
  618. package/build/src/utils/fn.js +2 -6
  619. package/build/src/utils/fn.js.map +1 -1
  620. package/build/src/utils/getOrPromptApplicationId.js +26 -32
  621. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  622. package/build/src/utils/getRunningProcess.js +21 -29
  623. package/build/src/utils/getRunningProcess.js.map +1 -1
  624. package/build/src/utils/git.js +20 -26
  625. package/build/src/utils/git.js.map +1 -1
  626. package/build/src/utils/glob.js +4 -8
  627. package/build/src/utils/glob.js.map +1 -1
  628. package/build/src/utils/interactive.js +1 -3
  629. package/build/src/utils/interactive.js.map +1 -1
  630. package/build/src/utils/ip.js +19 -21
  631. package/build/src/utils/ip.js.map +1 -1
  632. package/build/src/utils/isModuleSymlinked.js +9 -11
  633. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  634. package/build/src/utils/jsonSchemaDeref.js +18 -20
  635. package/build/src/utils/jsonSchemaDeref.js.map +1 -1
  636. package/build/src/utils/link.js +13 -17
  637. package/build/src/utils/link.js.map +1 -1
  638. package/build/src/utils/mergeGitIgnorePaths.js +28 -46
  639. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  640. package/build/src/utils/modifyConfigAsync.js +10 -16
  641. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  642. package/build/src/utils/modifyConfigPlugins.js +6 -10
  643. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  644. package/build/src/utils/nodeEnv.js +6 -12
  645. package/build/src/utils/nodeEnv.js.map +1 -1
  646. package/build/src/utils/nodeModules.js +8 -10
  647. package/build/src/utils/nodeModules.js.map +1 -1
  648. package/build/src/utils/npm.js +36 -50
  649. package/build/src/utils/npm.js.map +1 -1
  650. package/build/src/utils/obj.js +5 -11
  651. package/build/src/utils/obj.js.map +1 -1
  652. package/build/src/utils/open.js +8 -10
  653. package/build/src/utils/open.js.map +1 -1
  654. package/build/src/utils/ora.js +7 -13
  655. package/build/src/utils/ora.js.map +1 -1
  656. package/build/src/utils/plist.js +15 -21
  657. package/build/src/utils/plist.js.map +1 -1
  658. package/build/src/utils/port.js +33 -43
  659. package/build/src/utils/port.js.map +1 -1
  660. package/build/src/utils/profile.js +7 -11
  661. package/build/src/utils/profile.js.map +1 -1
  662. package/build/src/utils/progress.js +5 -11
  663. package/build/src/utils/progress.js.map +1 -1
  664. package/build/src/utils/prompts.js +29 -47
  665. package/build/src/utils/prompts.js.map +1 -1
  666. package/build/src/utils/resolveArgs.js +24 -36
  667. package/build/src/utils/resolveArgs.js.map +1 -1
  668. package/build/src/utils/scheme.js +32 -40
  669. package/build/src/utils/scheme.js.map +1 -1
  670. package/build/src/utils/stream.js +3 -5
  671. package/build/src/utils/stream.js.map +1 -1
  672. package/build/src/utils/strings.js +4 -6
  673. package/build/src/utils/strings.js.map +1 -1
  674. package/build/src/utils/tar.js +15 -19
  675. package/build/src/utils/tar.js.map +1 -1
  676. package/build/src/utils/telemetry/Telemetry.js +27 -29
  677. package/build/src/utils/telemetry/Telemetry.js.map +1 -1
  678. package/build/src/utils/telemetry/clients/FetchClient.js +13 -15
  679. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
  680. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +22 -26
  681. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
  682. package/build/src/utils/telemetry/clients/RudderClient.js +8 -10
  683. package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
  684. package/build/src/utils/telemetry/clients/RudderDetachedClient.js +22 -26
  685. package/build/src/utils/telemetry/clients/RudderDetachedClient.js.map +1 -1
  686. package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
  687. package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
  688. package/build/src/utils/telemetry/clients/flushRudderDetached.js +10 -10
  689. package/build/src/utils/telemetry/clients/flushRudderDetached.js.map +1 -1
  690. package/build/src/utils/telemetry/events.js +2 -4
  691. package/build/src/utils/telemetry/events.js.map +1 -1
  692. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  693. package/build/src/utils/telemetry/index.js +29 -25
  694. package/build/src/utils/telemetry/index.js.map +1 -1
  695. package/build/src/utils/telemetry/types.js.map +1 -1
  696. package/build/src/utils/telemetry/utils/constants.js +4 -8
  697. package/build/src/utils/telemetry/utils/constants.js.map +1 -1
  698. package/build/src/utils/telemetry/utils/context.js +14 -18
  699. package/build/src/utils/telemetry/utils/context.js.map +1 -1
  700. package/build/src/utils/template.js +4 -6
  701. package/build/src/utils/template.js.map +1 -1
  702. package/build/src/utils/terminal.js +2 -4
  703. package/build/src/utils/terminal.js.map +1 -1
  704. package/build/src/utils/tsconfig/evaluateTsConfig.js +17 -21
  705. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  706. package/build/src/utils/tsconfig/loadTsConfigPaths.js +14 -18
  707. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  708. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +5 -7
  709. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  710. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -14
  711. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  712. package/build/src/utils/url.js +13 -23
  713. package/build/src/utils/url.js.map +1 -1
  714. package/build/src/utils/validateApplicationId.js +86 -108
  715. package/build/src/utils/validateApplicationId.js.map +1 -1
  716. package/build/src/utils/variadic.js +16 -22
  717. package/build/src/utils/variadic.js.map +1 -1
  718. package/build/src/whoami/index.js +7 -11
  719. package/build/src/whoami/index.js.map +1 -1
  720. package/build/src/whoami/whoamiAsync.js +7 -11
  721. package/build/src/whoami/whoamiAsync.js.map +1 -1
  722. package/package.json +3 -3
@@ -9,35 +9,23 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- _resolveStringOrBooleanArgs: function() {
13
- return _resolveStringOrBooleanArgs;
14
- },
15
- assertDuplicateArgs: function() {
16
- return assertDuplicateArgs;
17
- },
18
- assertUnknownArgs: function() {
19
- return assertUnknownArgs;
20
- },
21
- collapseAliases: function() {
22
- return collapseAliases;
23
- },
24
- resolveCustomBooleanArgsAsync: function() {
25
- return resolveCustomBooleanArgsAsync;
26
- },
27
- resolveStringOrBooleanArgsAsync: function() {
28
- return resolveStringOrBooleanArgsAsync;
29
- }
12
+ resolveStringOrBooleanArgsAsync: ()=>resolveStringOrBooleanArgsAsync,
13
+ resolveCustomBooleanArgsAsync: ()=>resolveCustomBooleanArgsAsync,
14
+ "_resolveStringOrBooleanArgs": ()=>_resolveStringOrBooleanArgs,
15
+ collapseAliases: ()=>collapseAliases,
16
+ assertUnknownArgs: ()=>assertUnknownArgs,
17
+ assertDuplicateArgs: ()=>assertDuplicateArgs
30
18
  });
31
19
  const _array = require("./array");
32
20
  const _errors = require("./errors");
33
21
  /** Split up arguments that are formatted like `--foo=bar` or `-f="bar"` to `['--foo', 'bar']` */ function splitArgs(args) {
34
22
  const result = [];
35
23
  for (const arg of args){
36
- if (arg.startsWith('-')) {
37
- const [key, ...props] = arg.split('=');
24
+ if (arg.startsWith("-")) {
25
+ const [key, ...props] = arg.split("=");
38
26
  result.push(key);
39
27
  if (props.length) {
40
- result.push(props.join('='));
28
+ result.push(props.join("="));
41
29
  }
42
30
  } else {
43
31
  result.push(arg);
@@ -66,16 +54,16 @@ async function resolveCustomBooleanArgsAsync(args, rawMap, extraArgs) {
66
54
  ...results,
67
55
  args: Object.fromEntries(Object.entries(results.args).map(([key, value])=>{
68
56
  if (extraArgs[key]) {
69
- if (typeof value === 'string') {
57
+ if (typeof value === "string") {
70
58
  if (![
71
- 'true',
72
- 'false'
59
+ "true",
60
+ "false"
73
61
  ].includes(value)) {
74
- throw new _errors.CommandError('BAD_ARGS', `Invalid boolean argument: ${key}=${value}. Expected one of: true, false`);
62
+ throw new _errors.CommandError("BAD_ARGS", `Invalid boolean argument: ${key}=${value}. Expected one of: true, false`);
75
63
  }
76
64
  return [
77
65
  key,
78
- value === 'true'
66
+ value === "true"
79
67
  ];
80
68
  }
81
69
  }
@@ -88,16 +76,16 @@ async function resolveCustomBooleanArgsAsync(args, rawMap, extraArgs) {
88
76
  }
89
77
  function _resolveStringOrBooleanArgs(arg, args) {
90
78
  // Default project root, if a custom one is defined then it will overwrite this.
91
- let projectRoot = '.';
79
+ let projectRoot = ".";
92
80
  // The resolved arguments.
93
81
  const settings = {};
94
82
  // Create a list of possible arguments, this will filter out aliases.
95
- const possibleArgs = Object.entries(arg).filter(([, value])=>typeof value !== 'string').map(([key])=>key);
83
+ const possibleArgs = Object.entries(arg).filter(([, value])=>typeof value !== "string").map(([key])=>key);
96
84
  // Loop over arguments in reverse order so we can resolve if a value belongs to a flag.
97
85
  for(let i = args.length - 1; i > -1; i--){
98
86
  const value = args[i];
99
87
  // At this point we should have converted all aliases to fully qualified arguments.
100
- if (value.startsWith('--')) {
88
+ if (value.startsWith("--")) {
101
89
  // If we ever find an argument then it must be a boolean because we are checking in reverse
102
90
  // and removing arguments from the array if we find a string.
103
91
  // We don't override arguments that are already set
@@ -119,7 +107,7 @@ function _resolveStringOrBooleanArgs(arg, args) {
119
107
  projectRoot = value;
120
108
  } else {
121
109
  // This will asserts if two strings are passed in a row and not at the end of the line.
122
- throw new _errors.CommandError('BAD_ARGS', `Unknown argument: ${value}`);
110
+ throw new _errors.CommandError("BAD_ARGS", `Unknown argument: ${value}`);
123
111
  }
124
112
  }
125
113
  }
@@ -130,8 +118,8 @@ function _resolveStringOrBooleanArgs(arg, args) {
130
118
  }
131
119
  function collapseAliases(arg, args) {
132
120
  const aliasMap = getAliasTuples(arg);
133
- for (const [arg, alias] of aliasMap){
134
- args = (0, _array.replaceValue)(args, arg, alias);
121
+ for (const [arg1, alias] of aliasMap){
122
+ args = (0, _array.replaceValue)(args, arg1, alias);
135
123
  }
136
124
  // Assert if there are duplicate flags after we collapse the aliases.
137
125
  assertDuplicateArgs(args, aliasMap);
@@ -139,13 +127,13 @@ function collapseAliases(arg, args) {
139
127
  }
140
128
  function assertUnknownArgs(arg, args) {
141
129
  const allowedArgs = Object.keys(arg);
142
- const unknownArgs = args.filter((arg)=>!allowedArgs.includes(arg) && arg.startsWith('-'));
130
+ const unknownArgs = args.filter((arg)=>!allowedArgs.includes(arg) && arg.startsWith("-"));
143
131
  if (unknownArgs.length > 0) {
144
- throw new _errors.CommandError(`Unknown arguments: ${unknownArgs.join(', ')}`);
132
+ throw new _errors.CommandError(`Unknown arguments: ${unknownArgs.join(", ")}`);
145
133
  }
146
134
  }
147
135
  function getAliasTuples(arg) {
148
- return Object.entries(arg).filter(([, value])=>typeof value === 'string');
136
+ return Object.entries(arg).filter(([, value])=>typeof value === "string");
149
137
  }
150
138
  function assertDuplicateArgs(args, argNameAliasTuple) {
151
139
  for (const [argName, argNameAlias] of argNameAliasTuple){
@@ -153,7 +141,7 @@ function assertDuplicateArgs(args, argNameAliasTuple) {
153
141
  argName,
154
142
  argNameAlias
155
143
  ].includes(a)).length > 1) {
156
- throw new _errors.CommandError('BAD_ARGS', `Can only provide one instance of ${argName} or ${argNameAlias}`);
144
+ throw new _errors.CommandError("BAD_ARGS", `Can only provide one instance of ${argName} or ${argNameAlias}`);
157
145
  }
158
146
  }
159
147
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/resolveArgs.ts"],"sourcesContent":["import arg, { Spec } from 'arg';\n\nimport { replaceValue } from './array';\nimport { CommandError } from './errors';\n\n/** Split up arguments that are formatted like `--foo=bar` or `-f=\"bar\"` to `['--foo', 'bar']` */\nfunction splitArgs(args: string[]): string[] {\n const result: string[] = [];\n\n for (const arg of args) {\n if (arg.startsWith('-')) {\n const [key, ...props] = arg.split('=');\n result.push(key);\n if (props.length) {\n result.push(props.join('='));\n }\n } else {\n result.push(arg);\n }\n }\n\n return result;\n}\n\n/**\n * Enables the resolution of arguments that can either be a string or a boolean.\n *\n * @param args arguments that were passed to the command.\n * @param rawMap raw map of arguments that are passed to the command.\n * @param extraArgs extra arguments and aliases that should be resolved as string or boolean.\n * @returns parsed arguments and project root.\n */\nexport async function resolveStringOrBooleanArgsAsync(\n args: string[],\n rawMap: arg.Spec,\n extraArgs: arg.Spec\n) {\n args = splitArgs(args);\n\n // Assert any missing arguments\n assertUnknownArgs(\n {\n ...rawMap,\n ...extraArgs,\n },\n args\n );\n\n // Collapse aliases into fully qualified arguments.\n args = collapseAliases(extraArgs, args);\n\n // Resolve all of the string or boolean arguments and the project root.\n return _resolveStringOrBooleanArgs({ ...rawMap, ...extraArgs }, args);\n}\n\n/**\n * Enables the resolution of boolean arguments that can be formatted like `--foo=true` or `--foo false`\n *\n * @param args arguments that were passed to the command.\n * @param rawMap raw map of arguments that are passed to the command.\n * @param extraArgs extra arguments and aliases that should be resolved as string or boolean.\n * @returns parsed arguments and project root.\n */\nexport async function resolveCustomBooleanArgsAsync(\n args: string[],\n rawMap: arg.Spec,\n extraArgs: arg.Spec\n) {\n const results = await resolveStringOrBooleanArgsAsync(args, rawMap, extraArgs);\n\n return {\n ...results,\n args: Object.fromEntries(\n Object.entries(results.args).map(([key, value]) => {\n if (extraArgs[key]) {\n if (typeof value === 'string') {\n if (!['true', 'false'].includes(value)) {\n throw new CommandError(\n 'BAD_ARGS',\n `Invalid boolean argument: ${key}=${value}. Expected one of: true, false`\n );\n }\n return [key, value === 'true'];\n }\n }\n return [key, value];\n })\n ),\n };\n}\n\nexport function _resolveStringOrBooleanArgs(arg: Spec, args: string[]) {\n // Default project root, if a custom one is defined then it will overwrite this.\n let projectRoot: string = '.';\n // The resolved arguments.\n const settings: Record<string, string | boolean | undefined> = {};\n\n // Create a list of possible arguments, this will filter out aliases.\n const possibleArgs = Object.entries(arg)\n .filter(([, value]) => typeof value !== 'string')\n .map(([key]) => key);\n\n // Loop over arguments in reverse order so we can resolve if a value belongs to a flag.\n for (let i = args.length - 1; i > -1; i--) {\n const value = args[i];\n // At this point we should have converted all aliases to fully qualified arguments.\n if (value.startsWith('--')) {\n // If we ever find an argument then it must be a boolean because we are checking in reverse\n // and removing arguments from the array if we find a string.\n // We don't override arguments that are already set\n if (!(value in settings)) {\n settings[value] = true;\n }\n } else {\n // Get the previous argument in the array.\n const nextValue = i > 0 ? args[i - 1] : null;\n if (nextValue && possibleArgs.includes(nextValue)) {\n // We don't override arguments that are already set\n if (!(nextValue in settings)) {\n settings[nextValue] = value;\n }\n i--;\n } else if (\n // If the last value is not a flag and it doesn't have a recognized flag before it (instead having a string value or nothing)\n // then it must be the project root.\n i ===\n args.length - 1\n ) {\n projectRoot = value;\n } else {\n // This will asserts if two strings are passed in a row and not at the end of the line.\n throw new CommandError('BAD_ARGS', `Unknown argument: ${value}`);\n }\n }\n }\n\n return {\n args: settings,\n projectRoot,\n };\n}\n\n/** Convert all aliases to fully qualified flag names. */\nexport function collapseAliases(arg: Spec, args: string[]): string[] {\n const aliasMap = getAliasTuples(arg);\n\n for (const [arg, alias] of aliasMap) {\n args = replaceValue(args, arg, alias);\n }\n\n // Assert if there are duplicate flags after we collapse the aliases.\n assertDuplicateArgs(args, aliasMap);\n return args;\n}\n\n/** Assert that the spec has unknown arguments. */\nexport function assertUnknownArgs(arg: Spec, args: string[]) {\n const allowedArgs = Object.keys(arg);\n const unknownArgs = args.filter((arg) => !allowedArgs.includes(arg) && arg.startsWith('-'));\n if (unknownArgs.length > 0) {\n throw new CommandError(`Unknown arguments: ${unknownArgs.join(', ')}`);\n }\n}\n\nfunction getAliasTuples(arg: Spec): [string, string][] {\n return Object.entries(arg).filter(([, value]) => typeof value === 'string') as [string, string][];\n}\n\n/** Asserts that a duplicate flag has been used, this naively throws without knowing if an alias or flag were used as the duplicate. */\nexport function assertDuplicateArgs(args: string[], argNameAliasTuple: [string, string][]) {\n for (const [argName, argNameAlias] of argNameAliasTuple) {\n if (args.filter((a) => [argName, argNameAlias].includes(a)).length > 1) {\n throw new CommandError(\n 'BAD_ARGS',\n `Can only provide one instance of ${argName} or ${argNameAlias}`\n );\n }\n }\n}\n"],"names":["_resolveStringOrBooleanArgs","assertDuplicateArgs","assertUnknownArgs","collapseAliases","resolveCustomBooleanArgsAsync","resolveStringOrBooleanArgsAsync","splitArgs","args","result","arg","startsWith","key","props","split","push","length","join","rawMap","extraArgs","results","Object","fromEntries","entries","map","value","includes","CommandError","projectRoot","settings","possibleArgs","filter","i","nextValue","aliasMap","getAliasTuples","alias","replaceValue","allowedArgs","keys","unknownArgs","argNameAliasTuple","argName","argNameAlias","a"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/utils/resolveArgs.ts"],"sourcesContent":["import arg, { Spec } from 'arg';\n\nimport { replaceValue } from './array';\nimport { CommandError } from './errors';\n\n/** Split up arguments that are formatted like `--foo=bar` or `-f=\"bar\"` to `['--foo', 'bar']` */\nfunction splitArgs(args: string[]): string[] {\n const result: string[] = [];\n\n for (const arg of args) {\n if (arg.startsWith('-')) {\n const [key, ...props] = arg.split('=');\n result.push(key);\n if (props.length) {\n result.push(props.join('='));\n }\n } else {\n result.push(arg);\n }\n }\n\n return result;\n}\n\n/**\n * Enables the resolution of arguments that can either be a string or a boolean.\n *\n * @param args arguments that were passed to the command.\n * @param rawMap raw map of arguments that are passed to the command.\n * @param extraArgs extra arguments and aliases that should be resolved as string or boolean.\n * @returns parsed arguments and project root.\n */\nexport async function resolveStringOrBooleanArgsAsync(\n args: string[],\n rawMap: arg.Spec,\n extraArgs: arg.Spec\n) {\n args = splitArgs(args);\n\n // Assert any missing arguments\n assertUnknownArgs(\n {\n ...rawMap,\n ...extraArgs,\n },\n args\n );\n\n // Collapse aliases into fully qualified arguments.\n args = collapseAliases(extraArgs, args);\n\n // Resolve all of the string or boolean arguments and the project root.\n return _resolveStringOrBooleanArgs({ ...rawMap, ...extraArgs }, args);\n}\n\n/**\n * Enables the resolution of boolean arguments that can be formatted like `--foo=true` or `--foo false`\n *\n * @param args arguments that were passed to the command.\n * @param rawMap raw map of arguments that are passed to the command.\n * @param extraArgs extra arguments and aliases that should be resolved as string or boolean.\n * @returns parsed arguments and project root.\n */\nexport async function resolveCustomBooleanArgsAsync(\n args: string[],\n rawMap: arg.Spec,\n extraArgs: arg.Spec\n) {\n const results = await resolveStringOrBooleanArgsAsync(args, rawMap, extraArgs);\n\n return {\n ...results,\n args: Object.fromEntries(\n Object.entries(results.args).map(([key, value]) => {\n if (extraArgs[key]) {\n if (typeof value === 'string') {\n if (!['true', 'false'].includes(value)) {\n throw new CommandError(\n 'BAD_ARGS',\n `Invalid boolean argument: ${key}=${value}. Expected one of: true, false`\n );\n }\n return [key, value === 'true'];\n }\n }\n return [key, value];\n })\n ),\n };\n}\n\nexport function _resolveStringOrBooleanArgs(arg: Spec, args: string[]) {\n // Default project root, if a custom one is defined then it will overwrite this.\n let projectRoot: string = '.';\n // The resolved arguments.\n const settings: Record<string, string | boolean | undefined> = {};\n\n // Create a list of possible arguments, this will filter out aliases.\n const possibleArgs = Object.entries(arg)\n .filter(([, value]) => typeof value !== 'string')\n .map(([key]) => key);\n\n // Loop over arguments in reverse order so we can resolve if a value belongs to a flag.\n for (let i = args.length - 1; i > -1; i--) {\n const value = args[i];\n // At this point we should have converted all aliases to fully qualified arguments.\n if (value.startsWith('--')) {\n // If we ever find an argument then it must be a boolean because we are checking in reverse\n // and removing arguments from the array if we find a string.\n // We don't override arguments that are already set\n if (!(value in settings)) {\n settings[value] = true;\n }\n } else {\n // Get the previous argument in the array.\n const nextValue = i > 0 ? args[i - 1] : null;\n if (nextValue && possibleArgs.includes(nextValue)) {\n // We don't override arguments that are already set\n if (!(nextValue in settings)) {\n settings[nextValue] = value;\n }\n i--;\n } else if (\n // If the last value is not a flag and it doesn't have a recognized flag before it (instead having a string value or nothing)\n // then it must be the project root.\n i ===\n args.length - 1\n ) {\n projectRoot = value;\n } else {\n // This will asserts if two strings are passed in a row and not at the end of the line.\n throw new CommandError('BAD_ARGS', `Unknown argument: ${value}`);\n }\n }\n }\n\n return {\n args: settings,\n projectRoot,\n };\n}\n\n/** Convert all aliases to fully qualified flag names. */\nexport function collapseAliases(arg: Spec, args: string[]): string[] {\n const aliasMap = getAliasTuples(arg);\n\n for (const [arg, alias] of aliasMap) {\n args = replaceValue(args, arg, alias);\n }\n\n // Assert if there are duplicate flags after we collapse the aliases.\n assertDuplicateArgs(args, aliasMap);\n return args;\n}\n\n/** Assert that the spec has unknown arguments. */\nexport function assertUnknownArgs(arg: Spec, args: string[]) {\n const allowedArgs = Object.keys(arg);\n const unknownArgs = args.filter((arg) => !allowedArgs.includes(arg) && arg.startsWith('-'));\n if (unknownArgs.length > 0) {\n throw new CommandError(`Unknown arguments: ${unknownArgs.join(', ')}`);\n }\n}\n\nfunction getAliasTuples(arg: Spec): [string, string][] {\n return Object.entries(arg).filter(([, value]) => typeof value === 'string') as [string, string][];\n}\n\n/** Asserts that a duplicate flag has been used, this naively throws without knowing if an alias or flag were used as the duplicate. */\nexport function assertDuplicateArgs(args: string[], argNameAliasTuple: [string, string][]) {\n for (const [argName, argNameAlias] of argNameAliasTuple) {\n if (args.filter((a) => [argName, argNameAlias].includes(a)).length > 1) {\n throw new CommandError(\n 'BAD_ARGS',\n `Can only provide one instance of ${argName} or ${argNameAlias}`\n );\n }\n }\n}\n"],"names":["resolveStringOrBooleanArgsAsync","resolveCustomBooleanArgsAsync","_resolveStringOrBooleanArgs","collapseAliases","assertUnknownArgs","assertDuplicateArgs","splitArgs","args","result","arg","startsWith","key","props","split","push","length","join","rawMap","extraArgs","results","Object","fromEntries","entries","map","value","includes","CommandError","projectRoot","settings","possibleArgs","filter","i","nextValue","aliasMap","getAliasTuples","alias","replaceValue","allowedArgs","keys","unknownArgs","argNameAliasTuple","argName","argNameAlias","a"],"mappings":"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"}
@@ -9,15 +9,9 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- getOptionalDevClientSchemeAsync: function() {
13
- return getOptionalDevClientSchemeAsync;
14
- },
15
- getSchemesForAndroidAsync: function() {
16
- return getSchemesForAndroidAsync;
17
- },
18
- getSchemesForIosAsync: function() {
19
- return getSchemesForIosAsync;
20
- }
12
+ getSchemesForIosAsync: ()=>getSchemesForIosAsync,
13
+ getSchemesForAndroidAsync: ()=>getSchemesForAndroidAsync,
14
+ getOptionalDevClientSchemeAsync: ()=>getOptionalDevClientSchemeAsync
21
15
  });
22
16
  function _config() {
23
17
  const data = require("@expo/config");
@@ -26,9 +20,9 @@ function _config() {
26
20
  };
27
21
  return data;
28
22
  }
29
- function _configplugins() {
23
+ function _configPlugins() {
30
24
  const data = require("@expo/config-plugins");
31
- _configplugins = function() {
25
+ _configPlugins = function() {
32
26
  return data;
33
27
  };
34
28
  return data;
@@ -41,37 +35,37 @@ function _getInfoPlistPath() {
41
35
  return data;
42
36
  }
43
37
  function _plist() {
44
- const data = /*#__PURE__*/ _interop_require_default(require("@expo/plist"));
38
+ const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/plist"));
45
39
  _plist = function() {
46
40
  return data;
47
41
  };
48
42
  return data;
49
43
  }
50
44
  function _fs() {
51
- const data = /*#__PURE__*/ _interop_require_default(require("fs"));
45
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
52
46
  _fs = function() {
53
47
  return data;
54
48
  };
55
49
  return data;
56
50
  }
57
51
  function _path() {
58
- const data = /*#__PURE__*/ _interop_require_default(require("path"));
52
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
59
53
  _path = function() {
60
54
  return data;
61
55
  };
62
56
  return data;
63
57
  }
64
- function _resolvefrom() {
65
- const data = /*#__PURE__*/ _interop_require_default(require("resolve-from"));
66
- _resolvefrom = function() {
58
+ function _resolveFrom() {
59
+ const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
60
+ _resolveFrom = function() {
67
61
  return data;
68
62
  };
69
63
  return data;
70
64
  }
71
65
  const _array = require("./array");
72
- const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
66
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../log"));
73
67
  const _clearNativeFolder = require("../prebuild/clearNativeFolder");
74
- function _interop_require_default(obj) {
68
+ function _interopRequireDefault(obj) {
75
69
  return obj && obj.__esModule ? obj : {
76
70
  default: obj
77
71
  };
@@ -84,7 +78,7 @@ function _getRequireWildcardCache(nodeInterop) {
84
78
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
85
79
  })(nodeInterop);
86
80
  }
87
- function _interop_require_wildcard(obj, nodeInterop) {
81
+ function _interopRequireWildcard(obj, nodeInterop) {
88
82
  if (!nodeInterop && obj && obj.__esModule) {
89
83
  return obj;
90
84
  }
@@ -97,9 +91,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
97
91
  if (cache && cache.has(obj)) {
98
92
  return cache.get(obj);
99
93
  }
100
- var newObj = {
101
- __proto__: null
102
- };
94
+ var newObj = {};
103
95
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
104
96
  for(var key in obj){
105
97
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -117,7 +109,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
117
109
  }
118
110
  return newObj;
119
111
  }
120
- const debug = require('debug')('expo:utils:scheme');
112
+ const debug = require("debug")("expo:utils:scheme");
121
113
  // sort longest to ensure uniqueness.
122
114
  // this might be undesirable as it causes the QR code to be longer.
123
115
  function sortLongest(obj) {
@@ -128,7 +120,7 @@ function sortLongest(obj) {
128
120
  * - filter on known Expo schemes, starting with `exp+`, avoiding 3rd party schemes.
129
121
  * - filter on longest to ensure uniqueness.
130
122
  */ function resolveExpoOrLongestScheme(schemes) {
131
- const expoOnlySchemes = schemes.filter((scheme)=>scheme.startsWith('exp+'));
123
+ const expoOnlySchemes = schemes.filter((scheme)=>scheme.startsWith("exp+"));
132
124
  return expoOnlySchemes.length > 0 ? sortLongest(expoOnlySchemes) : sortLongest(schemes);
133
125
  }
134
126
  async function getSchemesForIosAsync(projectRoot) {
@@ -136,10 +128,10 @@ async function getSchemesForIosAsync(projectRoot) {
136
128
  const infoPlistBuildProperty = (0, _getInfoPlistPath().getInfoPlistPathFromPbxproj)(projectRoot);
137
129
  debug(`ios application Info.plist path:`, infoPlistBuildProperty);
138
130
  if (infoPlistBuildProperty) {
139
- const configPath = _path().default.join(projectRoot, 'ios', infoPlistBuildProperty);
140
- const rawPlist = _fs().default.readFileSync(configPath, 'utf8');
131
+ const configPath = _path().default.join(projectRoot, "ios", infoPlistBuildProperty);
132
+ const rawPlist = _fs().default.readFileSync(configPath, "utf8");
141
133
  const plistObject = _plist().default.parse(rawPlist);
142
- const schemes = _configplugins().IOSConfig.Scheme.getSchemesFromPlist(plistObject);
134
+ const schemes = _configPlugins().IOSConfig.Scheme.getSchemesFromPlist(plistObject);
143
135
  debug(`ios application schemes:`, schemes);
144
136
  return resolveExpoOrLongestScheme(schemes);
145
137
  }
@@ -151,9 +143,9 @@ async function getSchemesForIosAsync(projectRoot) {
151
143
  }
152
144
  async function getSchemesForAndroidAsync(projectRoot) {
153
145
  try {
154
- const configPath = await _configplugins().AndroidConfig.Paths.getAndroidManifestAsync(projectRoot);
155
- const manifest = await _configplugins().AndroidConfig.Manifest.readAndroidManifestAsync(configPath);
156
- const schemes = await _configplugins().AndroidConfig.Scheme.getSchemesFromManifest(manifest);
146
+ const configPath = await _configPlugins().AndroidConfig.Paths.getAndroidManifestAsync(projectRoot);
147
+ const manifest = await _configPlugins().AndroidConfig.Manifest.readAndroidManifestAsync(configPath);
148
+ const schemes = await _configPlugins().AndroidConfig.Scheme.getSchemesFromManifest(manifest);
157
149
  debug(`android application schemes:`, schemes);
158
150
  return resolveExpoOrLongestScheme(schemes);
159
151
  } catch (error) {
@@ -164,47 +156,47 @@ async function getSchemesForAndroidAsync(projectRoot) {
164
156
  }
165
157
  // TODO: Revisit and test after run code is merged.
166
158
  async function getManagedDevClientSchemeAsync(projectRoot) {
167
- const { exp } = (0, _config().getConfig)(projectRoot);
159
+ const { exp } = (0, _config().getConfig)(projectRoot);
168
160
  try {
169
- const getDefaultScheme = require((0, _resolvefrom().default)(projectRoot, 'expo-dev-client/getDefaultScheme'));
161
+ const getDefaultScheme = require((0, _resolveFrom().default)(projectRoot, "expo-dev-client/getDefaultScheme"));
170
162
  const scheme = getDefaultScheme(exp);
171
163
  return scheme;
172
164
  } catch {
173
- _log.warn('\nDevelopment build: Unable to get the default URI scheme for the project. Please make sure the expo-dev-client package is installed.');
165
+ _log.warn("\nDevelopment build: Unable to get the default URI scheme for the project. Please make sure the expo-dev-client package is installed.");
174
166
  return null;
175
167
  }
176
168
  }
177
169
  async function getOptionalDevClientSchemeAsync(projectRoot) {
178
170
  const [hasIos, hasAndroid] = await Promise.all([
179
171
  (0, _clearNativeFolder.hasRequiredIOSFilesAsync)(projectRoot),
180
- (0, _clearNativeFolder.hasRequiredAndroidFilesAsync)(projectRoot)
172
+ (0, _clearNativeFolder.hasRequiredAndroidFilesAsync)(projectRoot),
181
173
  ]);
182
174
  const [ios, android] = await Promise.all([
183
175
  getSchemesForIosAsync(projectRoot),
184
- getSchemesForAndroidAsync(projectRoot)
176
+ getSchemesForAndroidAsync(projectRoot),
185
177
  ]);
186
178
  // Allow managed projects
187
179
  if (!hasIos && !hasAndroid) {
188
180
  return {
189
181
  scheme: await getManagedDevClientSchemeAsync(projectRoot),
190
- resolution: 'config'
182
+ resolution: "config"
191
183
  };
192
184
  }
193
185
  // Allow for only one native project to exist.
194
186
  if (!hasIos) {
195
187
  return {
196
188
  scheme: android[0],
197
- resolution: 'android'
189
+ resolution: "android"
198
190
  };
199
191
  } else if (!hasAndroid) {
200
192
  return {
201
193
  scheme: ios[0],
202
- resolution: 'ios'
194
+ resolution: "ios"
203
195
  };
204
196
  } else {
205
197
  return {
206
198
  scheme: (0, _array.intersecting)(ios, android)[0],
207
- resolution: 'shared'
199
+ resolution: "shared"
208
200
  };
209
201
  }
210
202
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/scheme.ts"],"sourcesContent":["import { getConfig } from '@expo/config';\nimport { AndroidConfig, IOSConfig } from '@expo/config-plugins';\nimport { getInfoPlistPathFromPbxproj } from '@expo/config-plugins/build/ios/utils/getInfoPlistPath';\nimport plist from '@expo/plist';\nimport fs from 'fs';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\n\nimport { intersecting } from './array';\nimport * as Log from '../log';\nimport {\n hasRequiredAndroidFilesAsync,\n hasRequiredIOSFilesAsync,\n} from '../prebuild/clearNativeFolder';\n\nconst debug = require('debug')('expo:utils:scheme') as typeof console.log;\n\n// sort longest to ensure uniqueness.\n// this might be undesirable as it causes the QR code to be longer.\nfunction sortLongest(obj: string[]): string[] {\n return obj.sort((a, b) => b.length - a.length);\n}\n\n/**\n * Resolve the scheme for the dev client using two methods:\n * - filter on known Expo schemes, starting with `exp+`, avoiding 3rd party schemes.\n * - filter on longest to ensure uniqueness.\n */\nfunction resolveExpoOrLongestScheme(schemes: string[]): string[] {\n const expoOnlySchemes = schemes.filter((scheme) => scheme.startsWith('exp+'));\n return expoOnlySchemes.length > 0 ? sortLongest(expoOnlySchemes) : sortLongest(schemes);\n}\n\n// TODO: Revisit and test after run code is merged.\nexport async function getSchemesForIosAsync(projectRoot: string): Promise<string[]> {\n try {\n const infoPlistBuildProperty = getInfoPlistPathFromPbxproj(projectRoot);\n debug(`ios application Info.plist path:`, infoPlistBuildProperty);\n if (infoPlistBuildProperty) {\n const configPath = path.join(projectRoot, 'ios', infoPlistBuildProperty);\n const rawPlist = fs.readFileSync(configPath, 'utf8');\n const plistObject = plist.parse(rawPlist);\n const schemes = IOSConfig.Scheme.getSchemesFromPlist(plistObject);\n debug(`ios application schemes:`, schemes);\n return resolveExpoOrLongestScheme(schemes);\n }\n } catch (error) {\n debug(`expected error collecting ios application schemes for the main target:`, error);\n }\n // No ios folder or some other error\n return [];\n}\n\n// TODO: Revisit and test after run code is merged.\nexport async function getSchemesForAndroidAsync(projectRoot: string): Promise<string[]> {\n try {\n const configPath = await AndroidConfig.Paths.getAndroidManifestAsync(projectRoot);\n const manifest = await AndroidConfig.Manifest.readAndroidManifestAsync(configPath);\n const schemes = await AndroidConfig.Scheme.getSchemesFromManifest(manifest);\n debug(`android application schemes:`, schemes);\n return resolveExpoOrLongestScheme(schemes);\n } catch (error) {\n debug(`expected error collecting android application schemes for the main activity:`, error);\n // No android folder or some other error\n return [];\n }\n}\n\n// TODO: Revisit and test after run code is merged.\nasync function getManagedDevClientSchemeAsync(projectRoot: string): Promise<string | null> {\n const { exp } = getConfig(projectRoot);\n try {\n const getDefaultScheme = require(resolveFrom(projectRoot, 'expo-dev-client/getDefaultScheme'));\n const scheme = getDefaultScheme(exp);\n return scheme;\n } catch {\n Log.warn(\n '\\nDevelopment build: Unable to get the default URI scheme for the project. Please make sure the expo-dev-client package is installed.'\n );\n return null;\n }\n}\n\n// TODO: Revisit and test after run code is merged.\nexport async function getOptionalDevClientSchemeAsync(\n projectRoot: string\n): Promise<{ scheme: string | null; resolution: 'config' | 'shared' | 'android' | 'ios' }> {\n const [hasIos, hasAndroid] = await Promise.all([\n hasRequiredIOSFilesAsync(projectRoot),\n hasRequiredAndroidFilesAsync(projectRoot),\n ]);\n\n const [ios, android] = await Promise.all([\n getSchemesForIosAsync(projectRoot),\n getSchemesForAndroidAsync(projectRoot),\n ]);\n\n // Allow managed projects\n if (!hasIos && !hasAndroid) {\n return { scheme: await getManagedDevClientSchemeAsync(projectRoot), resolution: 'config' };\n }\n\n // Allow for only one native project to exist.\n if (!hasIos) {\n return { scheme: android[0], resolution: 'android' };\n } else if (!hasAndroid) {\n return { scheme: ios[0], resolution: 'ios' };\n } else {\n return { scheme: intersecting(ios, android)[0], resolution: 'shared' };\n }\n}\n"],"names":["getOptionalDevClientSchemeAsync","getSchemesForAndroidAsync","getSchemesForIosAsync","debug","require","sortLongest","obj","sort","a","b","length","resolveExpoOrLongestScheme","schemes","expoOnlySchemes","filter","scheme","startsWith","projectRoot","infoPlistBuildProperty","getInfoPlistPathFromPbxproj","configPath","path","join","rawPlist","fs","readFileSync","plistObject","plist","parse","IOSConfig","Scheme","getSchemesFromPlist","error","AndroidConfig","Paths","getAndroidManifestAsync","manifest","Manifest","readAndroidManifestAsync","getSchemesFromManifest","getManagedDevClientSchemeAsync","exp","getConfig","getDefaultScheme","resolveFrom","Log","warn","hasIos","hasAndroid","Promise","all","hasRequiredIOSFilesAsync","hasRequiredAndroidFilesAsync","ios","android","resolution","intersecting"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/utils/scheme.ts"],"sourcesContent":["import { getConfig } from '@expo/config';\nimport { AndroidConfig, IOSConfig } from '@expo/config-plugins';\nimport { getInfoPlistPathFromPbxproj } from '@expo/config-plugins/build/ios/utils/getInfoPlistPath';\nimport plist from '@expo/plist';\nimport fs from 'fs';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\n\nimport { intersecting } from './array';\nimport * as Log from '../log';\nimport {\n hasRequiredAndroidFilesAsync,\n hasRequiredIOSFilesAsync,\n} from '../prebuild/clearNativeFolder';\n\nconst debug = require('debug')('expo:utils:scheme') as typeof console.log;\n\n// sort longest to ensure uniqueness.\n// this might be undesirable as it causes the QR code to be longer.\nfunction sortLongest(obj: string[]): string[] {\n return obj.sort((a, b) => b.length - a.length);\n}\n\n/**\n * Resolve the scheme for the dev client using two methods:\n * - filter on known Expo schemes, starting with `exp+`, avoiding 3rd party schemes.\n * - filter on longest to ensure uniqueness.\n */\nfunction resolveExpoOrLongestScheme(schemes: string[]): string[] {\n const expoOnlySchemes = schemes.filter((scheme) => scheme.startsWith('exp+'));\n return expoOnlySchemes.length > 0 ? sortLongest(expoOnlySchemes) : sortLongest(schemes);\n}\n\n// TODO: Revisit and test after run code is merged.\nexport async function getSchemesForIosAsync(projectRoot: string): Promise<string[]> {\n try {\n const infoPlistBuildProperty = getInfoPlistPathFromPbxproj(projectRoot);\n debug(`ios application Info.plist path:`, infoPlistBuildProperty);\n if (infoPlistBuildProperty) {\n const configPath = path.join(projectRoot, 'ios', infoPlistBuildProperty);\n const rawPlist = fs.readFileSync(configPath, 'utf8');\n const plistObject = plist.parse(rawPlist);\n const schemes = IOSConfig.Scheme.getSchemesFromPlist(plistObject);\n debug(`ios application schemes:`, schemes);\n return resolveExpoOrLongestScheme(schemes);\n }\n } catch (error) {\n debug(`expected error collecting ios application schemes for the main target:`, error);\n }\n // No ios folder or some other error\n return [];\n}\n\n// TODO: Revisit and test after run code is merged.\nexport async function getSchemesForAndroidAsync(projectRoot: string): Promise<string[]> {\n try {\n const configPath = await AndroidConfig.Paths.getAndroidManifestAsync(projectRoot);\n const manifest = await AndroidConfig.Manifest.readAndroidManifestAsync(configPath);\n const schemes = await AndroidConfig.Scheme.getSchemesFromManifest(manifest);\n debug(`android application schemes:`, schemes);\n return resolveExpoOrLongestScheme(schemes);\n } catch (error) {\n debug(`expected error collecting android application schemes for the main activity:`, error);\n // No android folder or some other error\n return [];\n }\n}\n\n// TODO: Revisit and test after run code is merged.\nasync function getManagedDevClientSchemeAsync(projectRoot: string): Promise<string | null> {\n const { exp } = getConfig(projectRoot);\n try {\n const getDefaultScheme = require(resolveFrom(projectRoot, 'expo-dev-client/getDefaultScheme'));\n const scheme = getDefaultScheme(exp);\n return scheme;\n } catch {\n Log.warn(\n '\\nDevelopment build: Unable to get the default URI scheme for the project. Please make sure the expo-dev-client package is installed.'\n );\n return null;\n }\n}\n\n// TODO: Revisit and test after run code is merged.\nexport async function getOptionalDevClientSchemeAsync(\n projectRoot: string\n): Promise<{ scheme: string | null; resolution: 'config' | 'shared' | 'android' | 'ios' }> {\n const [hasIos, hasAndroid] = await Promise.all([\n hasRequiredIOSFilesAsync(projectRoot),\n hasRequiredAndroidFilesAsync(projectRoot),\n ]);\n\n const [ios, android] = await Promise.all([\n getSchemesForIosAsync(projectRoot),\n getSchemesForAndroidAsync(projectRoot),\n ]);\n\n // Allow managed projects\n if (!hasIos && !hasAndroid) {\n return { scheme: await getManagedDevClientSchemeAsync(projectRoot), resolution: 'config' };\n }\n\n // Allow for only one native project to exist.\n if (!hasIos) {\n return { scheme: android[0], resolution: 'android' };\n } else if (!hasAndroid) {\n return { scheme: ios[0], resolution: 'ios' };\n } else {\n return { scheme: intersecting(ios, android)[0], resolution: 'shared' };\n }\n}\n"],"names":["getSchemesForIosAsync","getSchemesForAndroidAsync","getOptionalDevClientSchemeAsync","debug","require","sortLongest","obj","sort","a","b","length","resolveExpoOrLongestScheme","schemes","expoOnlySchemes","filter","scheme","startsWith","projectRoot","infoPlistBuildProperty","getInfoPlistPathFromPbxproj","configPath","path","join","rawPlist","fs","readFileSync","plistObject","plist","parse","IOSConfig","Scheme","getSchemesFromPlist","error","AndroidConfig","Paths","getAndroidManifestAsync","manifest","Manifest","readAndroidManifestAsync","getSchemesFromManifest","getManagedDevClientSchemeAsync","exp","getConfig","getDefaultScheme","resolveFrom","Log","warn","hasIos","hasAndroid","Promise","all","hasRequiredIOSFilesAsync","hasRequiredAndroidFilesAsync","ios","android","resolution","intersecting"],"mappings":"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"}
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "streamToStringAsync", {
6
6
  enumerable: true,
7
- get: function() {
8
- return streamToStringAsync;
9
- }
7
+ get: ()=>streamToStringAsync
10
8
  });
11
9
  async function streamToStringAsync(stream) {
12
10
  const decoder = new TextDecoder();
@@ -17,7 +15,7 @@ async function streamToStringAsync(stream) {
17
15
  result = await reader.read();
18
16
  if (result.value) {
19
17
  if (!(result.value instanceof Uint8Array)) {
20
- throw new Error('Unexepected buffer type');
18
+ throw new Error("Unexepected buffer type");
21
19
  }
22
20
  outs.push(decoder.decode(result.value, {
23
21
  stream: true
@@ -25,7 +23,7 @@ async function streamToStringAsync(stream) {
25
23
  }
26
24
  }while (!result.done);
27
25
  outs.push(decoder.decode());
28
- return outs.join('');
26
+ return outs.join("");
29
27
  }
30
28
 
31
29
  //# sourceMappingURL=stream.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/stream.ts"],"sourcesContent":["export async function streamToStringAsync(stream: ReadableStream): Promise<string> {\n const decoder = new TextDecoder();\n const reader = stream.getReader();\n const outs: string[] = [];\n let result: ReadableStreamReadResult<unknown>;\n do {\n result = await reader.read();\n if (result.value) {\n if (!(result.value instanceof Uint8Array)) {\n throw new Error('Unexepected buffer type');\n }\n outs.push(decoder.decode(result.value, { stream: true }));\n }\n } while (!result.done);\n outs.push(decoder.decode());\n return outs.join('');\n}\n"],"names":["streamToStringAsync","stream","decoder","TextDecoder","reader","getReader","outs","result","read","value","Uint8Array","Error","push","decode","done","join"],"mappings":";;;;+BAAsBA;;;eAAAA;;;AAAf,eAAeA,oBAAoBC,MAAsB;IAC9D,MAAMC,UAAU,IAAIC;IACpB,MAAMC,SAASH,OAAOI,SAAS;IAC/B,MAAMC,OAAiB,EAAE;IACzB,IAAIC;IACJ,GAAG;QACDA,SAAS,MAAMH,OAAOI,IAAI;QAC1B,IAAID,OAAOE,KAAK,EAAE;YAChB,IAAI,CAAEF,CAAAA,OAAOE,KAAK,YAAYC,UAAS,GAAI;gBACzC,MAAM,IAAIC,MAAM;YAClB;YACAL,KAAKM,IAAI,CAACV,QAAQW,MAAM,CAACN,OAAOE,KAAK,EAAE;gBAAER,QAAQ;YAAK;QACxD;IACF,QAAS,CAACM,OAAOO,IAAI,EAAE;IACvBR,KAAKM,IAAI,CAACV,QAAQW,MAAM;IACxB,OAAOP,KAAKS,IAAI,CAAC;AACnB"}
1
+ {"version":3,"sources":["../../../src/utils/stream.ts"],"sourcesContent":["export async function streamToStringAsync(stream: ReadableStream): Promise<string> {\n const decoder = new TextDecoder();\n const reader = stream.getReader();\n const outs: string[] = [];\n let result: ReadableStreamReadResult<unknown>;\n do {\n result = await reader.read();\n if (result.value) {\n if (!(result.value instanceof Uint8Array)) {\n throw new Error('Unexepected buffer type');\n }\n outs.push(decoder.decode(result.value, { stream: true }));\n }\n } while (!result.done);\n outs.push(decoder.decode());\n return outs.join('');\n}\n"],"names":["streamToStringAsync","stream","decoder","TextDecoder","reader","getReader","outs","result","read","value","Uint8Array","Error","push","decode","done","join"],"mappings":"AAAA;;;;+BAAsBA,qBAAmB;;aAAnBA,mBAAmB;;AAAlC,eAAeA,mBAAmB,CAACC,MAAsB,EAAmB;IACjF,MAAMC,OAAO,GAAG,IAAIC,WAAW,EAAE,AAAC;IAClC,MAAMC,MAAM,GAAGH,MAAM,CAACI,SAAS,EAAE,AAAC;IAClC,MAAMC,IAAI,GAAa,EAAE,AAAC;IAC1B,IAAIC,MAAM,AAAmC,AAAC;IAC9C,GAAG;QACDA,MAAM,GAAG,MAAMH,MAAM,CAACI,IAAI,EAAE,CAAC;QAC7B,IAAID,MAAM,CAACE,KAAK,EAAE;YAChB,IAAI,CAAC,CAACF,MAAM,CAACE,KAAK,YAAYC,UAAU,CAAC,EAAE;gBACzC,MAAM,IAAIC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YACDL,IAAI,CAACM,IAAI,CAACV,OAAO,CAACW,MAAM,CAACN,MAAM,CAACE,KAAK,EAAE;gBAAER,MAAM,EAAE,IAAI;aAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,QAAS,CAACM,MAAM,CAACO,IAAI,EAAE;IACvBR,IAAI,CAACM,IAAI,CAACV,OAAO,CAACW,MAAM,EAAE,CAAC,CAAC;IAC5B,OAAOP,IAAI,CAACS,IAAI,CAAC,EAAE,CAAC,CAAC;AACvB,CAAC"}
@@ -9,13 +9,11 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  Object.defineProperty(exports, "joinWithCommasAnd", {
11
11
  enumerable: true,
12
- get: function() {
13
- return joinWithCommasAnd;
14
- }
12
+ get: ()=>joinWithCommasAnd
15
13
  });
16
14
  function joinWithCommasAnd(items, limit = 10) {
17
15
  if (!items.length) {
18
- return '';
16
+ return "";
19
17
  }
20
18
  const uniqueItems = items.filter((value, index, array)=>array.indexOf(value) === index);
21
19
  if (uniqueItems.length === 1) {
@@ -24,10 +22,10 @@ function joinWithCommasAnd(items, limit = 10) {
24
22
  if (limit && uniqueItems.length > limit) {
25
23
  const first = uniqueItems.slice(0, limit);
26
24
  const remaining = uniqueItems.length - limit;
27
- return `${first.join(', ')}, and ${remaining} ${remaining > 1 ? 'others' : 'other'}`;
25
+ return `${first.join(", ")}, and ${remaining} ${remaining > 1 ? "others" : "other"}`;
28
26
  }
29
27
  const last = uniqueItems.pop();
30
- return `${uniqueItems.join(', ')}${uniqueItems.length >= 2 ? ',' : ''} and ${last}`;
28
+ return `${uniqueItems.join(", ")}${uniqueItems.length >= 2 ? "," : ""} and ${last}`;
31
29
  }
32
30
 
33
31
  //# sourceMappingURL=strings.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/strings.ts"],"sourcesContent":["/**\n * Joins strings with commas and 'and', based on English rules, limiting the number of items enumerated to keep from filling the console.\n * @param items strings to join\n * @param limit max number of strings to enumerate before using 'others'\n * @returns joined string\n */\nexport function joinWithCommasAnd(items: string[], limit: number | undefined = 10): string {\n if (!items.length) {\n return '';\n }\n\n const uniqueItems = items.filter((value, index, array) => array.indexOf(value) === index);\n\n if (uniqueItems.length === 1) {\n return uniqueItems[0];\n }\n\n if (limit && uniqueItems.length > limit) {\n const first = uniqueItems.slice(0, limit);\n const remaining = uniqueItems.length - limit;\n return `${first.join(', ')}, and ${remaining} ${remaining > 1 ? 'others' : 'other'}`;\n }\n\n const last = uniqueItems.pop();\n return `${uniqueItems.join(', ')}${uniqueItems.length >= 2 ? ',' : ''} and ${last}`;\n}\n"],"names":["joinWithCommasAnd","items","limit","length","uniqueItems","filter","value","index","array","indexOf","first","slice","remaining","join","last","pop"],"mappings":"AAAA;;;;;CAKC;;;;+BACeA;;;eAAAA;;;AAAT,SAASA,kBAAkBC,KAAe,EAAEC,QAA4B,EAAE;IAC/E,IAAI,CAACD,MAAME,MAAM,EAAE;QACjB,OAAO;IACT;IAEA,MAAMC,cAAcH,MAAMI,MAAM,CAAC,CAACC,OAAOC,OAAOC,QAAUA,MAAMC,OAAO,CAACH,WAAWC;IAEnF,IAAIH,YAAYD,MAAM,KAAK,GAAG;QAC5B,OAAOC,WAAW,CAAC,EAAE;IACvB;IAEA,IAAIF,SAASE,YAAYD,MAAM,GAAGD,OAAO;QACvC,MAAMQ,QAAQN,YAAYO,KAAK,CAAC,GAAGT;QACnC,MAAMU,YAAYR,YAAYD,MAAM,GAAGD;QACvC,OAAO,GAAGQ,MAAMG,IAAI,CAAC,MAAM,MAAM,EAAED,UAAU,CAAC,EAAEA,YAAY,IAAI,WAAW,SAAS;IACtF;IAEA,MAAME,OAAOV,YAAYW,GAAG;IAC5B,OAAO,GAAGX,YAAYS,IAAI,CAAC,QAAQT,YAAYD,MAAM,IAAI,IAAI,MAAM,GAAG,KAAK,EAAEW,MAAM;AACrF"}
1
+ {"version":3,"sources":["../../../src/utils/strings.ts"],"sourcesContent":["/**\n * Joins strings with commas and 'and', based on English rules, limiting the number of items enumerated to keep from filling the console.\n * @param items strings to join\n * @param limit max number of strings to enumerate before using 'others'\n * @returns joined string\n */\nexport function joinWithCommasAnd(items: string[], limit: number | undefined = 10): string {\n if (!items.length) {\n return '';\n }\n\n const uniqueItems = items.filter((value, index, array) => array.indexOf(value) === index);\n\n if (uniqueItems.length === 1) {\n return uniqueItems[0];\n }\n\n if (limit && uniqueItems.length > limit) {\n const first = uniqueItems.slice(0, limit);\n const remaining = uniqueItems.length - limit;\n return `${first.join(', ')}, and ${remaining} ${remaining > 1 ? 'others' : 'other'}`;\n }\n\n const last = uniqueItems.pop();\n return `${uniqueItems.join(', ')}${uniqueItems.length >= 2 ? ',' : ''} and ${last}`;\n}\n"],"names":["joinWithCommasAnd","items","limit","length","uniqueItems","filter","value","index","array","indexOf","first","slice","remaining","join","last","pop"],"mappings":"AAAA;;;;;CAKC,GACD;;;;+BAAgBA,mBAAiB;;aAAjBA,iBAAiB;;AAA1B,SAASA,iBAAiB,CAACC,KAAe,EAAEC,KAAyB,GAAG,EAAE,EAAU;IACzF,IAAI,CAACD,KAAK,CAACE,MAAM,EAAE;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAMC,WAAW,GAAGH,KAAK,CAACI,MAAM,CAAC,CAACC,KAAK,EAAEC,KAAK,EAAEC,KAAK,GAAKA,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,KAAKC,KAAK,CAAC,AAAC;IAE1F,IAAIH,WAAW,CAACD,MAAM,KAAK,CAAC,EAAE;QAC5B,OAAOC,WAAW,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,IAAIF,KAAK,IAAIE,WAAW,CAACD,MAAM,GAAGD,KAAK,EAAE;QACvC,MAAMQ,KAAK,GAAGN,WAAW,CAACO,KAAK,CAAC,CAAC,EAAET,KAAK,CAAC,AAAC;QAC1C,MAAMU,SAAS,GAAGR,WAAW,CAACD,MAAM,GAAGD,KAAK,AAAC;QAC7C,OAAO,CAAC,EAAEQ,KAAK,CAACG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAED,SAAS,CAAC,CAAC,EAAEA,SAAS,GAAG,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,MAAME,IAAI,GAAGV,WAAW,CAACW,GAAG,EAAE,AAAC;IAC/B,OAAO,CAAC,EAAEX,WAAW,CAACS,IAAI,CAAC,IAAI,CAAC,CAAC,EAAET,WAAW,CAACD,MAAM,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,KAAK,EAAEW,IAAI,CAAC,CAAC,CAAC;AACtF,CAAC"}
@@ -4,26 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "extractAsync", {
6
6
  enumerable: true,
7
- get: function() {
8
- return extractAsync;
9
- }
7
+ get: ()=>extractAsync
10
8
  });
11
- function _spawnasync() {
12
- const data = /*#__PURE__*/ _interop_require_default(require("@expo/spawn-async"));
13
- _spawnasync = function() {
9
+ function _spawnAsync() {
10
+ const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
11
+ _spawnAsync = function() {
14
12
  return data;
15
13
  };
16
14
  return data;
17
15
  }
18
16
  function _tar() {
19
- const data = /*#__PURE__*/ _interop_require_default(require("tar"));
17
+ const data = /*#__PURE__*/ _interopRequireDefault(require("tar"));
20
18
  _tar = function() {
21
19
  return data;
22
20
  };
23
21
  return data;
24
22
  }
25
- const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
26
- function _interop_require_default(obj) {
23
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../log"));
24
+ function _interopRequireDefault(obj) {
27
25
  return obj && obj.__esModule ? obj : {
28
26
  default: obj
29
27
  };
@@ -36,7 +34,7 @@ function _getRequireWildcardCache(nodeInterop) {
36
34
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
37
35
  })(nodeInterop);
38
36
  }
39
- function _interop_require_wildcard(obj, nodeInterop) {
37
+ function _interopRequireWildcard(obj, nodeInterop) {
40
38
  if (!nodeInterop && obj && obj.__esModule) {
41
39
  return obj;
42
40
  }
@@ -49,9 +47,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
49
47
  if (cache && cache.has(obj)) {
50
48
  return cache.get(obj);
51
49
  }
52
- var newObj = {
53
- __proto__: null
54
- };
50
+ var newObj = {};
55
51
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
56
52
  for(var key in obj){
57
53
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -69,18 +65,18 @@ function _interop_require_wildcard(obj, nodeInterop) {
69
65
  }
70
66
  return newObj;
71
67
  }
72
- const debug = require('debug')('expo:utils:tar');
68
+ const debug = require("debug")("expo:utils:tar");
73
69
  async function extractAsync(input, output) {
74
70
  try {
75
- if (process.platform !== 'win32') {
71
+ if (process.platform !== "win32") {
76
72
  debug(`Extracting ${input} to ${output}`);
77
- await (0, _spawnasync().default)('tar', [
78
- '-xf',
73
+ await (0, _spawnAsync().default)("tar", [
74
+ "-xf",
79
75
  input,
80
- '-C',
76
+ "-C",
81
77
  output
82
78
  ], {
83
- stdio: 'inherit'
79
+ stdio: "inherit"
84
80
  });
85
81
  return;
86
82
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/tar.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport tar from 'tar';\n\nimport * as Log from '../log';\n\nconst debug = require('debug')('expo:utils:tar') as typeof console.log;\n\n/** Extract a tar using built-in tools if available and falling back on Node.js. */\nexport async function extractAsync(input: string, output: string): Promise<void> {\n try {\n if (process.platform !== 'win32') {\n debug(`Extracting ${input} to ${output}`);\n await spawnAsync('tar', ['-xf', input, '-C', output], {\n stdio: 'inherit',\n });\n return;\n }\n } catch (error: any) {\n Log.warn(\n `Failed to extract tar using native tools, falling back on JS tar module. ${error.message}`\n );\n }\n debug(`Extracting ${input} to ${output} using JS tar module`);\n // tar node module has previously had problems with big files, and seems to\n // be slower, so only use it as a backup.\n await tar.extract({ file: input, cwd: output });\n}\n"],"names":["extractAsync","debug","require","input","output","process","platform","spawnAsync","stdio","error","Log","warn","message","tar","extract","file","cwd"],"mappings":";;;;+BAQsBA;;;eAAAA;;;;gEARC;;;;;;;gEACP;;;;;;6DAEK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAErB,MAAMC,QAAQC,QAAQ,SAAS;AAGxB,eAAeF,aAAaG,KAAa,EAAEC,MAAc;IAC9D,IAAI;QACF,IAAIC,QAAQC,QAAQ,KAAK,SAAS;YAChCL,MAAM,CAAC,WAAW,EAAEE,MAAM,IAAI,EAAEC,QAAQ;YACxC,MAAMG,IAAAA,qBAAU,EAAC,OAAO;gBAAC;gBAAOJ;gBAAO;gBAAMC;aAAO,EAAE;gBACpDI,OAAO;YACT;YACA;QACF;IACF,EAAE,OAAOC,OAAY;QACnBC,KAAIC,IAAI,CACN,CAAC,yEAAyE,EAAEF,MAAMG,OAAO,EAAE;IAE/F;IACAX,MAAM,CAAC,WAAW,EAAEE,MAAM,IAAI,EAAEC,OAAO,oBAAoB,CAAC;IAC5D,2EAA2E;IAC3E,yCAAyC;IACzC,MAAMS,cAAG,CAACC,OAAO,CAAC;QAAEC,MAAMZ;QAAOa,KAAKZ;IAAO;AAC/C"}
1
+ {"version":3,"sources":["../../../src/utils/tar.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport tar from 'tar';\n\nimport * as Log from '../log';\n\nconst debug = require('debug')('expo:utils:tar') as typeof console.log;\n\n/** Extract a tar using built-in tools if available and falling back on Node.js. */\nexport async function extractAsync(input: string, output: string): Promise<void> {\n try {\n if (process.platform !== 'win32') {\n debug(`Extracting ${input} to ${output}`);\n await spawnAsync('tar', ['-xf', input, '-C', output], {\n stdio: 'inherit',\n });\n return;\n }\n } catch (error: any) {\n Log.warn(\n `Failed to extract tar using native tools, falling back on JS tar module. ${error.message}`\n );\n }\n debug(`Extracting ${input} to ${output} using JS tar module`);\n // tar node module has previously had problems with big files, and seems to\n // be slower, so only use it as a backup.\n await tar.extract({ file: input, cwd: output });\n}\n"],"names":["extractAsync","debug","require","input","output","process","platform","spawnAsync","stdio","error","Log","warn","message","tar","extract","file","cwd"],"mappings":"AAAA;;;;+BAQsBA,cAAY;;aAAZA,YAAY;;;8DARX,mBAAmB;;;;;;;8DAC1B,KAAK;;;;;;2DAEA,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE7B,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,AAAsB,AAAC;AAGhE,eAAeF,YAAY,CAACG,KAAa,EAAEC,MAAc,EAAiB;IAC/E,IAAI;QACF,IAAIC,OAAO,CAACC,QAAQ,KAAK,OAAO,EAAE;YAChCL,KAAK,CAAC,CAAC,WAAW,EAAEE,KAAK,CAAC,IAAI,EAAEC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAMG,IAAAA,WAAU,EAAA,QAAA,EAAC,KAAK,EAAE;gBAAC,KAAK;gBAAEJ,KAAK;gBAAE,IAAI;gBAAEC,MAAM;aAAC,EAAE;gBACpDI,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;IACH,EAAE,OAAOC,KAAK,EAAO;QACnBC,IAAG,CAACC,IAAI,CACN,CAAC,yEAAyE,EAAEF,KAAK,CAACG,OAAO,CAAC,CAAC,CAC5F,CAAC;IACJ,CAAC;IACDX,KAAK,CAAC,CAAC,WAAW,EAAEE,KAAK,CAAC,IAAI,EAAEC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC9D,2EAA2E;IAC3E,yCAAyC;IACzC,MAAMS,IAAG,EAAA,QAAA,CAACC,OAAO,CAAC;QAAEC,IAAI,EAAEZ,KAAK;QAAEa,GAAG,EAAEZ,MAAM;KAAE,CAAC,CAAC;AAClD,CAAC"}