@expo/cli 0.17.10 → 0.18.1

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 (693) hide show
  1. package/build/bin/cli +98 -118
  2. package/build/bin/cli.map +1 -1
  3. package/build/src/api/endpoint.js +11 -3
  4. package/build/src/api/endpoint.js.map +1 -1
  5. package/build/src/api/getExpoGoIntermediateCertificate.js +7 -4
  6. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  7. package/build/src/api/getExpoSchema.js +32 -12
  8. package/build/src/api/getExpoSchema.js.map +1 -1
  9. package/build/src/api/getNativeModuleVersions.js +7 -4
  10. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  11. package/build/src/api/getProjectDevelopmentCertificate.js +7 -4
  12. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  13. package/build/src/api/getVersions.js +7 -4
  14. package/build/src/api/getVersions.js.map +1 -1
  15. package/build/src/api/graphql/client.js +78 -40
  16. package/build/src/api/graphql/client.js.map +1 -1
  17. package/build/src/api/graphql/queries/AppQuery.js +22 -8
  18. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  19. package/build/src/api/graphql/queries/UserQuery.js +13 -5
  20. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  21. package/build/src/api/graphql/types/App.js +12 -4
  22. package/build/src/api/graphql/types/App.js.map +1 -1
  23. package/build/src/api/rest/cache/FileSystemCache.js +25 -11
  24. package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
  25. package/build/src/api/rest/cache/response.js +13 -4
  26. package/build/src/api/rest/cache/response.js.map +1 -1
  27. package/build/src/api/rest/cache/wrapFetchWithCache.js +51 -18
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  29. package/build/src/api/rest/client.js +55 -30
  30. package/build/src/api/rest/client.js.map +1 -1
  31. package/build/src/api/rest/wrapFetchWithBaseUrl.js +13 -5
  32. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithOffline.js +5 -2
  34. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithProgress.js +40 -19
  36. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProxy.js +13 -4
  38. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  39. package/build/src/api/settings.js +16 -5
  40. package/build/src/api/settings.js.map +1 -1
  41. package/build/src/api/updateDevelopmentSession.js +33 -13
  42. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  43. package/build/src/api/user/UserSettings.js +31 -11
  44. package/build/src/api/user/UserSettings.js.map +1 -1
  45. package/build/src/api/user/actions.js +78 -41
  46. package/build/src/api/user/actions.js.map +1 -1
  47. package/build/src/api/user/expoSsoLauncher.js +72 -27
  48. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  49. package/build/src/api/user/otp.js +82 -50
  50. package/build/src/api/user/otp.js.map +1 -1
  51. package/build/src/api/user/user.js +80 -48
  52. package/build/src/api/user/user.js.map +1 -1
  53. package/build/src/config/configAsync.js +82 -45
  54. package/build/src/config/configAsync.js.map +1 -1
  55. package/build/src/config/index.js +52 -30
  56. package/build/src/config/index.js.map +1 -1
  57. package/build/src/customize/customizeAsync.js +21 -12
  58. package/build/src/customize/customizeAsync.js.map +1 -1
  59. package/build/src/customize/generate.js +74 -47
  60. package/build/src/customize/generate.js.map +1 -1
  61. package/build/src/customize/index.js +16 -8
  62. package/build/src/customize/index.js.map +1 -1
  63. package/build/src/customize/resolveOptions.js +7 -4
  64. package/build/src/customize/resolveOptions.js.map +1 -1
  65. package/build/src/customize/templates.js +58 -37
  66. package/build/src/customize/templates.js.map +1 -1
  67. package/build/src/customize/typescript.js +50 -29
  68. package/build/src/customize/typescript.js.map +1 -1
  69. package/build/src/export/createMetadataJson.js +14 -7
  70. package/build/src/export/createMetadataJson.js.map +1 -1
  71. package/build/src/export/embed/exportEmbedAsync.js +103 -50
  72. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  73. package/build/src/export/embed/index.js +61 -37
  74. package/build/src/export/embed/index.js.map +1 -1
  75. package/build/src/export/embed/resolveOptions.js +14 -5
  76. package/build/src/export/embed/resolveOptions.js.map +1 -1
  77. package/build/src/export/embed/xcodeCompilerLogger.js +33 -9
  78. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  79. package/build/src/export/exportApp.js +110 -73
  80. package/build/src/export/exportApp.js.map +1 -1
  81. package/build/src/export/exportAssets.js +84 -47
  82. package/build/src/export/exportAssets.js.map +1 -1
  83. package/build/src/export/exportAsync.js +56 -27
  84. package/build/src/export/exportAsync.js.map +1 -1
  85. package/build/src/export/exportHermes.js +46 -26
  86. package/build/src/export/exportHermes.js.map +1 -1
  87. package/build/src/export/exportStaticAsync.js +109 -66
  88. package/build/src/export/exportStaticAsync.js.map +1 -1
  89. package/build/src/export/favicon.js +47 -15
  90. package/build/src/export/favicon.js.map +1 -1
  91. package/build/src/export/fork-bundleAsync.js +92 -44
  92. package/build/src/export/fork-bundleAsync.js.map +1 -1
  93. package/build/src/export/getPublicExpoManifest.js +16 -7
  94. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  95. package/build/src/export/getResolvedLocales.js +20 -5
  96. package/build/src/export/getResolvedLocales.js.map +1 -1
  97. package/build/src/export/html.js +12 -4
  98. package/build/src/export/html.js.map +1 -1
  99. package/build/src/export/index.js +55 -33
  100. package/build/src/export/index.js.map +1 -1
  101. package/build/src/export/metroAssetLocalPath.js +30 -8
  102. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  103. package/build/src/export/persistMetroAssets.js +59 -33
  104. package/build/src/export/persistMetroAssets.js.map +1 -1
  105. package/build/src/export/publicFolder.js +31 -11
  106. package/build/src/export/publicFolder.js.map +1 -1
  107. package/build/src/export/resolveOptions.js +26 -16
  108. package/build/src/export/resolveOptions.js.map +1 -1
  109. package/build/src/export/saveAssets.js +77 -49
  110. package/build/src/export/saveAssets.js.map +1 -1
  111. package/build/src/export/web/exportWebAsync.js +28 -13
  112. package/build/src/export/web/exportWebAsync.js.map +1 -1
  113. package/build/src/export/web/index.js +53 -31
  114. package/build/src/export/web/index.js.map +1 -1
  115. package/build/src/export/web/resolveOptions.js +4 -1
  116. package/build/src/export/web/resolveOptions.js.map +1 -1
  117. package/build/src/export/writeContents.js +12 -7
  118. package/build/src/export/writeContents.js.map +1 -1
  119. package/build/src/graphql/generated.js +141 -128
  120. package/build/src/graphql/generated.js.map +1 -1
  121. package/build/src/install/applyPlugins.js +50 -26
  122. package/build/src/install/applyPlugins.js.map +1 -1
  123. package/build/src/install/checkPackages.js +68 -36
  124. package/build/src/install/checkPackages.js.map +1 -1
  125. package/build/src/install/fixPackages.js +58 -35
  126. package/build/src/install/fixPackages.js.map +1 -1
  127. package/build/src/install/index.js +21 -13
  128. package/build/src/install/index.js.map +1 -1
  129. package/build/src/install/installAsync.js +107 -64
  130. package/build/src/install/installAsync.js.map +1 -1
  131. package/build/src/install/installExpoPackage.js +60 -27
  132. package/build/src/install/installExpoPackage.js.map +1 -1
  133. package/build/src/install/resolveOptions.js +8 -5
  134. package/build/src/install/resolveOptions.js.map +1 -1
  135. package/build/src/install/utils/autoAddConfigPlugins.js +29 -9
  136. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  137. package/build/src/lint/ESlintPrerequisite.js +174 -0
  138. package/build/src/lint/ESlintPrerequisite.js.map +1 -0
  139. package/build/src/lint/index.js +66 -0
  140. package/build/src/lint/index.js.map +1 -0
  141. package/build/src/lint/lintAsync.js +33 -0
  142. package/build/src/lint/lintAsync.js.map +1 -0
  143. package/build/src/log.js +27 -15
  144. package/build/src/log.js.map +1 -1
  145. package/build/src/login/index.js +43 -25
  146. package/build/src/login/index.js.map +1 -1
  147. package/build/src/logout/index.js +43 -25
  148. package/build/src/logout/index.js.map +1 -1
  149. package/build/src/prebuild/clearNativeFolder.js +97 -50
  150. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  151. package/build/src/prebuild/configureProjectAsync.js +64 -31
  152. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  153. package/build/src/prebuild/copyTemplateFiles.js +41 -17
  154. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  155. package/build/src/prebuild/ensureConfigAsync.js +74 -30
  156. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  157. package/build/src/prebuild/index.js +58 -38
  158. package/build/src/prebuild/index.js.map +1 -1
  159. package/build/src/prebuild/prebuildAsync.js +75 -52
  160. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  161. package/build/src/prebuild/renameTemplateAppName.js +124 -0
  162. package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
  163. package/build/src/prebuild/resolveOptions.js +85 -36
  164. package/build/src/prebuild/resolveOptions.js.map +1 -1
  165. package/build/src/prebuild/resolveTemplate.js +102 -46
  166. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  167. package/build/src/prebuild/updateFromTemplate.js +80 -41
  168. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  169. package/build/src/prebuild/updatePackageJson.js +111 -54
  170. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  171. package/build/src/prebuild/validateTemplatePlatforms.js +56 -23
  172. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  173. package/build/src/register/index.js +43 -25
  174. package/build/src/register/index.js.map +1 -1
  175. package/build/src/register/registerAsync.js +14 -11
  176. package/build/src/register/registerAsync.js.map +1 -1
  177. package/build/src/run/android/index.js +64 -32
  178. package/build/src/run/android/index.js.map +1 -1
  179. package/build/src/run/android/resolveDevice.js +9 -6
  180. package/build/src/run/android/resolveDevice.js.map +1 -1
  181. package/build/src/run/android/resolveGradlePropsAsync.js +56 -0
  182. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
  183. package/build/src/run/android/resolveInstallApkName.js +28 -14
  184. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  185. package/build/src/run/android/resolveLaunchProps.js +16 -7
  186. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  187. package/build/src/run/android/resolveOptions.js +14 -9
  188. package/build/src/run/android/resolveOptions.js.map +1 -1
  189. package/build/src/run/android/runAndroidAsync.js +39 -27
  190. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  191. package/build/src/run/ensureNativeProject.js +24 -9
  192. package/build/src/run/ensureNativeProject.js.map +1 -1
  193. package/build/src/run/hints.js +23 -9
  194. package/build/src/run/hints.js.map +1 -1
  195. package/build/src/run/index.js +55 -35
  196. package/build/src/run/index.js.map +1 -1
  197. package/build/src/run/ios/XcodeBuild.js +126 -66
  198. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  199. package/build/src/run/ios/appleDevice/AppleDevice.js +52 -27
  200. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  201. package/build/src/run/ios/appleDevice/ClientManager.js +70 -31
  202. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  203. package/build/src/run/ios/appleDevice/client/AFCClient.js +94 -44
  204. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  205. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +63 -24
  206. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  207. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -6
  208. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  209. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +64 -25
  210. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  211. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +66 -28
  212. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  213. package/build/src/run/ios/appleDevice/client/ServiceClient.js +18 -4
  214. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  215. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +42 -15
  216. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  217. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +78 -34
  218. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  219. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +85 -66
  220. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  221. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +41 -15
  222. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  223. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +30 -11
  224. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  225. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +39 -14
  226. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  227. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +36 -11
  228. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  229. package/build/src/run/ios/codeSigning/Security.js +40 -21
  230. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  231. package/build/src/run/ios/codeSigning/configureCodeSigning.js +55 -28
  232. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  233. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +67 -36
  234. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  235. package/build/src/run/ios/codeSigning/settings.js +11 -3
  236. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  237. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +30 -10
  238. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  239. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +33 -15
  240. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  241. package/build/src/run/ios/index.js +63 -35
  242. package/build/src/run/ios/index.js.map +1 -1
  243. package/build/src/run/ios/launchApp.js +65 -32
  244. package/build/src/run/ios/launchApp.js.map +1 -1
  245. package/build/src/run/ios/options/promptDevice.js +24 -14
  246. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  247. package/build/src/run/ios/options/resolveDevice.js +64 -41
  248. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  249. package/build/src/run/ios/options/resolveNativeScheme.js +80 -39
  250. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  251. package/build/src/run/ios/options/resolveOptions.js +15 -12
  252. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  253. package/build/src/run/ios/options/resolveXcodeProject.js +13 -4
  254. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  255. package/build/src/run/ios/runIosAsync.js +71 -42
  256. package/build/src/run/ios/runIosAsync.js.map +1 -1
  257. package/build/src/run/resolveBundlerProps.js +8 -5
  258. package/build/src/run/resolveBundlerProps.js.map +1 -1
  259. package/build/src/run/startBundler.js +60 -27
  260. package/build/src/run/startBundler.js.map +1 -1
  261. package/build/src/start/detectDevClient.js +32 -0
  262. package/build/src/start/detectDevClient.js.map +1 -0
  263. package/build/src/start/doctor/Prerequisite.js +15 -7
  264. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  265. package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -4
  266. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  267. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +57 -24
  268. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  269. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +57 -24
  270. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  271. package/build/src/start/doctor/apple/XcodePrerequisite.js +132 -57
  272. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  273. package/build/src/start/doctor/apple/XcrunPrerequisite.js +34 -13
  274. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  275. package/build/src/start/doctor/dependencies/bundledNativeModules.js +69 -30
  276. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  277. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +120 -57
  278. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  279. package/build/src/start/doctor/dependencies/getMissingPackages.js +38 -12
  280. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  281. package/build/src/start/doctor/dependencies/getVersionedPackages.js +29 -15
  282. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  283. package/build/src/start/doctor/dependencies/resolvePackages.js +39 -15
  284. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  285. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +88 -55
  286. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  287. package/build/src/start/doctor/ngrok/ExternalModule.js +88 -39
  288. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  289. package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -5
  290. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  291. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +75 -45
  292. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  293. package/build/src/start/doctor/typescript/updateTSConfig.js +81 -40
  294. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  295. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +70 -32
  296. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  297. package/build/src/start/index.js +62 -42
  298. package/build/src/start/index.js.map +1 -1
  299. package/build/src/start/interface/KeyPressHandler.js +43 -22
  300. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  301. package/build/src/start/interface/commandsTable.js +81 -41
  302. package/build/src/start/interface/commandsTable.js.map +1 -1
  303. package/build/src/start/interface/interactiveActions.js +91 -68
  304. package/build/src/start/interface/interactiveActions.js.map +1 -1
  305. package/build/src/start/interface/startInterface.js +84 -57
  306. package/build/src/start/interface/startInterface.js.map +1 -1
  307. package/build/src/start/platforms/AppIdResolver.js +16 -7
  308. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  309. package/build/src/start/platforms/DeviceManager.js +47 -20
  310. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  311. package/build/src/start/platforms/ExpoGoInstaller.js +81 -45
  312. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  313. package/build/src/start/platforms/PlatformManager.js +42 -20
  314. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  315. package/build/src/start/platforms/android/ADBServer.js +28 -13
  316. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  317. package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -10
  318. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  319. package/build/src/start/platforms/android/AndroidDeviceManager.js +86 -54
  320. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  321. package/build/src/start/platforms/android/AndroidPlatformManager.js +9 -6
  322. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  323. package/build/src/start/platforms/android/AndroidSdk.js +38 -11
  324. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  325. package/build/src/start/platforms/android/activateWindow.js +54 -21
  326. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  327. package/build/src/start/platforms/android/adb.js +89 -51
  328. package/build/src/start/platforms/android/adb.js.map +1 -1
  329. package/build/src/start/platforms/android/adbReverse.js +57 -31
  330. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  331. package/build/src/start/platforms/android/emulator.js +89 -44
  332. package/build/src/start/platforms/android/emulator.js.map +1 -1
  333. package/build/src/start/platforms/android/getDevices.js +11 -10
  334. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  335. package/build/src/start/platforms/android/gradle.js +38 -14
  336. package/build/src/start/platforms/android/gradle.js.map +1 -1
  337. package/build/src/start/platforms/android/promptAndroidDevice.js +22 -16
  338. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  339. package/build/src/start/platforms/ios/AppleAppIdResolver.js +31 -10
  340. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  341. package/build/src/start/platforms/ios/AppleDeviceManager.js +120 -62
  342. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  343. package/build/src/start/platforms/ios/ApplePlatformManager.js +7 -4
  344. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  345. package/build/src/start/platforms/ios/assertSystemRequirements.js +11 -7
  346. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  347. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +60 -27
  348. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  349. package/build/src/start/platforms/ios/getBestSimulator.js +60 -30
  350. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  351. package/build/src/start/platforms/ios/promptAppleDevice.js +25 -13
  352. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  353. package/build/src/start/platforms/ios/simctl.js +75 -46
  354. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  355. package/build/src/start/platforms/ios/simctlLogging.js +100 -47
  356. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  357. package/build/src/start/platforms/ios/xcrun.js +21 -6
  358. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  359. package/build/src/start/project/devices.js +19 -16
  360. package/build/src/start/project/devices.js.map +1 -1
  361. package/build/src/start/project/dotExpo.js +37 -11
  362. package/build/src/start/project/dotExpo.js.map +1 -1
  363. package/build/src/start/project/settings.js +6 -4
  364. package/build/src/start/project/settings.js.map +1 -1
  365. package/build/src/start/resolveOptions.js +52 -27
  366. package/build/src/start/resolveOptions.js.map +1 -1
  367. package/build/src/start/server/AsyncNgrok.js +91 -47
  368. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  369. package/build/src/start/server/BundlerDevServer.js +77 -45
  370. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  371. package/build/src/start/server/DevServerManager.js +100 -70
  372. package/build/src/start/server/DevServerManager.js.map +1 -1
  373. package/build/src/start/server/DevToolsPluginManager.js +35 -18
  374. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  375. package/build/src/start/server/DevelopmentSession.js +57 -33
  376. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  377. package/build/src/start/server/ReactDevToolsProxy.js +37 -11
  378. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  379. package/build/src/start/server/UrlCreator.js +61 -27
  380. package/build/src/start/server/UrlCreator.js.map +1 -1
  381. package/build/src/start/server/getStaticRenderFunctions.js +125 -77
  382. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  383. package/build/src/start/server/metro/MetroBundlerDevServer.js +333 -158
  384. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  385. package/build/src/start/server/metro/MetroTerminalReporter.js +50 -28
  386. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  387. package/build/src/start/server/metro/TerminalReporter.js +40 -12
  388. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  389. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  390. package/build/src/start/server/metro/createExpoMetroResolver.js +82 -35
  391. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  392. package/build/src/start/server/metro/createJResolver.js +143 -73
  393. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  394. package/build/src/start/server/metro/createServerRouteMiddleware.js +47 -38
  395. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  396. package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
  397. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
  398. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +18 -14
  399. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  400. package/build/src/start/server/metro/debugging/createHandlersFactory.js +64 -0
  401. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
  402. package/build/src/start/server/metro/debugging/{inspectorHandlers/utils.js → getDebuggerType.js} +6 -8
  403. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
  404. package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/NetworkResponse.js +12 -6
  405. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
  406. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +26 -0
  407. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -0
  408. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +28 -0
  409. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
  410. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +25 -0
  411. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
  412. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +31 -0
  413. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
  414. package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/VscodeRuntimeGetProperties.js +14 -7
  415. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
  416. package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
  417. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
  418. package/build/src/start/server/metro/debugging/types.js.map +1 -0
  419. package/build/src/start/server/metro/externals.js +67 -69
  420. package/build/src/start/server/metro/externals.js.map +1 -1
  421. package/build/src/start/server/metro/fetchRouterManifest.js +26 -7
  422. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  423. package/build/src/start/server/metro/formatFileCandidates.js +28 -18
  424. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  425. package/build/src/start/server/metro/getCssModulesFromBundler.js +44 -12
  426. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  427. package/build/src/start/server/metro/instantiateMetro.js +141 -62
  428. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  429. package/build/src/start/server/metro/metroErrorInterface.js +75 -47
  430. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  431. package/build/src/start/server/metro/metroErrors.js +11 -2
  432. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  433. package/build/src/start/server/metro/metroVirtualModules.js +90 -0
  434. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
  435. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +12 -3
  436. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  437. package/build/src/start/server/metro/router.js +64 -30
  438. package/build/src/start/server/metro/router.js.map +1 -1
  439. package/build/src/start/server/metro/runServer-fork.js +68 -19
  440. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  441. package/build/src/start/server/metro/serializeHtml.js +32 -19
  442. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  443. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +19 -5
  444. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  445. package/build/src/start/server/metro/withMetroMultiPlatform.js +232 -104
  446. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  447. package/build/src/start/server/metro/withMetroResolvers.js +95 -47
  448. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  449. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +4 -1
  450. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  451. package/build/src/start/server/middleware/CorsMiddleware.js +4 -1
  452. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  453. package/build/src/start/server/middleware/CreateFileMiddleware.js +33 -13
  454. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  455. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +27 -12
  456. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  457. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +65 -28
  458. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  459. package/build/src/start/server/middleware/ExpoMiddleware.js +54 -22
  460. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  461. package/build/src/start/server/middleware/FaviconMiddleware.js +8 -5
  462. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  463. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +6 -3
  464. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  465. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +58 -21
  466. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  467. package/build/src/start/server/middleware/ManifestMiddleware.js +117 -63
  468. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  469. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +35 -10
  470. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  471. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +54 -27
  472. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  473. package/build/src/start/server/middleware/ServeStaticMiddleware.js +31 -10
  474. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  475. package/build/src/start/server/middleware/inspector/JsInspector.js +45 -22
  476. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  477. package/build/src/start/server/middleware/inspector/LaunchBrowser.js +25 -11
  478. package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
  479. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +4 -2
  480. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -1
  481. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +36 -14
  482. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
  483. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +84 -38
  484. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
  485. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +42 -20
  486. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
  487. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +40 -13
  488. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  489. package/build/src/start/server/middleware/inspector/middlwareMutations.js +11 -4
  490. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  491. package/build/src/start/server/middleware/metroOptions.js +36 -18
  492. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  493. package/build/src/start/server/middleware/mutations.js +11 -4
  494. package/build/src/start/server/middleware/mutations.js.map +1 -1
  495. package/build/src/start/server/middleware/resolveAssets.js +78 -42
  496. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  497. package/build/src/start/server/middleware/resolvePlatform.js +21 -7
  498. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  499. package/build/src/start/server/middleware/suppressErrorMiddleware.js +4 -1
  500. package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -1
  501. package/build/src/start/server/openPlatforms.js +7 -6
  502. package/build/src/start/server/openPlatforms.js.map +1 -1
  503. package/build/src/start/server/platformBundlers.js +12 -3
  504. package/build/src/start/server/platformBundlers.js.map +1 -1
  505. package/build/src/start/server/serverLogLikeMetro.js +93 -40
  506. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  507. package/build/src/start/server/type-generation/expo-env.js +26 -6
  508. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  509. package/build/src/start/server/type-generation/routes.js +137 -82
  510. package/build/src/start/server/type-generation/routes.js.map +1 -1
  511. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +44 -23
  512. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  513. package/build/src/start/server/type-generation/tsconfig.js +41 -16
  514. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  515. package/build/src/start/server/webTemplate.js +43 -19
  516. package/build/src/start/server/webTemplate.js.map +1 -1
  517. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +105 -56
  518. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  519. package/build/src/start/server/webpack/compile.js +60 -27
  520. package/build/src/start/server/webpack/compile.js.map +1 -1
  521. package/build/src/start/server/webpack/formatWebpackMessages.js +35 -25
  522. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  523. package/build/src/start/server/webpack/resolveFromProject.js +20 -6
  524. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  525. package/build/src/start/server/webpack/tls.js +84 -34
  526. package/build/src/start/server/webpack/tls.js.map +1 -1
  527. package/build/src/start/startAsync.js +98 -52
  528. package/build/src/start/startAsync.js.map +1 -1
  529. package/build/src/utils/FileNotifier.js +73 -28
  530. package/build/src/utils/FileNotifier.js.map +1 -1
  531. package/build/src/utils/analytics/getDevClientProperties.js +48 -22
  532. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
  533. package/build/src/utils/analytics/getMetroDebugProperties.js +4 -1
  534. package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -1
  535. package/build/src/utils/analytics/getMetroProperties.js +4 -1
  536. package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
  537. package/build/src/utils/analytics/metroDebuggerMiddleware.js +14 -6
  538. package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
  539. package/build/src/utils/ansi.js +5 -2
  540. package/build/src/utils/ansi.js.map +1 -1
  541. package/build/src/utils/args.js +83 -31
  542. package/build/src/utils/args.js.map +1 -1
  543. package/build/src/utils/array.js +16 -9
  544. package/build/src/utils/array.js.map +1 -1
  545. package/build/src/utils/cocoapods.js +127 -67
  546. package/build/src/utils/cocoapods.js.map +1 -1
  547. package/build/src/utils/codesigning.js +144 -72
  548. package/build/src/utils/codesigning.js.map +1 -1
  549. package/build/src/utils/createFileTransform.js +34 -71
  550. package/build/src/utils/createFileTransform.js.map +1 -1
  551. package/build/src/utils/delay.js +13 -6
  552. package/build/src/utils/delay.js.map +1 -1
  553. package/build/src/utils/dir.js +50 -40
  554. package/build/src/utils/dir.js.map +1 -1
  555. package/build/src/utils/downloadAppAsync.js +51 -18
  556. package/build/src/utils/downloadAppAsync.js.map +1 -1
  557. package/build/src/utils/downloadExpoGoAsync.js +47 -26
  558. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  559. package/build/src/utils/editor.js +65 -27
  560. package/build/src/utils/editor.js.map +1 -1
  561. package/build/src/utils/env.js +44 -33
  562. package/build/src/utils/env.js.map +1 -1
  563. package/build/src/utils/errors.js +35 -12
  564. package/build/src/utils/errors.js.map +1 -1
  565. package/build/src/utils/exit.js +10 -7
  566. package/build/src/utils/exit.js.map +1 -1
  567. package/build/src/utils/findUp.js +38 -8
  568. package/build/src/utils/findUp.js.map +1 -1
  569. package/build/src/utils/fn.js +11 -3
  570. package/build/src/utils/fn.js.map +1 -1
  571. package/build/src/utils/getOrPromptApplicationId.js +84 -46
  572. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  573. package/build/src/utils/getRunningProcess.js +63 -25
  574. package/build/src/utils/getRunningProcess.js.map +1 -1
  575. package/build/src/utils/git.js +76 -38
  576. package/build/src/utils/git.js.map +1 -1
  577. package/build/src/utils/glob.js +23 -12
  578. package/build/src/utils/glob.js.map +1 -1
  579. package/build/src/utils/interactive.js +5 -2
  580. package/build/src/utils/interactive.js.map +1 -1
  581. package/build/src/utils/ip.js +12 -3
  582. package/build/src/utils/ip.js.map +1 -1
  583. package/build/src/utils/isModuleSymlinked.js +20 -5
  584. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  585. package/build/src/utils/link.js +28 -8
  586. package/build/src/utils/link.js.map +1 -1
  587. package/build/src/utils/mergeGitIgnorePaths.js +45 -28
  588. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  589. package/build/src/utils/modifyConfigAsync.js +69 -31
  590. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  591. package/build/src/utils/modifyConfigPlugins.js +50 -23
  592. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  593. package/build/src/utils/nodeEnv.js +8 -1
  594. package/build/src/utils/nodeEnv.js.map +1 -1
  595. package/build/src/utils/nodeModules.js +29 -8
  596. package/build/src/utils/nodeModules.js.map +1 -1
  597. package/build/src/utils/npm.js +86 -31
  598. package/build/src/utils/npm.js.map +1 -1
  599. package/build/src/utils/obj.js +12 -4
  600. package/build/src/utils/obj.js.map +1 -1
  601. package/build/src/utils/open.js +13 -4
  602. package/build/src/utils/open.js.map +1 -1
  603. package/build/src/utils/ora.js +38 -22
  604. package/build/src/utils/ora.js.map +1 -1
  605. package/build/src/utils/plist.js +73 -29
  606. package/build/src/utils/plist.js.map +1 -1
  607. package/build/src/utils/port.js +74 -36
  608. package/build/src/utils/port.js.map +1 -1
  609. package/build/src/utils/profile.js +56 -29
  610. package/build/src/utils/profile.js.map +1 -1
  611. package/build/src/utils/progress.js +23 -13
  612. package/build/src/utils/progress.js.map +1 -1
  613. package/build/src/utils/prompts.js +45 -28
  614. package/build/src/utils/prompts.js.map +1 -1
  615. package/build/src/utils/resolveArgs.js +23 -20
  616. package/build/src/utils/resolveArgs.js.map +1 -1
  617. package/build/src/utils/scheme.js +128 -52
  618. package/build/src/utils/scheme.js.map +1 -1
  619. package/build/src/utils/strings.js +11 -4
  620. package/build/src/utils/strings.js.map +1 -1
  621. package/build/src/utils/tar.js +56 -23
  622. package/build/src/utils/tar.js.map +1 -1
  623. package/build/src/utils/telemetry/DetachedClient.js +90 -0
  624. package/build/src/utils/telemetry/DetachedClient.js.map +1 -0
  625. package/build/src/utils/telemetry/RudderClient.js +101 -0
  626. package/build/src/utils/telemetry/RudderClient.js.map +1 -0
  627. package/build/src/utils/telemetry/flushDetached.js +44 -0
  628. package/build/src/utils/telemetry/flushDetached.js.map +1 -0
  629. package/build/src/utils/telemetry/getContext.js +112 -0
  630. package/build/src/utils/telemetry/getContext.js.map +1 -0
  631. package/build/src/utils/telemetry/index.js +37 -0
  632. package/build/src/utils/telemetry/index.js.map +1 -0
  633. package/build/src/utils/telemetry/types.js +6 -0
  634. package/build/src/utils/telemetry/types.js.map +1 -0
  635. package/build/src/utils/template.js +27 -2
  636. package/build/src/utils/template.js.map +1 -1
  637. package/build/src/utils/terminal.js +5 -2
  638. package/build/src/utils/terminal.js.map +1 -1
  639. package/build/src/utils/tsconfig/evaluateTsConfig.js +32 -14
  640. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  641. package/build/src/utils/tsconfig/loadTsConfigPaths.js +34 -14
  642. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  643. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +8 -4
  644. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  645. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +20 -11
  646. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  647. package/build/src/utils/url.js +35 -19
  648. package/build/src/utils/url.js.map +1 -1
  649. package/build/src/utils/validateApplicationId.js +47 -28
  650. package/build/src/utils/validateApplicationId.js.map +1 -1
  651. package/build/src/utils/variadic.js +15 -11
  652. package/build/src/utils/variadic.js.map +1 -1
  653. package/build/src/whoami/index.js +43 -25
  654. package/build/src/whoami/index.js.map +1 -1
  655. package/build/src/whoami/whoamiAsync.js +50 -23
  656. package/build/src/whoami/whoamiAsync.js.map +1 -1
  657. package/package.json +16 -17
  658. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js +27907 -0
  659. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js +9494 -0
  660. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-profiling.js +10015 -0
  661. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +28375 -0
  662. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +9714 -0
  663. package/build/src/run/android/resolveGradleProps.js +0 -37
  664. package/build/src/run/android/resolveGradleProps.js.map +0 -1
  665. package/build/src/start/server/metro/bundleApiRoutes.js +0 -52
  666. package/build/src/start/server/metro/bundleApiRoutes.js.map +0 -1
  667. package/build/src/start/server/metro/debugging/InspectorDevice.js +0 -80
  668. package/build/src/start/server/metro/debugging/InspectorDevice.js.map +0 -1
  669. package/build/src/start/server/metro/debugging/InspectorProxy.js +0 -116
  670. package/build/src/start/server/metro/debugging/InspectorProxy.js.map +0 -1
  671. package/build/src/start/server/metro/debugging/inspectorHandlers/NetworkResponse.js.map +0 -1
  672. package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js +0 -22
  673. package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js.map +0 -1
  674. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js +0 -21
  675. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +0 -1
  676. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js +0 -56
  677. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js.map +0 -1
  678. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js +0 -18
  679. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +0 -1
  680. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js +0 -24
  681. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js.map +0 -1
  682. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeGetProperties.js.map +0 -1
  683. package/build/src/start/server/metro/debugging/inspectorHandlers/types.js.map +0 -1
  684. package/build/src/start/server/metro/debugging/inspectorHandlers/utils.js.map +0 -1
  685. package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js +0 -38
  686. package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js.map +0 -1
  687. package/build/src/start/server/type-generation/__typetests__/generateFixtures.js +0 -38
  688. package/build/src/start/server/type-generation/__typetests__/generateFixtures.js.map +0 -1
  689. package/build/src/start/server/type-generation/__typetests__/route.test.js +0 -184
  690. package/build/src/start/server/type-generation/__typetests__/route.test.js.map +0 -1
  691. package/build/src/utils/analytics/rudderstackClient.js +0 -147
  692. package/build/src/utils/analytics/rudderstackClient.js.map +0 -1
  693. /package/build/src/start/server/metro/debugging/{inspectorHandlers/types.js → types.js} +0 -0
@@ -2,40 +2,92 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.getXcodeVersionAsync = void 0;
6
- var _chalk = _interopRequireDefault(require("chalk"));
7
- var _childProcess = require("child_process");
8
- var _semver = _interopRequireDefault(require("semver"));
9
- var Log = _interopRequireWildcard(require("../../../log"));
10
- var _errors = require("../../../utils/errors");
11
- var _profile = require("../../../utils/profile");
12
- var _prompts = require("../../../utils/prompts");
13
- var _prerequisite = require("../Prerequisite");
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ getXcodeVersionAsync: ()=>getXcodeVersionAsync,
13
+ XcodePrerequisite: ()=>XcodePrerequisite
14
+ });
15
+ function _spawnAsync() {
16
+ const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
17
+ _spawnAsync = function() {
18
+ return data;
19
+ };
20
+ return data;
21
+ }
22
+ function _chalk() {
23
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
24
+ _chalk = function() {
25
+ return data;
26
+ };
27
+ return data;
28
+ }
29
+ function _childProcess() {
30
+ const data = require("child_process");
31
+ _childProcess = function() {
32
+ return data;
33
+ };
34
+ return data;
35
+ }
36
+ function _semver() {
37
+ const data = /*#__PURE__*/ _interopRequireDefault(require("semver"));
38
+ _semver = function() {
39
+ return data;
40
+ };
41
+ return data;
42
+ }
43
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../../log"));
44
+ const _errors = require("../../../utils/errors");
45
+ const _profile = require("../../../utils/profile");
46
+ const _prompts = require("../../../utils/prompts");
47
+ const _prerequisite = require("../Prerequisite");
14
48
  function _interopRequireDefault(obj) {
15
49
  return obj && obj.__esModule ? obj : {
16
50
  default: obj
17
51
  };
18
52
  }
19
- function _interopRequireWildcard(obj) {
20
- if (obj && obj.__esModule) {
53
+ function _getRequireWildcardCache(nodeInterop) {
54
+ if (typeof WeakMap !== "function") return null;
55
+ var cacheBabelInterop = new WeakMap();
56
+ var cacheNodeInterop = new WeakMap();
57
+ return (_getRequireWildcardCache = function(nodeInterop) {
58
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
59
+ })(nodeInterop);
60
+ }
61
+ function _interopRequireWildcard(obj, nodeInterop) {
62
+ if (!nodeInterop && obj && obj.__esModule) {
21
63
  return obj;
22
- } else {
23
- var newObj = {};
24
- if (obj != null) {
25
- for(var key in obj){
26
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
27
- var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
28
- if (desc.get || desc.set) {
29
- Object.defineProperty(newObj, key, desc);
30
- } else {
31
- newObj[key] = obj[key];
32
- }
33
- }
64
+ }
65
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
66
+ return {
67
+ default: obj
68
+ };
69
+ }
70
+ var cache = _getRequireWildcardCache(nodeInterop);
71
+ if (cache && cache.has(obj)) {
72
+ return cache.get(obj);
73
+ }
74
+ var newObj = {};
75
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
76
+ for(var key in obj){
77
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
78
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
79
+ if (desc && (desc.get || desc.set)) {
80
+ Object.defineProperty(newObj, key, desc);
81
+ } else {
82
+ newObj[key] = obj[key];
34
83
  }
35
84
  }
36
- newObj.default = obj;
37
- return newObj;
38
85
  }
86
+ newObj.default = obj;
87
+ if (cache) {
88
+ cache.set(obj, newObj);
89
+ }
90
+ return newObj;
39
91
  }
40
92
  const debug = require("debug")("expo:doctor:apple:xcode");
41
93
  // Based on the Apple announcement (last updated: Aug 2023).
@@ -45,46 +97,68 @@ const APP_STORE_ID = "497799835";
45
97
  const SUGGESTED_XCODE_VERSION = `${MIN_XCODE_VERSION}.0`;
46
98
  const promptToOpenAppStoreAsync = async (message)=>{
47
99
  // This prompt serves no purpose accept informing the user what to do next, we could just open the App Store but it could be confusing if they don't know what's going on.
48
- const confirm = await (0, _prompts).confirmAsync({
100
+ const confirm = await (0, _prompts.confirmAsync)({
49
101
  initial: true,
50
102
  message
51
103
  });
52
104
  if (confirm) {
53
- Log.log(`Going to the App Store, re-run Expo CLI when Xcode has finished installing.`);
105
+ _log.log(`Going to the App Store, re-run Expo CLI when Xcode has finished installing.`);
54
106
  openAppStore(APP_STORE_ID);
55
107
  }
56
108
  };
57
- const getXcodeVersionAsync = ()=>{
58
- try {
59
- var ref;
60
- const last = (ref = (0, _childProcess).execSync("xcodebuild -version", {
61
- stdio: "pipe"
62
- }).toString().match(/^Xcode (\d+\.\d+)/)) == null ? void 0 : ref[1];
63
- // Convert to a semver string
64
- if (last) {
65
- const version = `${last}.0`;
66
- if (!_semver.default.valid(version)) {
67
- // Not sure why this would happen, if it does we should add a more confident error message.
68
- Log.error(`Xcode version is in an unknown format: ${version}`);
69
- return false;
109
+ let _xcodeVersionPromise = null;
110
+ const getXcodeVersionAsync = async ({ silent , force } = {})=>{
111
+ const logError = silent ? debug : _log.warn;
112
+ const getVersion = async ()=>{
113
+ try {
114
+ var ref;
115
+ const { stdout } = await (0, _spawnAsync().default)("xcodebuild", [
116
+ "-version"
117
+ ]);
118
+ const last = (ref = stdout.match(/^Xcode (\d+\.\d+)/)) == null ? void 0 : ref[1];
119
+ // Convert to a semver string
120
+ if (last) {
121
+ const version = `${last}.0`;
122
+ if (!_semver().default.valid(version)) {
123
+ // Not sure why this would happen, if it does we should add a more confident error message.
124
+ return {
125
+ error: `Xcode version is in an unknown format: ${version}`,
126
+ value: false
127
+ };
128
+ }
129
+ return {
130
+ value: version
131
+ };
70
132
  }
71
- return version;
133
+ // not sure what's going on
134
+ return {
135
+ error: "Unable to check Xcode version. Command ran successfully but no version number was found.",
136
+ value: null
137
+ };
138
+ } catch {
139
+ // not installed
72
140
  }
73
- // not sure what's going on
74
- Log.error("Unable to check Xcode version. Command ran successfully but no version number was found.");
75
- } catch {
76
- // not installed
141
+ return {
142
+ value: null
143
+ };
144
+ };
145
+ if (force) {
146
+ _xcodeVersionPromise = null;
77
147
  }
78
- return null;
148
+ _xcodeVersionPromise = _xcodeVersionPromise != null ? _xcodeVersionPromise : getVersion();
149
+ const result = await _xcodeVersionPromise;
150
+ if (result.error) {
151
+ logError(result.error);
152
+ }
153
+ return result.value;
79
154
  };
80
- exports.getXcodeVersionAsync = getXcodeVersionAsync;
81
155
  /**
82
156
  * Open a link to the App Store. Just link in mobile apps, **never** redirect without prompting first.
83
157
  *
84
158
  * @param appId
85
159
  */ function openAppStore(appId) {
86
160
  const link = getAppStoreLink(appId);
87
- (0, _childProcess).execSync(`open ${link}`, {
161
+ (0, _childProcess().execSync)(`open ${link}`, {
88
162
  stdio: "ignore"
89
163
  });
90
164
  }
@@ -97,7 +171,7 @@ function getAppStoreLink(appId) {
97
171
  }
98
172
  function spawnForString(cmd) {
99
173
  try {
100
- return (0, _childProcess).execSync(cmd, {
174
+ return (0, _childProcess().execSync)(cmd, {
101
175
  stdio: "pipe"
102
176
  }).toString().trim();
103
177
  } catch {}
@@ -114,25 +188,27 @@ class XcodePrerequisite extends _prerequisite.Prerequisite {
114
188
  /**
115
189
  * Ensure Xcode is installed and recent enough to be used with Expo.
116
190
  */ async assertImplementation() {
117
- const version = (0, _profile).profile(getXcodeVersionAsync)();
191
+ const version = await (0, _profile.profile)(getXcodeVersionAsync)({
192
+ force: process.env.NODE_ENV === "test"
193
+ });
118
194
  debug(`Xcode version: ${version}`);
119
195
  if (!version) {
120
196
  // A couple different issues could have occurred, let's check them after we're past the point of no return
121
197
  // since we no longer need to be fast about validation.
122
198
  // Ensure Xcode.app can be found before we prompt to sudo select it.
123
199
  if (getXcodeInstalled()) {
124
- const selectPath = (0, _profile).profile(getXcodeSelectPathAsync)();
200
+ const selectPath = (0, _profile.profile)(getXcodeSelectPathAsync)();
125
201
  debug(`Xcode select path: ${selectPath}`);
126
202
  if (!selectPath) {
127
- Log.error([
203
+ _log.error([
128
204
  "",
129
- _chalk.default.bold("Xcode has not been fully setup for Apple development yet."),
205
+ _chalk().default.bold("Xcode has not been fully setup for Apple development yet."),
130
206
  "Download at: https://developer.apple.com/xcode/",
131
207
  "or in the App Store.",
132
208
  "",
133
209
  "After downloading Xcode, run the following two commands in your terminal:",
134
- _chalk.default.cyan(" sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer"),
135
- _chalk.default.cyan(" sudo xcodebuild -runFirstLaunch"),
210
+ _chalk().default.cyan(" sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer"),
211
+ _chalk().default.cyan(" sudo xcodebuild -runFirstLaunch"),
136
212
  "",
137
213
  "Then you can re-run Expo CLI. Alternatively, you can build apps in the cloud with EAS CLI, or preview using the Expo Go app on a physical device.",
138
214
  "",
@@ -146,13 +222,12 @@ class XcodePrerequisite extends _prerequisite.Prerequisite {
146
222
  await promptToOpenAppStoreAsync(`Xcode must be fully installed before you can continue. Continue to the App Store?`);
147
223
  throw new _errors.AbortCommandError();
148
224
  }
149
- if (_semver.default.lt(version, SUGGESTED_XCODE_VERSION)) {
225
+ if (_semver().default.lt(version, SUGGESTED_XCODE_VERSION)) {
150
226
  // Xcode version is too old.
151
227
  await promptToOpenAppStoreAsync(`Xcode (${version}) needs to be updated to at least version ${MIN_XCODE_VERSION}. Continue to the App Store?`);
152
228
  throw new _errors.AbortCommandError();
153
229
  }
154
230
  }
155
231
  }
156
- exports.XcodePrerequisite = XcodePrerequisite;
157
232
 
158
233
  //# sourceMappingURL=XcodePrerequisite.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/doctor/apple/XcodePrerequisite.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { execSync } from 'child_process';\nimport semver from 'semver';\n\nimport * as Log from '../../../log';\nimport { AbortCommandError } from '../../../utils/errors';\nimport { profile } from '../../../utils/profile';\nimport { confirmAsync } from '../../../utils/prompts';\nimport { Prerequisite } from '../Prerequisite';\n\nconst debug = require('debug')('expo:doctor:apple:xcode') as typeof console.log;\n\n// Based on the Apple announcement (last updated: Aug 2023).\n// https://developer.apple.com/news/upcoming-requirements/?id=04252023a\nconst MIN_XCODE_VERSION = '14.1';\nconst APP_STORE_ID = '497799835';\n\nconst SUGGESTED_XCODE_VERSION = `${MIN_XCODE_VERSION}.0`;\n\nconst promptToOpenAppStoreAsync = async (message: string) => {\n // This prompt serves no purpose accept informing the user what to do next, we could just open the App Store but it could be confusing if they don't know what's going on.\n const confirm = await confirmAsync({ initial: true, message });\n if (confirm) {\n Log.log(`Going to the App Store, re-run Expo CLI when Xcode has finished installing.`);\n openAppStore(APP_STORE_ID);\n }\n};\n\n/** Exposed for testing, use `getXcodeVersion` */\nexport const getXcodeVersionAsync = (): string | null | false => {\n try {\n const last = execSync('xcodebuild -version', { stdio: 'pipe' })\n .toString()\n .match(/^Xcode (\\d+\\.\\d+)/)?.[1];\n // Convert to a semver string\n if (last) {\n const version = `${last}.0`;\n\n if (!semver.valid(version)) {\n // Not sure why this would happen, if it does we should add a more confident error message.\n Log.error(`Xcode version is in an unknown format: ${version}`);\n return false;\n }\n\n return version;\n }\n // not sure what's going on\n Log.error(\n 'Unable to check Xcode version. Command ran successfully but no version number was found.'\n );\n } catch {\n // not installed\n }\n return null;\n};\n\n/**\n * Open a link to the App Store. Just link in mobile apps, **never** redirect without prompting first.\n *\n * @param appId\n */\nfunction openAppStore(appId: string) {\n const link = getAppStoreLink(appId);\n execSync(`open ${link}`, { stdio: 'ignore' });\n}\n\nfunction getAppStoreLink(appId: string): string {\n if (process.platform === 'darwin') {\n // TODO: Is there ever a case where the macappstore isn't available on mac?\n return `macappstore://itunes.apple.com/app/id${appId}`;\n }\n return `https://apps.apple.com/us/app/id${appId}`;\n}\n\nfunction spawnForString(cmd: string): string | null {\n try {\n return execSync(cmd, { stdio: 'pipe' }).toString().trim();\n } catch {}\n return null;\n}\n\n/** @returns a string like `/Applications/Xcode.app/Contents/Developer` when Xcode has a correctly selected path. */\nfunction getXcodeSelectPathAsync() {\n return spawnForString('/usr/bin/xcode-select --print-path');\n}\nfunction getXcodeInstalled() {\n return spawnForString('ls /Applications/Xcode.app/Contents/Developer');\n}\n\nexport class XcodePrerequisite extends Prerequisite {\n static instance = new XcodePrerequisite();\n\n /**\n * Ensure Xcode is installed and recent enough to be used with Expo.\n */\n async assertImplementation(): Promise<void> {\n const version = profile(getXcodeVersionAsync)();\n debug(`Xcode version: ${version}`);\n if (!version) {\n // A couple different issues could have occurred, let's check them after we're past the point of no return\n // since we no longer need to be fast about validation.\n\n // Ensure Xcode.app can be found before we prompt to sudo select it.\n if (getXcodeInstalled()) {\n const selectPath = profile(getXcodeSelectPathAsync)();\n debug(`Xcode select path: ${selectPath}`);\n if (!selectPath) {\n Log.error(\n [\n '',\n chalk.bold('Xcode has not been fully setup for Apple development yet.'),\n 'Download at: https://developer.apple.com/xcode/',\n 'or in the App Store.',\n '',\n 'After downloading Xcode, run the following two commands in your terminal:',\n chalk.cyan(' sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer'),\n chalk.cyan(' sudo xcodebuild -runFirstLaunch'),\n '',\n 'Then you can re-run Expo CLI. Alternatively, you can build apps in the cloud with EAS CLI, or preview using the Expo Go app on a physical device.',\n '',\n ].join('\\n')\n );\n throw new AbortCommandError();\n } else {\n debug(`Unexpected Xcode setup (version: ${version}, select: ${selectPath})`);\n }\n }\n\n // Almost certainly Xcode isn't installed.\n await promptToOpenAppStoreAsync(\n `Xcode must be fully installed before you can continue. Continue to the App Store?`\n );\n throw new AbortCommandError();\n }\n\n if (semver.lt(version, SUGGESTED_XCODE_VERSION)) {\n // Xcode version is too old.\n await promptToOpenAppStoreAsync(\n `Xcode (${version}) needs to be updated to at least version ${MIN_XCODE_VERSION}. Continue to the App Store?`\n );\n throw new AbortCommandError();\n }\n }\n}\n"],"names":["Log","debug","require","MIN_XCODE_VERSION","APP_STORE_ID","SUGGESTED_XCODE_VERSION","promptToOpenAppStoreAsync","message","confirm","confirmAsync","initial","log","openAppStore","getXcodeVersionAsync","execSync","last","stdio","toString","match","version","semver","valid","error","appId","link","getAppStoreLink","process","platform","spawnForString","cmd","trim","getXcodeSelectPathAsync","getXcodeInstalled","XcodePrerequisite","Prerequisite","instance","assertImplementation","profile","selectPath","chalk","bold","cyan","join","AbortCommandError","lt"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/start/doctor/apple/XcodePrerequisite.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\nimport { execSync } from 'child_process';\nimport semver from 'semver';\n\nimport * as Log from '../../../log';\nimport { AbortCommandError } from '../../../utils/errors';\nimport { profile } from '../../../utils/profile';\nimport { confirmAsync } from '../../../utils/prompts';\nimport { Prerequisite } from '../Prerequisite';\n\nconst debug = require('debug')('expo:doctor:apple:xcode') as typeof console.log;\n\n// Based on the Apple announcement (last updated: Aug 2023).\n// https://developer.apple.com/news/upcoming-requirements/?id=04252023a\nconst MIN_XCODE_VERSION = '14.1';\nconst APP_STORE_ID = '497799835';\n\nconst SUGGESTED_XCODE_VERSION = `${MIN_XCODE_VERSION}.0`;\n\nconst promptToOpenAppStoreAsync = async (message: string) => {\n // This prompt serves no purpose accept informing the user what to do next, we could just open the App Store but it could be confusing if they don't know what's going on.\n const confirm = await confirmAsync({ initial: true, message });\n if (confirm) {\n Log.log(`Going to the App Store, re-run Expo CLI when Xcode has finished installing.`);\n openAppStore(APP_STORE_ID);\n }\n};\n\nlet _xcodeVersionPromise: Promise<{ value: string | null | false; error?: string }> | null = null;\n\nexport const getXcodeVersionAsync = async ({\n silent,\n force,\n}: { silent?: boolean; force?: boolean } = {}): Promise<string | null | false> => {\n const logError = silent ? debug : Log.warn;\n const getVersion = async (): Promise<{ value: string | null | false; error?: string }> => {\n try {\n const { stdout } = await spawnAsync('xcodebuild', ['-version']);\n const last = stdout.match(/^Xcode (\\d+\\.\\d+)/)?.[1];\n // Convert to a semver string\n if (last) {\n const version = `${last}.0`;\n\n if (!semver.valid(version)) {\n // Not sure why this would happen, if it does we should add a more confident error message.\n return { error: `Xcode version is in an unknown format: ${version}`, value: false };\n }\n return { value: version };\n }\n\n // not sure what's going on\n return {\n error:\n 'Unable to check Xcode version. Command ran successfully but no version number was found.',\n value: null,\n };\n } catch {\n // not installed\n }\n return { value: null };\n };\n\n if (force) {\n _xcodeVersionPromise = null;\n }\n\n _xcodeVersionPromise = _xcodeVersionPromise ?? getVersion();\n\n const result = await _xcodeVersionPromise;\n\n if (result.error) {\n logError(result.error);\n }\n\n return result.value;\n};\n\n/**\n * Open a link to the App Store. Just link in mobile apps, **never** redirect without prompting first.\n *\n * @param appId\n */\nfunction openAppStore(appId: string) {\n const link = getAppStoreLink(appId);\n execSync(`open ${link}`, { stdio: 'ignore' });\n}\n\nfunction getAppStoreLink(appId: string): string {\n if (process.platform === 'darwin') {\n // TODO: Is there ever a case where the macappstore isn't available on mac?\n return `macappstore://itunes.apple.com/app/id${appId}`;\n }\n return `https://apps.apple.com/us/app/id${appId}`;\n}\n\nfunction spawnForString(cmd: string): string | null {\n try {\n return execSync(cmd, { stdio: 'pipe' }).toString().trim();\n } catch {}\n return null;\n}\n\n/** @returns a string like `/Applications/Xcode.app/Contents/Developer` when Xcode has a correctly selected path. */\nfunction getXcodeSelectPathAsync() {\n return spawnForString('/usr/bin/xcode-select --print-path');\n}\nfunction getXcodeInstalled() {\n return spawnForString('ls /Applications/Xcode.app/Contents/Developer');\n}\n\nexport class XcodePrerequisite extends Prerequisite {\n static instance = new XcodePrerequisite();\n\n /**\n * Ensure Xcode is installed and recent enough to be used with Expo.\n */\n async assertImplementation(): Promise<void> {\n const version = await profile(getXcodeVersionAsync)({ force: process.env.NODE_ENV === 'test' });\n debug(`Xcode version: ${version}`);\n if (!version) {\n // A couple different issues could have occurred, let's check them after we're past the point of no return\n // since we no longer need to be fast about validation.\n\n // Ensure Xcode.app can be found before we prompt to sudo select it.\n if (getXcodeInstalled()) {\n const selectPath = profile(getXcodeSelectPathAsync)();\n debug(`Xcode select path: ${selectPath}`);\n if (!selectPath) {\n Log.error(\n [\n '',\n chalk.bold('Xcode has not been fully setup for Apple development yet.'),\n 'Download at: https://developer.apple.com/xcode/',\n 'or in the App Store.',\n '',\n 'After downloading Xcode, run the following two commands in your terminal:',\n chalk.cyan(' sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer'),\n chalk.cyan(' sudo xcodebuild -runFirstLaunch'),\n '',\n 'Then you can re-run Expo CLI. Alternatively, you can build apps in the cloud with EAS CLI, or preview using the Expo Go app on a physical device.',\n '',\n ].join('\\n')\n );\n throw new AbortCommandError();\n } else {\n debug(`Unexpected Xcode setup (version: ${version}, select: ${selectPath})`);\n }\n }\n\n // Almost certainly Xcode isn't installed.\n await promptToOpenAppStoreAsync(\n `Xcode must be fully installed before you can continue. Continue to the App Store?`\n );\n throw new AbortCommandError();\n }\n\n if (semver.lt(version, SUGGESTED_XCODE_VERSION)) {\n // Xcode version is too old.\n await promptToOpenAppStoreAsync(\n `Xcode (${version}) needs to be updated to at least version ${MIN_XCODE_VERSION}. Continue to the App Store?`\n );\n throw new AbortCommandError();\n }\n }\n}\n"],"names":["getXcodeVersionAsync","XcodePrerequisite","debug","require","MIN_XCODE_VERSION","APP_STORE_ID","SUGGESTED_XCODE_VERSION","promptToOpenAppStoreAsync","message","confirm","confirmAsync","initial","Log","log","openAppStore","_xcodeVersionPromise","silent","force","logError","warn","getVersion","stdout","spawnAsync","last","match","version","semver","valid","error","value","result","appId","link","getAppStoreLink","execSync","stdio","process","platform","spawnForString","cmd","toString","trim","getXcodeSelectPathAsync","getXcodeInstalled","Prerequisite","instance","assertImplementation","profile","env","NODE_ENV","selectPath","chalk","bold","cyan","join","AbortCommandError","lt"],"mappings":"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"}
@@ -2,13 +2,35 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- var _spawnAsync = _interopRequireDefault(require("@expo/spawn-async"));
6
- var _chalk = _interopRequireDefault(require("chalk"));
7
- var _childProcess = require("child_process");
8
- var _delay = require("../../../utils/delay");
9
- var _errors = require("../../../utils/errors");
10
- var _prompts = require("../../../utils/prompts");
11
- var _prerequisite = require("../Prerequisite");
5
+ Object.defineProperty(exports, "XcrunPrerequisite", {
6
+ enumerable: true,
7
+ get: ()=>XcrunPrerequisite
8
+ });
9
+ function _spawnAsync() {
10
+ const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
11
+ _spawnAsync = function() {
12
+ return data;
13
+ };
14
+ return data;
15
+ }
16
+ function _chalk() {
17
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
18
+ _chalk = function() {
19
+ return data;
20
+ };
21
+ return data;
22
+ }
23
+ function _childProcess() {
24
+ const data = require("child_process");
25
+ _childProcess = function() {
26
+ return data;
27
+ };
28
+ return data;
29
+ }
30
+ const _delay = require("../../../utils/delay");
31
+ const _errors = require("../../../utils/errors");
32
+ const _prompts = require("../../../utils/prompts");
33
+ const _prerequisite = require("../Prerequisite");
12
34
  function _interopRequireDefault(obj) {
13
35
  return obj && obj.__esModule ? obj : {
14
36
  default: obj
@@ -16,7 +38,7 @@ function _interopRequireDefault(obj) {
16
38
  }
17
39
  async function isXcrunInstalledAsync() {
18
40
  try {
19
- (0, _childProcess).execSync("xcrun --version", {
41
+ (0, _childProcess().execSync)("xcrun --version", {
20
42
  stdio: "ignore"
21
43
  });
22
44
  return true;
@@ -35,18 +57,18 @@ class XcrunPrerequisite extends _prerequisite.Prerequisite {
35
57
  }
36
58
  async function pendingAsync() {
37
59
  if (!await isXcrunInstalledAsync()) {
38
- await (0, _delay).delayAsync(100);
60
+ await (0, _delay.delayAsync)(100);
39
61
  return await pendingAsync();
40
62
  }
41
63
  }
42
64
  // This prompt serves no purpose accept informing the user what to do next, we could just open the App Store but it could be confusing if they don't know what's going on.
43
- const confirm = await (0, _prompts).confirmAsync({
65
+ const confirm = await (0, _prompts.confirmAsync)({
44
66
  initial: true,
45
- message: _chalk.default`Xcode {bold Command Line Tools} needs to be installed (requires {bold sudo}), continue?`
67
+ message: (0, _chalk().default)`Xcode {bold Command Line Tools} needs to be installed (requires {bold sudo}), continue?`
46
68
  });
47
69
  if (confirm) {
48
70
  try {
49
- await (0, _spawnAsync).default("sudo", [
71
+ await (0, _spawnAsync().default)("sudo", [
50
72
  "xcode-select",
51
73
  "--install"
52
74
  ]);
@@ -60,6 +82,5 @@ class XcrunPrerequisite extends _prerequisite.Prerequisite {
60
82
  throw new _errors.AbortCommandError();
61
83
  }
62
84
  }
63
- exports.XcrunPrerequisite = XcrunPrerequisite;
64
85
 
65
86
  //# sourceMappingURL=XcrunPrerequisite.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/doctor/apple/XcrunPrerequisite.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\nimport { execSync } from 'child_process';\n\nimport { delayAsync } from '../../../utils/delay';\nimport { AbortCommandError } from '../../../utils/errors';\nimport { confirmAsync } from '../../../utils/prompts';\nimport { Prerequisite } from '../Prerequisite';\n\nasync function isXcrunInstalledAsync() {\n try {\n execSync('xcrun --version', { stdio: 'ignore' });\n return true;\n } catch {\n return false;\n }\n}\n\nexport class XcrunPrerequisite extends Prerequisite {\n static instance = new XcrunPrerequisite();\n\n /**\n * Ensure Xcode CLI is installed.\n */\n async assertImplementation(): Promise<void> {\n if (await isXcrunInstalledAsync()) {\n // Run this second to ensure the Xcode version check is run.\n return;\n }\n\n async function pendingAsync(): Promise<void> {\n if (!(await isXcrunInstalledAsync())) {\n await delayAsync(100);\n return await pendingAsync();\n }\n }\n\n // This prompt serves no purpose accept informing the user what to do next, we could just open the App Store but it could be confusing if they don't know what's going on.\n const confirm = await confirmAsync({\n initial: true,\n message: chalk`Xcode {bold Command Line Tools} needs to be installed (requires {bold sudo}), continue?`,\n });\n\n if (confirm) {\n try {\n await spawnAsync('sudo', [\n 'xcode-select',\n '--install',\n // TODO: Is there any harm in skipping this?\n // '--switch', '/Applications/Xcode.app'\n ]);\n // Most likely the user will cancel the process, but if they don't this will continue checking until the CLI is available.\n return await pendingAsync();\n } catch {\n // TODO: Figure out why this might get called (cancel early, network issues, server problems)\n // TODO: Handle me\n }\n }\n\n throw new AbortCommandError();\n }\n}\n"],"names":["isXcrunInstalledAsync","execSync","stdio","XcrunPrerequisite","Prerequisite","instance","assertImplementation","pendingAsync","delayAsync","confirm","confirmAsync","initial","message","chalk","spawnAsync","AbortCommandError"],"mappings":"AAAA;;;;AAAuB,IAAA,WAAmB,kCAAnB,mBAAmB,EAAA;AACxB,IAAA,MAAO,kCAAP,OAAO,EAAA;AACA,IAAA,aAAe,WAAf,eAAe,CAAA;AAEb,IAAA,MAAsB,WAAtB,sBAAsB,CAAA;AACf,IAAA,OAAuB,WAAvB,uBAAuB,CAAA;AAC5B,IAAA,QAAwB,WAAxB,wBAAwB,CAAA;AACxB,IAAA,aAAiB,WAAjB,iBAAiB,CAAA;;;;;;AAE9C,eAAeA,qBAAqB,GAAG;IACrC,IAAI;QACFC,CAAAA,GAAAA,aAAQ,AAAwC,CAAA,SAAxC,CAAC,iBAAiB,EAAE;YAAEC,KAAK,EAAE,QAAQ;SAAE,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;KACb,CAAC,OAAM;QACN,OAAO,KAAK,CAAC;KACd;CACF;AAEM,MAAMC,iBAAiB,SAASC,aAAY,aAAA;IACjD,OAAOC,QAAQ,GAAG,IAAIF,iBAAiB,EAAE,CAAC;IAE1C;;KAEG,CACH,MAAMG,oBAAoB,GAAkB;QAC1C,IAAI,MAAMN,qBAAqB,EAAE,EAAE;YACjC,4DAA4D;YAC5D,OAAO;SACR;QAED,eAAeO,YAAY,GAAkB;YAC3C,IAAI,CAAE,MAAMP,qBAAqB,EAAE,AAAC,EAAE;gBACpC,MAAMQ,CAAAA,GAAAA,MAAU,AAAK,CAAA,WAAL,CAAC,GAAG,CAAC,CAAC;gBACtB,OAAO,MAAMD,YAAY,EAAE,CAAC;aAC7B;SACF;QAED,0KAA0K;QAC1K,MAAME,OAAO,GAAG,MAAMC,CAAAA,GAAAA,QAAY,AAGhC,CAAA,aAHgC,CAAC;YACjCC,OAAO,EAAE,IAAI;YACbC,OAAO,EAAEC,MAAK,QAAA,CAAC,uFAAuF,CAAC;SACxG,CAAC,AAAC;QAEH,IAAIJ,OAAO,EAAE;YACX,IAAI;gBACF,MAAMK,CAAAA,GAAAA,WAAU,AAKd,CAAA,QALc,CAAC,MAAM,EAAE;oBACvB,cAAc;oBACd,WAAW;iBAGZ,CAAC,CAAC;gBACH,0HAA0H;gBAC1H,OAAO,MAAMP,YAAY,EAAE,CAAC;aAC7B,CAAC,OAAM;YACN,6FAA6F;YAC7F,kBAAkB;aACnB;SACF;QAED,MAAM,IAAIQ,OAAiB,kBAAA,EAAE,CAAC;KAC/B;CACF;QA3CYZ,iBAAiB,GAAjBA,iBAAiB"}
1
+ {"version":3,"sources":["../../../../../src/start/doctor/apple/XcrunPrerequisite.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\nimport { execSync } from 'child_process';\n\nimport { delayAsync } from '../../../utils/delay';\nimport { AbortCommandError } from '../../../utils/errors';\nimport { confirmAsync } from '../../../utils/prompts';\nimport { Prerequisite } from '../Prerequisite';\n\nasync function isXcrunInstalledAsync() {\n try {\n execSync('xcrun --version', { stdio: 'ignore' });\n return true;\n } catch {\n return false;\n }\n}\n\nexport class XcrunPrerequisite extends Prerequisite {\n static instance = new XcrunPrerequisite();\n\n /**\n * Ensure Xcode CLI is installed.\n */\n async assertImplementation(): Promise<void> {\n if (await isXcrunInstalledAsync()) {\n // Run this second to ensure the Xcode version check is run.\n return;\n }\n\n async function pendingAsync(): Promise<void> {\n if (!(await isXcrunInstalledAsync())) {\n await delayAsync(100);\n return await pendingAsync();\n }\n }\n\n // This prompt serves no purpose accept informing the user what to do next, we could just open the App Store but it could be confusing if they don't know what's going on.\n const confirm = await confirmAsync({\n initial: true,\n message: chalk`Xcode {bold Command Line Tools} needs to be installed (requires {bold sudo}), continue?`,\n });\n\n if (confirm) {\n try {\n await spawnAsync('sudo', [\n 'xcode-select',\n '--install',\n // TODO: Is there any harm in skipping this?\n // '--switch', '/Applications/Xcode.app'\n ]);\n // Most likely the user will cancel the process, but if they don't this will continue checking until the CLI is available.\n return await pendingAsync();\n } catch {\n // TODO: Figure out why this might get called (cancel early, network issues, server problems)\n // TODO: Handle me\n }\n }\n\n throw new AbortCommandError();\n }\n}\n"],"names":["XcrunPrerequisite","isXcrunInstalledAsync","execSync","stdio","Prerequisite","instance","assertImplementation","pendingAsync","delayAsync","confirm","confirmAsync","initial","message","chalk","spawnAsync","AbortCommandError"],"mappings":"AAAA;;;;+BAkBaA,mBAAiB;;aAAjBA,iBAAiB;;;8DAlBP,mBAAmB;;;;;;;8DACxB,OAAO;;;;;;;yBACA,eAAe;;;;;;uBAEb,sBAAsB;wBACf,uBAAuB;yBAC5B,wBAAwB;8BACxB,iBAAiB;;;;;;AAE9C,eAAeC,qBAAqB,GAAG;IACrC,IAAI;QACFC,IAAAA,aAAQ,EAAA,SAAA,EAAC,iBAAiB,EAAE;YAAEC,KAAK,EAAE,QAAQ;SAAE,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,EAAE,OAAM;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEM,MAAMH,iBAAiB,SAASI,aAAY,aAAA;IACjD,OAAOC,QAAQ,GAAG,IAAIL,iBAAiB,EAAE,CAAC;IAE1C;;GAEC,SACKM,oBAAoB,GAAkB;QAC1C,IAAI,MAAML,qBAAqB,EAAE,EAAE;YACjC,4DAA4D;YAC5D,OAAO;QACT,CAAC;QAED,eAAeM,YAAY,GAAkB;YAC3C,IAAI,CAAE,MAAMN,qBAAqB,EAAE,AAAC,EAAE;gBACpC,MAAMO,IAAAA,MAAU,WAAA,EAAC,GAAG,CAAC,CAAC;gBACtB,OAAO,MAAMD,YAAY,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,0KAA0K;QAC1K,MAAME,OAAO,GAAG,MAAMC,IAAAA,QAAY,aAAA,EAAC;YACjCC,OAAO,EAAE,IAAI;YACbC,OAAO,EAAEC,IAAAA,MAAK,EAAA,QAAA,CAAA,CAAC,uFAAuF,CAAC;SACxG,CAAC,AAAC;QAEH,IAAIJ,OAAO,EAAE;YACX,IAAI;gBACF,MAAMK,IAAAA,WAAU,EAAA,QAAA,EAAC,MAAM,EAAE;oBACvB,cAAc;oBACd,WAAW;iBAGZ,CAAC,CAAC;gBACH,0HAA0H;gBAC1H,OAAO,MAAMP,YAAY,EAAE,CAAC;YAC9B,EAAE,OAAM;YACN,6FAA6F;YAC7F,kBAAkB;YACpB,CAAC;QACH,CAAC;QAED,MAAM,IAAIQ,OAAiB,kBAAA,EAAE,CAAC;IAChC;CACD"}
@@ -2,49 +2,88 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.getVersionedNativeModulesAsync = getVersionedNativeModulesAsync;
6
- var _jsonFile = _interopRequireDefault(require("@expo/json-file"));
7
- var _chalk = _interopRequireDefault(require("chalk"));
8
- var _resolveFrom = _interopRequireDefault(require("resolve-from"));
9
- var _getNativeModuleVersions = require("../../../api/getNativeModuleVersions");
10
- var Log = _interopRequireWildcard(require("../../../log"));
11
- var _env = require("../../../utils/env");
12
- var _errors = require("../../../utils/errors");
5
+ Object.defineProperty(exports, "getVersionedNativeModulesAsync", {
6
+ enumerable: true,
7
+ get: ()=>getVersionedNativeModulesAsync
8
+ });
9
+ function _jsonFile() {
10
+ const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/json-file"));
11
+ _jsonFile = function() {
12
+ return data;
13
+ };
14
+ return data;
15
+ }
16
+ function _chalk() {
17
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
18
+ _chalk = function() {
19
+ return data;
20
+ };
21
+ return data;
22
+ }
23
+ function _resolveFrom() {
24
+ const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
25
+ _resolveFrom = function() {
26
+ return data;
27
+ };
28
+ return data;
29
+ }
30
+ const _getNativeModuleVersions = require("../../../api/getNativeModuleVersions");
31
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../../log"));
32
+ const _env = require("../../../utils/env");
33
+ const _errors = require("../../../utils/errors");
13
34
  function _interopRequireDefault(obj) {
14
35
  return obj && obj.__esModule ? obj : {
15
36
  default: obj
16
37
  };
17
38
  }
18
- function _interopRequireWildcard(obj) {
19
- if (obj && obj.__esModule) {
39
+ function _getRequireWildcardCache(nodeInterop) {
40
+ if (typeof WeakMap !== "function") return null;
41
+ var cacheBabelInterop = new WeakMap();
42
+ var cacheNodeInterop = new WeakMap();
43
+ return (_getRequireWildcardCache = function(nodeInterop) {
44
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
45
+ })(nodeInterop);
46
+ }
47
+ function _interopRequireWildcard(obj, nodeInterop) {
48
+ if (!nodeInterop && obj && obj.__esModule) {
20
49
  return obj;
21
- } else {
22
- var newObj = {};
23
- if (obj != null) {
24
- for(var key in obj){
25
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
26
- var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
27
- if (desc.get || desc.set) {
28
- Object.defineProperty(newObj, key, desc);
29
- } else {
30
- newObj[key] = obj[key];
31
- }
32
- }
50
+ }
51
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
52
+ return {
53
+ default: obj
54
+ };
55
+ }
56
+ var cache = _getRequireWildcardCache(nodeInterop);
57
+ if (cache && cache.has(obj)) {
58
+ return cache.get(obj);
59
+ }
60
+ var newObj = {};
61
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
62
+ for(var key in obj){
63
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
64
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
65
+ if (desc && (desc.get || desc.set)) {
66
+ Object.defineProperty(newObj, key, desc);
67
+ } else {
68
+ newObj[key] = obj[key];
33
69
  }
34
70
  }
35
- newObj.default = obj;
36
- return newObj;
37
71
  }
72
+ newObj.default = obj;
73
+ if (cache) {
74
+ cache.set(obj, newObj);
75
+ }
76
+ return newObj;
38
77
  }
39
78
  const debug = require("debug")("expo:doctor:dependencies:bundledNativeModules");
40
79
  async function getVersionedNativeModulesAsync(projectRoot, sdkVersion, options = {}) {
41
80
  if (sdkVersion !== "UNVERSIONED" && !_env.env.EXPO_OFFLINE && !options.skipRemoteVersions) {
42
81
  try {
43
82
  debug("Fetching bundled native modules from the server...");
44
- return await (0, _getNativeModuleVersions).getNativeModuleVersionsAsync(sdkVersion);
83
+ return await (0, _getNativeModuleVersions.getNativeModuleVersionsAsync)(sdkVersion);
45
84
  } catch (error) {
46
85
  if (error instanceof _errors.CommandError && (error.code === "OFFLINE" || error.code === "API")) {
47
- Log.warn(_chalk.default`Unable to reach well-known versions endpoint. Using local dependency map {bold expo/bundledNativeModules.json} for version validation`);
86
+ _log.warn((0, _chalk().default)`Unable to reach well-known versions endpoint. Using local dependency map {bold expo/bundledNativeModules.json} for version validation`);
48
87
  } else {
49
88
  throw error;
50
89
  }
@@ -58,12 +97,12 @@ async function getVersionedNativeModulesAsync(projectRoot, sdkVersion, options =
58
97
  * that's shipped with the version of `expo` that the project has installed.
59
98
  */ async function getBundledNativeModulesAsync(projectRoot) {
60
99
  // TODO: Revisit now that this code is in the `expo` package.
61
- const bundledNativeModulesPath = _resolveFrom.default.silent(projectRoot, "expo/bundledNativeModules.json");
100
+ const bundledNativeModulesPath = _resolveFrom().default.silent(projectRoot, "expo/bundledNativeModules.json");
62
101
  if (!bundledNativeModulesPath) {
63
- Log.log();
64
- throw new _errors.CommandError(_chalk.default`The dependency map {bold expo/bundledNativeModules.json} cannot be found, please ensure you have the package "{bold expo}" installed in your project.`);
102
+ _log.log();
103
+ throw new _errors.CommandError((0, _chalk().default)`The dependency map {bold expo/bundledNativeModules.json} cannot be found, please ensure you have the package "{bold expo}" installed in your project.`);
65
104
  }
66
- return await _jsonFile.default.readAsync(bundledNativeModulesPath);
105
+ return await _jsonFile().default.readAsync(bundledNativeModulesPath);
67
106
  }
68
107
 
69
108
  //# sourceMappingURL=bundledNativeModules.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/doctor/dependencies/bundledNativeModules.ts"],"sourcesContent":["import JsonFile from '@expo/json-file';\nimport chalk from 'chalk';\nimport resolveFrom from 'resolve-from';\n\nimport { getNativeModuleVersionsAsync } from '../../../api/getNativeModuleVersions';\nimport * as Log from '../../../log';\nimport { env } from '../../../utils/env';\nimport { CommandError } from '../../../utils/errors';\n\nconst debug = require('debug')(\n 'expo:doctor:dependencies:bundledNativeModules'\n) as typeof console.log;\n\nexport type BundledNativeModules = Record<string, string>;\n\n/**\n * Gets the bundledNativeModules.json for a given SDK version:\n * - Tries to fetch the data from the /sdks/:sdkVersion/native-modules API endpoint.\n * - If the data is missing on the server (it can happen for SDKs that are yet fully released)\n * or there's a downtime, reads the local .json file from the \"expo\" package.\n * - For UNVERSIONED, returns the local .json file contents.\n */\nexport async function getVersionedNativeModulesAsync(\n projectRoot: string,\n sdkVersion: string,\n options: {\n skipRemoteVersions?: boolean;\n } = {}\n): Promise<BundledNativeModules> {\n if (sdkVersion !== 'UNVERSIONED' && !env.EXPO_OFFLINE && !options.skipRemoteVersions) {\n try {\n debug('Fetching bundled native modules from the server...');\n return await getNativeModuleVersionsAsync(sdkVersion);\n } catch (error: any) {\n if (error instanceof CommandError && (error.code === 'OFFLINE' || error.code === 'API')) {\n Log.warn(\n chalk`Unable to reach well-known versions endpoint. Using local dependency map {bold expo/bundledNativeModules.json} for version validation`\n );\n } else {\n throw error;\n }\n }\n }\n\n debug('Fetching bundled native modules from the local JSON file...');\n return await getBundledNativeModulesAsync(projectRoot);\n}\n\n/**\n * Get the legacy static `bundledNativeModules.json` file\n * that's shipped with the version of `expo` that the project has installed.\n */\nasync function getBundledNativeModulesAsync(projectRoot: string): Promise<BundledNativeModules> {\n // TODO: Revisit now that this code is in the `expo` package.\n const bundledNativeModulesPath = resolveFrom.silent(\n projectRoot,\n 'expo/bundledNativeModules.json'\n );\n if (!bundledNativeModulesPath) {\n Log.log();\n throw new CommandError(\n chalk`The dependency map {bold expo/bundledNativeModules.json} cannot be found, please ensure you have the package \"{bold expo}\" installed in your project.`\n );\n }\n return await JsonFile.readAsync<BundledNativeModules>(bundledNativeModulesPath);\n}\n"],"names":["getVersionedNativeModulesAsync","Log","debug","require","projectRoot","sdkVersion","options","env","EXPO_OFFLINE","skipRemoteVersions","getNativeModuleVersionsAsync","error","CommandError","code","warn","chalk","getBundledNativeModulesAsync","bundledNativeModulesPath","resolveFrom","silent","log","JsonFile","readAsync"],"mappings":"AAAA;;;;QAsBsBA,8BAA8B,GAA9BA,8BAA8B;AAtB/B,IAAA,SAAiB,kCAAjB,iBAAiB,EAAA;AACpB,IAAA,MAAO,kCAAP,OAAO,EAAA;AACD,IAAA,YAAc,kCAAd,cAAc,EAAA;AAEO,IAAA,wBAAsC,WAAtC,sCAAsC,CAAA;AACvEC,IAAAA,GAAG,mCAAM,cAAc,EAApB;AACK,IAAA,IAAoB,WAApB,oBAAoB,CAAA;AACX,IAAA,OAAuB,WAAvB,uBAAuB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEpD,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAC5B,+CAA+C,CAChD,AAAsB,AAAC;AAWjB,eAAeH,8BAA8B,CAClDI,WAAmB,EACnBC,UAAkB,EAClBC,OAEC,GAAG,EAAE,EACyB;IAC/B,IAAID,UAAU,KAAK,aAAa,IAAI,CAACE,IAAG,IAAA,CAACC,YAAY,IAAI,CAACF,OAAO,CAACG,kBAAkB,EAAE;QACpF,IAAI;YACFP,KAAK,CAAC,oDAAoD,CAAC,CAAC;YAC5D,OAAO,MAAMQ,CAAAA,GAAAA,wBAA4B,AAAY,CAAA,6BAAZ,CAACL,UAAU,CAAC,CAAC;SACvD,CAAC,OAAOM,KAAK,EAAO;YACnB,IAAIA,KAAK,YAAYC,OAAY,aAAA,IAAI,CAACD,KAAK,CAACE,IAAI,KAAK,SAAS,IAAIF,KAAK,CAACE,IAAI,KAAK,KAAK,CAAC,EAAE;gBACvFZ,GAAG,CAACa,IAAI,CACNC,MAAK,QAAA,CAAC,qIAAqI,CAAC,CAC7I,CAAC;aACH,MAAM;gBACL,MAAMJ,KAAK,CAAC;aACb;SACF;KACF;IAEDT,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACrE,OAAO,MAAMc,4BAA4B,CAACZ,WAAW,CAAC,CAAC;CACxD;AAED;;;GAGG,CACH,eAAeY,4BAA4B,CAACZ,WAAmB,EAAiC;IAC9F,6DAA6D;IAC7D,MAAMa,wBAAwB,GAAGC,YAAW,QAAA,CAACC,MAAM,CACjDf,WAAW,EACX,gCAAgC,CACjC,AAAC;IACF,IAAI,CAACa,wBAAwB,EAAE;QAC7BhB,GAAG,CAACmB,GAAG,EAAE,CAAC;QACV,MAAM,IAAIR,OAAY,aAAA,CACpBG,MAAK,QAAA,CAAC,qJAAqJ,CAAC,CAC7J,CAAC;KACH;IACD,OAAO,MAAMM,SAAQ,QAAA,CAACC,SAAS,CAAuBL,wBAAwB,CAAC,CAAC;CACjF"}
1
+ {"version":3,"sources":["../../../../../src/start/doctor/dependencies/bundledNativeModules.ts"],"sourcesContent":["import JsonFile from '@expo/json-file';\nimport chalk from 'chalk';\nimport resolveFrom from 'resolve-from';\n\nimport { getNativeModuleVersionsAsync } from '../../../api/getNativeModuleVersions';\nimport * as Log from '../../../log';\nimport { env } from '../../../utils/env';\nimport { CommandError } from '../../../utils/errors';\n\nconst debug = require('debug')(\n 'expo:doctor:dependencies:bundledNativeModules'\n) as typeof console.log;\n\nexport type BundledNativeModules = Record<string, string>;\n\n/**\n * Gets the bundledNativeModules.json for a given SDK version:\n * - Tries to fetch the data from the /sdks/:sdkVersion/native-modules API endpoint.\n * - If the data is missing on the server (it can happen for SDKs that are yet fully released)\n * or there's a downtime, reads the local .json file from the \"expo\" package.\n * - For UNVERSIONED, returns the local .json file contents.\n */\nexport async function getVersionedNativeModulesAsync(\n projectRoot: string,\n sdkVersion: string,\n options: {\n skipRemoteVersions?: boolean;\n } = {}\n): Promise<BundledNativeModules> {\n if (sdkVersion !== 'UNVERSIONED' && !env.EXPO_OFFLINE && !options.skipRemoteVersions) {\n try {\n debug('Fetching bundled native modules from the server...');\n return await getNativeModuleVersionsAsync(sdkVersion);\n } catch (error: any) {\n if (error instanceof CommandError && (error.code === 'OFFLINE' || error.code === 'API')) {\n Log.warn(\n chalk`Unable to reach well-known versions endpoint. Using local dependency map {bold expo/bundledNativeModules.json} for version validation`\n );\n } else {\n throw error;\n }\n }\n }\n\n debug('Fetching bundled native modules from the local JSON file...');\n return await getBundledNativeModulesAsync(projectRoot);\n}\n\n/**\n * Get the legacy static `bundledNativeModules.json` file\n * that's shipped with the version of `expo` that the project has installed.\n */\nasync function getBundledNativeModulesAsync(projectRoot: string): Promise<BundledNativeModules> {\n // TODO: Revisit now that this code is in the `expo` package.\n const bundledNativeModulesPath = resolveFrom.silent(\n projectRoot,\n 'expo/bundledNativeModules.json'\n );\n if (!bundledNativeModulesPath) {\n Log.log();\n throw new CommandError(\n chalk`The dependency map {bold expo/bundledNativeModules.json} cannot be found, please ensure you have the package \"{bold expo}\" installed in your project.`\n );\n }\n return await JsonFile.readAsync<BundledNativeModules>(bundledNativeModulesPath);\n}\n"],"names":["getVersionedNativeModulesAsync","debug","require","projectRoot","sdkVersion","options","env","EXPO_OFFLINE","skipRemoteVersions","getNativeModuleVersionsAsync","error","CommandError","code","Log","warn","chalk","getBundledNativeModulesAsync","bundledNativeModulesPath","resolveFrom","silent","log","JsonFile","readAsync"],"mappings":"AAAA;;;;+BAsBsBA,gCAA8B;;aAA9BA,8BAA8B;;;8DAtB/B,iBAAiB;;;;;;;8DACpB,OAAO;;;;;;;8DACD,cAAc;;;;;;yCAEO,sCAAsC;2DAC9D,cAAc;qBACf,oBAAoB;wBACX,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEpD,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAC5B,+CAA+C,CAChD,AAAsB,AAAC;AAWjB,eAAeF,8BAA8B,CAClDG,WAAmB,EACnBC,UAAkB,EAClBC,OAEC,GAAG,EAAE,EACyB;IAC/B,IAAID,UAAU,KAAK,aAAa,IAAI,CAACE,IAAG,IAAA,CAACC,YAAY,IAAI,CAACF,OAAO,CAACG,kBAAkB,EAAE;QACpF,IAAI;YACFP,KAAK,CAAC,oDAAoD,CAAC,CAAC;YAC5D,OAAO,MAAMQ,IAAAA,wBAA4B,6BAAA,EAACL,UAAU,CAAC,CAAC;QACxD,EAAE,OAAOM,KAAK,EAAO;YACnB,IAAIA,KAAK,YAAYC,OAAY,aAAA,IAAI,CAACD,KAAK,CAACE,IAAI,KAAK,SAAS,IAAIF,KAAK,CAACE,IAAI,KAAK,KAAK,CAAC,EAAE;gBACvFC,IAAG,CAACC,IAAI,CACNC,IAAAA,MAAK,EAAA,QAAA,CAAA,CAAC,qIAAqI,CAAC,CAC7I,CAAC;YACJ,OAAO;gBACL,MAAML,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAEDT,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACrE,OAAO,MAAMe,4BAA4B,CAACb,WAAW,CAAC,CAAC;AACzD,CAAC;AAED;;;CAGC,GACD,eAAea,4BAA4B,CAACb,WAAmB,EAAiC;IAC9F,6DAA6D;IAC7D,MAAMc,wBAAwB,GAAGC,YAAW,EAAA,QAAA,CAACC,MAAM,CACjDhB,WAAW,EACX,gCAAgC,CACjC,AAAC;IACF,IAAI,CAACc,wBAAwB,EAAE;QAC7BJ,IAAG,CAACO,GAAG,EAAE,CAAC;QACV,MAAM,IAAIT,OAAY,aAAA,CACpBI,IAAAA,MAAK,EAAA,QAAA,CAAA,CAAC,qJAAqJ,CAAC,CAC7J,CAAC;IACJ,CAAC;IACD,OAAO,MAAMM,SAAQ,EAAA,QAAA,CAACC,SAAS,CAAuBL,wBAAwB,CAAC,CAAC;AAClF,CAAC"}