@expo/cli 0.22.25 → 0.22.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (722) hide show
  1. package/build/bin/cli +91 -93
  2. package/build/bin/cli.map +1 -1
  3. package/build/metro-require/require.js +52 -53
  4. package/build/src/api/endpoint.js +2 -6
  5. package/build/src/api/endpoint.js.map +1 -1
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +3 -5
  7. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  8. package/build/src/api/getExpoSchema.js +12 -16
  9. package/build/src/api/getExpoSchema.js.map +1 -1
  10. package/build/src/api/getNativeModuleVersions.js +4 -6
  11. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  12. package/build/src/api/getProjectDevelopmentCertificate.js +3 -5
  13. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  14. package/build/src/api/getVersions.js +5 -7
  15. package/build/src/api/getVersions.js.map +1 -1
  16. package/build/src/api/graphql/client.js +26 -32
  17. package/build/src/api/graphql/client.js.map +1 -1
  18. package/build/src/api/graphql/queries/AppQuery.js +4 -6
  19. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  20. package/build/src/api/graphql/queries/UserQuery.js +3 -5
  21. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  22. package/build/src/api/graphql/types/App.js +1 -3
  23. package/build/src/api/graphql/types/App.js.map +1 -1
  24. package/build/src/api/rest/cache/FileSystemResponseCache.js +8 -10
  25. package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
  26. package/build/src/api/rest/cache/ResponseCache.js +12 -20
  27. package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +11 -13
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  30. package/build/src/api/rest/client.js +35 -53
  31. package/build/src/api/rest/client.js.map +1 -1
  32. package/build/src/api/rest/client.types.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithBaseUrl.js +3 -5
  34. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithOffline.js +3 -5
  36. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProgress.js +7 -11
  38. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  39. package/build/src/api/rest/wrapFetchWithProxy.js +3 -5
  40. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  41. package/build/src/api/rest/wrapFetchWithUserAgent.js +6 -8
  42. package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
  43. package/build/src/api/settings.js +5 -7
  44. package/build/src/api/settings.js.map +1 -1
  45. package/build/src/api/updateDevelopmentSession.js +17 -23
  46. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  47. package/build/src/api/user/UserSettings.js +21 -39
  48. package/build/src/api/user/UserSettings.js.map +1 -1
  49. package/build/src/api/user/actions.js +21 -27
  50. package/build/src/api/user/actions.js.map +1 -1
  51. package/build/src/api/user/expoSsoLauncher.js +26 -30
  52. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  53. package/build/src/api/user/otp.js +29 -35
  54. package/build/src/api/user/otp.js.map +1 -1
  55. package/build/src/api/user/user.js +30 -44
  56. package/build/src/api/user/user.js.map +1 -1
  57. package/build/src/config/configAsync.js +23 -29
  58. package/build/src/config/configAsync.js.map +1 -1
  59. package/build/src/config/index.js +21 -25
  60. package/build/src/config/index.js.map +1 -1
  61. package/build/src/customize/customizeAsync.js +6 -8
  62. package/build/src/customize/customizeAsync.js.map +1 -1
  63. package/build/src/customize/generate.js +16 -20
  64. package/build/src/customize/generate.js.map +1 -1
  65. package/build/src/customize/index.js +12 -14
  66. package/build/src/customize/index.js.map +1 -1
  67. package/build/src/customize/resolveOptions.js +2 -4
  68. package/build/src/customize/resolveOptions.js.map +1 -1
  69. package/build/src/customize/templates.js +54 -58
  70. package/build/src/customize/templates.js.map +1 -1
  71. package/build/src/customize/typescript.js +7 -11
  72. package/build/src/customize/typescript.js.map +1 -1
  73. package/build/src/export/createMetadataJson.js +9 -11
  74. package/build/src/export/createMetadataJson.js.map +1 -1
  75. package/build/src/export/embed/exportEager.js +6 -8
  76. package/build/src/export/embed/exportEager.js.map +1 -1
  77. package/build/src/export/embed/exportEmbedAsync.js +61 -71
  78. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  79. package/build/src/export/embed/exportServer.js +55 -57
  80. package/build/src/export/embed/exportServer.js.map +1 -1
  81. package/build/src/export/embed/index.js +40 -44
  82. package/build/src/export/embed/index.js.map +1 -1
  83. package/build/src/export/embed/resolveOptions.js +36 -44
  84. package/build/src/export/embed/resolveOptions.js.map +1 -1
  85. package/build/src/export/embed/xcodeCompilerLogger.js +27 -39
  86. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  87. package/build/src/export/exportApp.js +63 -67
  88. package/build/src/export/exportApp.js.map +1 -1
  89. package/build/src/export/exportAssets.js +27 -35
  90. package/build/src/export/exportAssets.js.map +1 -1
  91. package/build/src/export/exportAsync.js +9 -13
  92. package/build/src/export/exportAsync.js.map +1 -1
  93. package/build/src/export/exportDomComponents.js +45 -53
  94. package/build/src/export/exportDomComponents.js.map +1 -1
  95. package/build/src/export/exportHermes.js +63 -85
  96. package/build/src/export/exportHermes.js.map +1 -1
  97. package/build/src/export/exportStaticAsync.js +62 -72
  98. package/build/src/export/exportStaticAsync.js.map +1 -1
  99. package/build/src/export/favicon.js +27 -33
  100. package/build/src/export/favicon.js.map +1 -1
  101. package/build/src/export/getPublicExpoManifest.js +5 -7
  102. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  103. package/build/src/export/getResolvedLocales.js +9 -11
  104. package/build/src/export/getResolvedLocales.js.map +1 -1
  105. package/build/src/export/html.js +6 -10
  106. package/build/src/export/html.js.map +1 -1
  107. package/build/src/export/index.js +28 -32
  108. package/build/src/export/index.js.map +1 -1
  109. package/build/src/export/metroAssetLocalPath.js +30 -36
  110. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  111. package/build/src/export/persistMetroAssets.js +34 -42
  112. package/build/src/export/persistMetroAssets.js.map +1 -1
  113. package/build/src/export/publicFolder.js +6 -10
  114. package/build/src/export/publicFolder.js.map +1 -1
  115. package/build/src/export/resolveOptions.js +24 -28
  116. package/build/src/export/resolveOptions.js.map +1 -1
  117. package/build/src/export/saveAssets.js +46 -50
  118. package/build/src/export/saveAssets.js.map +1 -1
  119. package/build/src/export/web/exportWebAsync.js +11 -13
  120. package/build/src/export/web/exportWebAsync.js.map +1 -1
  121. package/build/src/export/web/index.js +15 -19
  122. package/build/src/export/web/index.js.map +1 -1
  123. package/build/src/export/web/resolveOptions.js +3 -5
  124. package/build/src/export/web/resolveOptions.js.map +1 -1
  125. package/build/src/export/writeContents.js +2 -4
  126. package/build/src/export/writeContents.js.map +1 -1
  127. package/build/src/graphql/generated.js +274 -400
  128. package/build/src/graphql/generated.js.map +1 -1
  129. package/build/src/install/applyPlugins.js +7 -11
  130. package/build/src/install/applyPlugins.js.map +1 -1
  131. package/build/src/install/checkPackages.js +22 -26
  132. package/build/src/install/checkPackages.js.map +1 -1
  133. package/build/src/install/fixPackages.js +12 -16
  134. package/build/src/install/fixPackages.js.map +1 -1
  135. package/build/src/install/index.js +16 -18
  136. package/build/src/install/index.js.map +1 -1
  137. package/build/src/install/installAsync.js +26 -32
  138. package/build/src/install/installAsync.js.map +1 -1
  139. package/build/src/install/installExpoPackage.js +18 -22
  140. package/build/src/install/installExpoPackage.js.map +1 -1
  141. package/build/src/install/resolveOptions.js +19 -21
  142. package/build/src/install/resolveOptions.js.map +1 -1
  143. package/build/src/install/utils/autoAddConfigPlugins.js +14 -18
  144. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  145. package/build/src/install/utils/checkPackagesCompatibility.js +11 -13
  146. package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
  147. package/build/src/lint/ESlintPrerequisite.js +44 -50
  148. package/build/src/lint/ESlintPrerequisite.js.map +1 -1
  149. package/build/src/lint/index.js +8 -12
  150. package/build/src/lint/index.js.map +1 -1
  151. package/build/src/lint/lintAsync.js +8 -10
  152. package/build/src/lint/lintAsync.js.map +1 -1
  153. package/build/src/log.js +16 -36
  154. package/build/src/log.js.map +1 -1
  155. package/build/src/login/index.js +20 -24
  156. package/build/src/login/index.js.map +1 -1
  157. package/build/src/logout/index.js +7 -11
  158. package/build/src/logout/index.js.map +1 -1
  159. package/build/src/prebuild/clearNativeFolder.js +26 -38
  160. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  161. package/build/src/prebuild/configureProjectAsync.js +14 -18
  162. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  163. package/build/src/prebuild/copyTemplateFiles.js +13 -17
  164. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  165. package/build/src/prebuild/ensureConfigAsync.js +4 -6
  166. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  167. package/build/src/prebuild/index.js +32 -36
  168. package/build/src/prebuild/index.js.map +1 -1
  169. package/build/src/prebuild/prebuildAsync.js +25 -29
  170. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  171. package/build/src/prebuild/renameTemplateAppName.js +40 -46
  172. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  173. package/build/src/prebuild/resolveOptions.js +52 -66
  174. package/build/src/prebuild/resolveOptions.js.map +1 -1
  175. package/build/src/prebuild/resolveTemplate.js +32 -36
  176. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  177. package/build/src/prebuild/updateFromTemplate.js +13 -19
  178. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  179. package/build/src/prebuild/updatePackageJson.js +39 -53
  180. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  181. package/build/src/prebuild/validateTemplatePlatforms.js +8 -12
  182. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  183. package/build/src/register/index.js +7 -11
  184. package/build/src/register/index.js.map +1 -1
  185. package/build/src/register/registerAsync.js +3 -5
  186. package/build/src/register/registerAsync.js.map +1 -1
  187. package/build/src/run/android/index.js +32 -36
  188. package/build/src/run/android/index.js.map +1 -1
  189. package/build/src/run/android/resolveDevice.js +8 -10
  190. package/build/src/run/android/resolveDevice.js.map +1 -1
  191. package/build/src/run/android/resolveGradlePropsAsync.js +16 -18
  192. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  193. package/build/src/run/android/resolveInstallApkName.js +15 -17
  194. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  195. package/build/src/run/android/resolveLaunchProps.js +10 -12
  196. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  197. package/build/src/run/android/resolveOptions.js +2 -4
  198. package/build/src/run/android/resolveOptions.js.map +1 -1
  199. package/build/src/run/android/runAndroidAsync.js +21 -23
  200. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  201. package/build/src/run/ensureNativeProject.js +5 -7
  202. package/build/src/run/ensureNativeProject.js.map +1 -1
  203. package/build/src/run/hints.js +7 -13
  204. package/build/src/run/hints.js.map +1 -1
  205. package/build/src/run/index.js +23 -27
  206. package/build/src/run/index.js.map +1 -1
  207. package/build/src/run/ios/XcodeBuild.js +56 -74
  208. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  209. package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
  210. package/build/src/run/ios/appleDevice/AppleDevice.js +63 -69
  211. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  212. package/build/src/run/ios/appleDevice/ClientManager.js +26 -29
  213. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  214. package/build/src/run/ios/appleDevice/client/AFCClient.js +25 -28
  215. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  216. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +26 -29
  217. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  218. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -22
  219. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  220. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +29 -32
  221. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  222. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +24 -28
  223. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  224. package/build/src/run/ios/appleDevice/client/ServiceClient.js +4 -7
  225. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  226. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +27 -28
  227. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  228. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +17 -23
  229. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  230. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +132 -146
  231. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  232. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +21 -29
  233. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  234. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +21 -29
  235. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  236. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +22 -34
  237. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  238. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +17 -27
  239. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  240. package/build/src/run/ios/codeSigning/Security.js +39 -53
  241. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  242. package/build/src/run/ios/codeSigning/configureCodeSigning.js +9 -13
  243. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  244. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +19 -27
  245. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  246. package/build/src/run/ios/codeSigning/settings.js +5 -9
  247. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  248. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +12 -14
  249. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  250. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +21 -27
  251. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  252. package/build/src/run/ios/index.js +36 -40
  253. package/build/src/run/ios/index.js.map +1 -1
  254. package/build/src/run/ios/launchApp.js +17 -23
  255. package/build/src/run/ios/launchApp.js.map +1 -1
  256. package/build/src/run/ios/options/appleDestinations.js +36 -38
  257. package/build/src/run/ios/options/appleDestinations.js.map +1 -1
  258. package/build/src/run/ios/options/promptDevice.js +16 -20
  259. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  260. package/build/src/run/ios/options/resolveDevice.js +24 -30
  261. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  262. package/build/src/run/ios/options/resolveNativeScheme.js +23 -31
  263. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  264. package/build/src/run/ios/options/resolveOptions.js +5 -7
  265. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  266. package/build/src/run/ios/options/resolveXcodeProject.js +5 -7
  267. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  268. package/build/src/run/ios/runIosAsync.js +44 -48
  269. package/build/src/run/ios/runIosAsync.js.map +1 -1
  270. package/build/src/run/ios/validateExternalBinary.js +22 -24
  271. package/build/src/run/ios/validateExternalBinary.js.map +1 -1
  272. package/build/src/run/resolveBundlerProps.js +2 -4
  273. package/build/src/run/resolveBundlerProps.js.map +1 -1
  274. package/build/src/run/startBundler.js +12 -16
  275. package/build/src/run/startBundler.js.map +1 -1
  276. package/build/src/serve/index.js +16 -20
  277. package/build/src/serve/index.js.map +1 -1
  278. package/build/src/serve/serveAsync.js +32 -36
  279. package/build/src/serve/serveAsync.js.map +1 -1
  280. package/build/src/start/detectDevClient.js +9 -13
  281. package/build/src/start/detectDevClient.js.map +1 -1
  282. package/build/src/start/doctor/Prerequisite.js +7 -12
  283. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  284. package/build/src/start/doctor/SecurityBinPrerequisite.js +11 -13
  285. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  286. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +19 -23
  287. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  288. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +19 -23
  289. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  290. package/build/src/start/doctor/apple/XcodePrerequisite.js +45 -51
  291. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  292. package/build/src/start/doctor/apple/XcrunPrerequisite.js +16 -18
  293. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  294. package/build/src/start/doctor/dependencies/bundledNativeModules.js +19 -23
  295. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  296. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +25 -31
  297. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  298. package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -25
  299. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  300. package/build/src/start/doctor/dependencies/getVersionedPackages.js +32 -40
  301. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  302. package/build/src/start/doctor/dependencies/resolvePackages.js +26 -32
  303. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  304. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +31 -41
  305. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  306. package/build/src/start/doctor/ngrok/ExternalModule.js +29 -34
  307. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  308. package/build/src/start/doctor/ngrok/NgrokResolver.js +8 -12
  309. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  310. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +28 -32
  311. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  312. package/build/src/start/doctor/typescript/updateTSConfig.js +17 -23
  313. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  314. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +27 -33
  315. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  316. package/build/src/start/index.js +42 -46
  317. package/build/src/start/index.js.map +1 -1
  318. package/build/src/start/interface/KeyPressHandler.js +14 -18
  319. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  320. package/build/src/start/interface/commandsTable.js +80 -94
  321. package/build/src/start/interface/commandsTable.js.map +1 -1
  322. package/build/src/start/interface/interactiveActions.js +40 -44
  323. package/build/src/start/interface/interactiveActions.js.map +1 -1
  324. package/build/src/start/interface/startInterface.js +61 -65
  325. package/build/src/start/interface/startInterface.js.map +1 -1
  326. package/build/src/start/platforms/AppIdResolver.js +4 -6
  327. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  328. package/build/src/start/platforms/DeviceManager.js +6 -10
  329. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  330. package/build/src/start/platforms/ExpoGoInstaller.js +20 -25
  331. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  332. package/build/src/start/platforms/PlatformManager.js +15 -17
  333. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  334. package/build/src/start/platforms/android/ADBServer.js +35 -39
  335. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  336. package/build/src/start/platforms/android/AndroidAppIdResolver.js +16 -18
  337. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  338. package/build/src/start/platforms/android/AndroidDeviceManager.js +20 -24
  339. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  340. package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
  341. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  342. package/build/src/start/platforms/android/AndroidSdk.js +9 -11
  343. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  344. package/build/src/start/platforms/android/activateWindow.js +22 -26
  345. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  346. package/build/src/start/platforms/android/adb.js +83 -121
  347. package/build/src/start/platforms/android/adb.js.map +1 -1
  348. package/build/src/start/platforms/android/adbReverse.js +12 -20
  349. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  350. package/build/src/start/platforms/android/emulator.js +26 -36
  351. package/build/src/start/platforms/android/emulator.js.map +1 -1
  352. package/build/src/start/platforms/android/getDevices.js +5 -7
  353. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  354. package/build/src/start/platforms/android/gradle.js +28 -36
  355. package/build/src/start/platforms/android/gradle.js.map +1 -1
  356. package/build/src/start/platforms/android/promptAndroidDevice.js +15 -19
  357. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  358. package/build/src/start/platforms/ios/AppleAppIdResolver.js +19 -21
  359. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  360. package/build/src/start/platforms/ios/AppleDeviceManager.js +31 -37
  361. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  362. package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
  363. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  364. package/build/src/start/platforms/ios/assertSystemRequirements.js +7 -9
  365. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  366. package/build/src/start/platforms/ios/devicectl.js +73 -87
  367. package/build/src/start/platforms/ios/devicectl.js.map +1 -1
  368. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +18 -22
  369. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  370. package/build/src/start/platforms/ios/getBestSimulator.js +19 -29
  371. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  372. package/build/src/start/platforms/ios/promptAppleDevice.js +10 -14
  373. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  374. package/build/src/start/platforms/ios/simctl.js +74 -102
  375. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  376. package/build/src/start/platforms/ios/simctlLogging.js +52 -57
  377. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  378. package/build/src/start/platforms/ios/xcrun.js +18 -22
  379. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  380. package/build/src/start/project/devices.js +9 -19
  381. package/build/src/start/project/devices.js.map +1 -1
  382. package/build/src/start/project/dotExpo.js +11 -15
  383. package/build/src/start/project/dotExpo.js.map +1 -1
  384. package/build/src/start/project/settings.js +2 -4
  385. package/build/src/start/project/settings.js.map +1 -1
  386. package/build/src/start/resolveOptions.js +40 -48
  387. package/build/src/start/resolveOptions.js.map +1 -1
  388. package/build/src/start/server/AsyncNgrok.js +51 -55
  389. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  390. package/build/src/start/server/AsyncWsTunnel.js +36 -40
  391. package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
  392. package/build/src/start/server/BundlerDevServer.js +79 -81
  393. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  394. package/build/src/start/server/DevServerManager.js +38 -42
  395. package/build/src/start/server/DevServerManager.js.map +1 -1
  396. package/build/src/start/server/DevToolsPluginManager.js +14 -18
  397. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  398. package/build/src/start/server/DevelopmentSession.js +14 -18
  399. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  400. package/build/src/start/server/ReactDevToolsProxy.js +10 -16
  401. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  402. package/build/src/start/server/UrlCreator.js +33 -36
  403. package/build/src/start/server/UrlCreator.js.map +1 -1
  404. package/build/src/start/server/getStaticRenderFunctions.js +21 -29
  405. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  406. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +4 -6
  407. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
  408. package/build/src/start/server/metro/MetroBundlerDevServer.js +271 -269
  409. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  410. package/build/src/start/server/metro/MetroTerminalReporter.js +56 -63
  411. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  412. package/build/src/start/server/metro/TerminalReporter.js +33 -39
  413. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  414. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  415. package/build/src/start/server/metro/createExpoMetroResolver.js +40 -46
  416. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  417. package/build/src/start/server/metro/createJResolver.js +28 -32
  418. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  419. package/build/src/start/server/metro/createServerComponentsMiddleware.js +92 -96
  420. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  421. package/build/src/start/server/metro/createServerRouteMiddleware.js +30 -32
  422. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  423. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +11 -13
  424. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
  425. package/build/src/start/server/metro/debugging/MessageHandler.js +1 -3
  426. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  427. package/build/src/start/server/metro/debugging/attachAtlas.js +22 -26
  428. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
  429. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +17 -19
  430. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  431. package/build/src/start/server/metro/debugging/createHandlersFactory.js +31 -25
  432. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  433. package/build/src/start/server/metro/debugging/getDebuggerType.js +4 -6
  434. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  435. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +8 -14
  436. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  437. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +5 -7
  438. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  439. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +6 -8
  440. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  441. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +5 -7
  442. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  443. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +12 -14
  444. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
  445. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +10 -14
  446. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  447. package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -6
  448. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  449. package/build/src/start/server/metro/debugging/types.js.map +1 -1
  450. package/build/src/start/server/metro/dev-server/createEventSocket.js +16 -18
  451. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
  452. package/build/src/start/server/metro/dev-server/createMessageSocket.js +21 -23
  453. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
  454. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +21 -23
  455. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
  456. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +2 -4
  457. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
  458. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +2 -4
  459. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
  460. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +4 -8
  461. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
  462. package/build/src/start/server/metro/externals.js +25 -33
  463. package/build/src/start/server/metro/externals.js.map +1 -1
  464. package/build/src/start/server/metro/fetchRouterManifest.js +12 -16
  465. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  466. package/build/src/start/server/metro/formatFileCandidates.js +9 -11
  467. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  468. package/build/src/start/server/metro/getCssModulesFromBundler.js +18 -22
  469. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  470. package/build/src/start/server/metro/instantiateMetro.js +79 -85
  471. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  472. package/build/src/start/server/metro/log-box/LogBoxLog.js +36 -40
  473. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
  474. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +14 -20
  475. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
  476. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +6 -10
  477. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
  478. package/build/src/start/server/metro/metroErrorInterface.js +78 -88
  479. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  480. package/build/src/start/server/metro/metroErrors.js +4 -8
  481. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  482. package/build/src/start/server/metro/metroPrivateServer.js +7 -9
  483. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
  484. package/build/src/start/server/metro/metroVirtualModules.js +8 -10
  485. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  486. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +22 -24
  487. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  488. package/build/src/start/server/metro/router.js +32 -48
  489. package/build/src/start/server/metro/router.js.map +1 -1
  490. package/build/src/start/server/metro/runServer-fork.js +22 -24
  491. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  492. package/build/src/start/server/metro/serializeHtml.js +22 -24
  493. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  494. package/build/src/start/server/metro/symbolicate.js.map +1 -1
  495. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +29 -35
  496. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  497. package/build/src/start/server/metro/withMetroMultiPlatform.js +139 -149
  498. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  499. package/build/src/start/server/metro/withMetroResolvers.js +39 -49
  500. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  501. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +6 -8
  502. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  503. package/build/src/start/server/middleware/CorsMiddleware.js +15 -17
  504. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  505. package/build/src/start/server/middleware/CreateFileMiddleware.js +31 -32
  506. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  507. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +19 -22
  508. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  509. package/build/src/start/server/middleware/DomComponentsMiddleware.js +27 -33
  510. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  511. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +60 -64
  512. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  513. package/build/src/start/server/middleware/ExpoMiddleware.js +9 -15
  514. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  515. package/build/src/start/server/middleware/FaviconMiddleware.js +14 -15
  516. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  517. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +2 -4
  518. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  519. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +31 -34
  520. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  521. package/build/src/start/server/middleware/ManifestMiddleware.js +56 -64
  522. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  523. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +19 -23
  524. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  525. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +19 -20
  526. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  527. package/build/src/start/server/middleware/ServeStaticMiddleware.js +9 -11
  528. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  529. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +11 -17
  530. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
  531. package/build/src/start/server/middleware/inspector/CdpClient.js +10 -12
  532. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
  533. package/build/src/start/server/middleware/inspector/JsInspector.js +27 -35
  534. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  535. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +19 -21
  536. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  537. package/build/src/start/server/middleware/inspector/middlwareMutations.js +2 -6
  538. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  539. package/build/src/start/server/middleware/metroOptions.js +96 -120
  540. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  541. package/build/src/start/server/middleware/mutations.js +3 -7
  542. package/build/src/start/server/middleware/mutations.js.map +1 -1
  543. package/build/src/start/server/middleware/resolveAssets.js +18 -26
  544. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  545. package/build/src/start/server/middleware/resolvePlatform.js +15 -23
  546. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  547. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +9 -11
  548. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
  549. package/build/src/start/server/middleware/server.types.js.map +1 -1
  550. package/build/src/start/server/openPlatforms.js +8 -10
  551. package/build/src/start/server/openPlatforms.js.map +1 -1
  552. package/build/src/start/server/platformBundlers.js +11 -13
  553. package/build/src/start/server/platformBundlers.js.map +1 -1
  554. package/build/src/start/server/serverLogLikeMetro.js +50 -58
  555. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  556. package/build/src/start/server/type-generation/expo-env.js +7 -11
  557. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  558. package/build/src/start/server/type-generation/routes.js +54 -76
  559. package/build/src/start/server/type-generation/routes.js.map +1 -1
  560. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +19 -21
  561. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  562. package/build/src/start/server/type-generation/tsconfig.js +28 -36
  563. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  564. package/build/src/start/server/webTemplate.js +24 -28
  565. package/build/src/start/server/webTemplate.js.map +1 -1
  566. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +46 -52
  567. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  568. package/build/src/start/server/webpack/compile.js +11 -15
  569. package/build/src/start/server/webpack/compile.js.map +1 -1
  570. package/build/src/start/server/webpack/formatWebpackMessages.js +26 -28
  571. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  572. package/build/src/start/server/webpack/resolveFromProject.js +12 -18
  573. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  574. package/build/src/start/server/webpack/tls.js +12 -18
  575. package/build/src/start/server/webpack/tls.js.map +1 -1
  576. package/build/src/start/startAsync.js +27 -31
  577. package/build/src/start/startAsync.js.map +1 -1
  578. package/build/src/utils/FileNotifier.js +17 -20
  579. package/build/src/utils/FileNotifier.js.map +1 -1
  580. package/build/src/utils/ansi.js +5 -7
  581. package/build/src/utils/ansi.js.map +1 -1
  582. package/build/src/utils/args.js +14 -24
  583. package/build/src/utils/args.js.map +1 -1
  584. package/build/src/utils/array.js +6 -18
  585. package/build/src/utils/array.js.map +1 -1
  586. package/build/src/utils/cocoapods.js +46 -54
  587. package/build/src/utils/cocoapods.js.map +1 -1
  588. package/build/src/utils/codesigning.js +68 -78
  589. package/build/src/utils/codesigning.js.map +1 -1
  590. package/build/src/utils/createFileTransform.js +12 -16
  591. package/build/src/utils/createFileTransform.js.map +1 -1
  592. package/build/src/utils/createTempPath.js +13 -17
  593. package/build/src/utils/createTempPath.js.map +1 -1
  594. package/build/src/utils/delay.js +6 -12
  595. package/build/src/utils/delay.js.map +1 -1
  596. package/build/src/utils/dir.js +28 -46
  597. package/build/src/utils/dir.js.map +1 -1
  598. package/build/src/utils/downloadAppAsync.js +8 -10
  599. package/build/src/utils/downloadAppAsync.js.map +1 -1
  600. package/build/src/utils/downloadExpoGoAsync.js +21 -25
  601. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  602. package/build/src/utils/editor.js +35 -41
  603. package/build/src/utils/editor.js.map +1 -1
  604. package/build/src/utils/env.js +59 -63
  605. package/build/src/utils/env.js.map +1 -1
  606. package/build/src/utils/errors.js +30 -37
  607. package/build/src/utils/errors.js.map +1 -1
  608. package/build/src/utils/exit.js +31 -35
  609. package/build/src/utils/exit.js.map +1 -1
  610. package/build/src/utils/expoUpdatesCli.js +22 -32
  611. package/build/src/utils/expoUpdatesCli.js.map +1 -1
  612. package/build/src/utils/fetch.js +4 -8
  613. package/build/src/utils/fetch.js.map +1 -1
  614. package/build/src/utils/filePath.js +6 -10
  615. package/build/src/utils/filePath.js.map +1 -1
  616. package/build/src/utils/findUp.js +9 -13
  617. package/build/src/utils/findUp.js.map +1 -1
  618. package/build/src/utils/fn.js +2 -6
  619. package/build/src/utils/fn.js.map +1 -1
  620. package/build/src/utils/getOrPromptApplicationId.js +26 -32
  621. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  622. package/build/src/utils/getRunningProcess.js +21 -29
  623. package/build/src/utils/getRunningProcess.js.map +1 -1
  624. package/build/src/utils/git.js +20 -26
  625. package/build/src/utils/git.js.map +1 -1
  626. package/build/src/utils/glob.js +4 -8
  627. package/build/src/utils/glob.js.map +1 -1
  628. package/build/src/utils/interactive.js +1 -3
  629. package/build/src/utils/interactive.js.map +1 -1
  630. package/build/src/utils/ip.js +19 -21
  631. package/build/src/utils/ip.js.map +1 -1
  632. package/build/src/utils/isModuleSymlinked.js +9 -11
  633. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  634. package/build/src/utils/jsonSchemaDeref.js +18 -20
  635. package/build/src/utils/jsonSchemaDeref.js.map +1 -1
  636. package/build/src/utils/link.js +13 -17
  637. package/build/src/utils/link.js.map +1 -1
  638. package/build/src/utils/mergeGitIgnorePaths.js +28 -46
  639. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  640. package/build/src/utils/modifyConfigAsync.js +10 -16
  641. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  642. package/build/src/utils/modifyConfigPlugins.js +6 -10
  643. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  644. package/build/src/utils/nodeEnv.js +6 -12
  645. package/build/src/utils/nodeEnv.js.map +1 -1
  646. package/build/src/utils/nodeModules.js +8 -10
  647. package/build/src/utils/nodeModules.js.map +1 -1
  648. package/build/src/utils/npm.js +36 -50
  649. package/build/src/utils/npm.js.map +1 -1
  650. package/build/src/utils/obj.js +5 -11
  651. package/build/src/utils/obj.js.map +1 -1
  652. package/build/src/utils/open.js +8 -10
  653. package/build/src/utils/open.js.map +1 -1
  654. package/build/src/utils/ora.js +7 -13
  655. package/build/src/utils/ora.js.map +1 -1
  656. package/build/src/utils/plist.js +15 -21
  657. package/build/src/utils/plist.js.map +1 -1
  658. package/build/src/utils/port.js +33 -43
  659. package/build/src/utils/port.js.map +1 -1
  660. package/build/src/utils/profile.js +7 -11
  661. package/build/src/utils/profile.js.map +1 -1
  662. package/build/src/utils/progress.js +5 -11
  663. package/build/src/utils/progress.js.map +1 -1
  664. package/build/src/utils/prompts.js +29 -47
  665. package/build/src/utils/prompts.js.map +1 -1
  666. package/build/src/utils/resolveArgs.js +24 -36
  667. package/build/src/utils/resolveArgs.js.map +1 -1
  668. package/build/src/utils/scheme.js +32 -40
  669. package/build/src/utils/scheme.js.map +1 -1
  670. package/build/src/utils/stream.js +3 -5
  671. package/build/src/utils/stream.js.map +1 -1
  672. package/build/src/utils/strings.js +4 -6
  673. package/build/src/utils/strings.js.map +1 -1
  674. package/build/src/utils/tar.js +15 -19
  675. package/build/src/utils/tar.js.map +1 -1
  676. package/build/src/utils/telemetry/Telemetry.js +27 -29
  677. package/build/src/utils/telemetry/Telemetry.js.map +1 -1
  678. package/build/src/utils/telemetry/clients/FetchClient.js +13 -15
  679. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
  680. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +22 -26
  681. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
  682. package/build/src/utils/telemetry/clients/RudderClient.js +8 -10
  683. package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
  684. package/build/src/utils/telemetry/clients/RudderDetachedClient.js +22 -26
  685. package/build/src/utils/telemetry/clients/RudderDetachedClient.js.map +1 -1
  686. package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
  687. package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
  688. package/build/src/utils/telemetry/clients/flushRudderDetached.js +10 -10
  689. package/build/src/utils/telemetry/clients/flushRudderDetached.js.map +1 -1
  690. package/build/src/utils/telemetry/events.js +2 -4
  691. package/build/src/utils/telemetry/events.js.map +1 -1
  692. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  693. package/build/src/utils/telemetry/index.js +29 -25
  694. package/build/src/utils/telemetry/index.js.map +1 -1
  695. package/build/src/utils/telemetry/types.js.map +1 -1
  696. package/build/src/utils/telemetry/utils/constants.js +4 -8
  697. package/build/src/utils/telemetry/utils/constants.js.map +1 -1
  698. package/build/src/utils/telemetry/utils/context.js +14 -18
  699. package/build/src/utils/telemetry/utils/context.js.map +1 -1
  700. package/build/src/utils/template.js +4 -6
  701. package/build/src/utils/template.js.map +1 -1
  702. package/build/src/utils/terminal.js +2 -4
  703. package/build/src/utils/terminal.js.map +1 -1
  704. package/build/src/utils/tsconfig/evaluateTsConfig.js +17 -21
  705. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  706. package/build/src/utils/tsconfig/loadTsConfigPaths.js +14 -18
  707. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  708. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +5 -7
  709. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  710. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -14
  711. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  712. package/build/src/utils/url.js +13 -23
  713. package/build/src/utils/url.js.map +1 -1
  714. package/build/src/utils/validateApplicationId.js +86 -108
  715. package/build/src/utils/validateApplicationId.js.map +1 -1
  716. package/build/src/utils/variadic.js +16 -22
  717. package/build/src/utils/variadic.js.map +1 -1
  718. package/build/src/whoami/index.js +7 -11
  719. package/build/src/whoami/index.js.map +1 -1
  720. package/build/src/whoami/whoamiAsync.js +7 -11
  721. package/build/src/whoami/whoamiAsync.js.map +1 -1
  722. package/package.json +3 -3
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "exportAppAsync", {
6
6
  enumerable: true,
7
- get: function() {
8
- return exportAppAsync;
9
- }
7
+ get: ()=>exportAppAsync
10
8
  });
11
9
  function _config() {
12
10
  const data = require("@expo/config");
@@ -16,28 +14,28 @@ function _config() {
16
14
  return data;
17
15
  }
18
16
  function _assert() {
19
- const data = /*#__PURE__*/ _interop_require_default(require("assert"));
17
+ const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
20
18
  _assert = function() {
21
19
  return data;
22
20
  };
23
21
  return data;
24
22
  }
25
23
  function _chalk() {
26
- const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
24
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
27
25
  _chalk = function() {
28
26
  return data;
29
27
  };
30
28
  return data;
31
29
  }
32
30
  function _fs() {
33
- const data = /*#__PURE__*/ _interop_require_default(require("fs"));
31
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
34
32
  _fs = function() {
35
33
  return data;
36
34
  };
37
35
  return data;
38
36
  }
39
37
  function _path() {
40
- const data = /*#__PURE__*/ _interop_require_default(require("path"));
38
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
41
39
  _path = function() {
42
40
  return data;
43
41
  };
@@ -53,19 +51,19 @@ const _getPublicExpoManifest = require("./getPublicExpoManifest");
53
51
  const _publicFolder = require("./publicFolder");
54
52
  const _saveAssets = require("./saveAssets");
55
53
  const _writeContents = require("./writeContents");
56
- const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
57
- const _WebSupportProjectPrerequisite = require("../start/doctor/web/WebSupportProjectPrerequisite");
58
- const _DevServerManager = require("../start/server/DevServerManager");
59
- const _MetroBundlerDevServer = require("../start/server/metro/MetroBundlerDevServer");
54
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../log"));
55
+ const _webSupportProjectPrerequisite = require("../start/doctor/web/WebSupportProjectPrerequisite");
56
+ const _devServerManager = require("../start/server/DevServerManager");
57
+ const _metroBundlerDevServer = require("../start/server/metro/MetroBundlerDevServer");
60
58
  const _router = require("../start/server/metro/router");
61
59
  const _serializeHtml = require("../start/server/metro/serializeHtml");
62
- const _ManifestMiddleware = require("../start/server/middleware/ManifestMiddleware");
60
+ const _manifestMiddleware = require("../start/server/middleware/ManifestMiddleware");
63
61
  const _metroOptions = require("../start/server/middleware/metroOptions");
64
62
  const _webTemplate = require("../start/server/webTemplate");
65
63
  const _env = require("../utils/env");
66
64
  const _errors = require("../utils/errors");
67
65
  const _nodeEnv = require("../utils/nodeEnv");
68
- function _interop_require_default(obj) {
66
+ function _interopRequireDefault(obj) {
69
67
  return obj && obj.__esModule ? obj : {
70
68
  default: obj
71
69
  };
@@ -78,7 +76,7 @@ function _getRequireWildcardCache(nodeInterop) {
78
76
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
79
77
  })(nodeInterop);
80
78
  }
81
- function _interop_require_wildcard(obj, nodeInterop) {
79
+ function _interopRequireWildcard(obj, nodeInterop) {
82
80
  if (!nodeInterop && obj && obj.__esModule) {
83
81
  return obj;
84
82
  }
@@ -91,9 +89,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
91
89
  if (cache && cache.has(obj)) {
92
90
  return cache.get(obj);
93
91
  }
94
- var newObj = {
95
- __proto__: null
96
- };
92
+ var newObj = {};
97
93
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
98
94
  for(var key in obj){
99
95
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -111,27 +107,27 @@ function _interop_require_wildcard(obj, nodeInterop) {
111
107
  }
112
108
  return newObj;
113
109
  }
114
- async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, dumpAssetmap, sourceMaps, minify, bytecode, maxWorkers, skipSSG }) {
115
- var _exp_web, _exp_web1;
116
- (0, _nodeEnv.setNodeEnv)(dev ? 'development' : 'production');
117
- require('@expo/env').load(projectRoot);
110
+ async function exportAppAsync(projectRoot, { platforms , outputDir , clear , dev , dumpAssetmap , sourceMaps , minify , bytecode , maxWorkers , skipSSG }) {
111
+ var ref, ref1;
112
+ (0, _nodeEnv.setNodeEnv)(dev ? "development" : "production");
113
+ require("@expo/env").load(projectRoot);
118
114
  const projectConfig = (0, _config().getConfig)(projectRoot);
119
115
  const exp = await (0, _getPublicExpoManifest.getPublicExpoManifestAsync)(projectRoot, {
120
116
  // Web doesn't require validation.
121
- skipValidation: platforms.length === 1 && platforms[0] === 'web'
117
+ skipValidation: platforms.length === 1 && platforms[0] === "web"
122
118
  });
123
- if (platforms.includes('web')) {
124
- await new _WebSupportProjectPrerequisite.WebSupportProjectPrerequisite(projectRoot).assertAsync();
119
+ if (platforms.includes("web")) {
120
+ await new _webSupportProjectPrerequisite.WebSupportProjectPrerequisite(projectRoot).assertAsync();
125
121
  }
126
122
  const useServerRendering = [
127
- 'static',
128
- 'server'
129
- ].includes(((_exp_web = exp.web) == null ? void 0 : _exp_web.output) ?? '');
130
- if (skipSSG && ((_exp_web1 = exp.web) == null ? void 0 : _exp_web1.output) !== 'server') {
131
- throw new _errors.CommandError('--no-ssg can only be used with `web.output: server`');
123
+ "static",
124
+ "server"
125
+ ].includes(((ref = exp.web) == null ? void 0 : ref.output) ?? "");
126
+ if (skipSSG && ((ref1 = exp.web) == null ? void 0 : ref1.output) !== "server") {
127
+ throw new _errors.CommandError("--no-ssg can only be used with `web.output: server`");
132
128
  }
133
129
  const baseUrl = (0, _metroOptions.getBaseUrlFromExpoConfig)(exp);
134
- if (!bytecode && (platforms.includes('ios') || platforms.includes('android'))) {
130
+ if (!bytecode && (platforms.includes("ios") || platforms.includes("android"))) {
135
131
  _log.warn(`Bytecode makes the app startup faster, disabling bytecode is highly discouraged and should only be used for debugging purposes.`);
136
132
  }
137
133
  // Print out logs
@@ -139,16 +135,16 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
139
135
  _log.log();
140
136
  _log.log(_chalk().default.gray`Using (experimental) base path: ${baseUrl}`);
141
137
  // Warn if not using an absolute path.
142
- if (!baseUrl.startsWith('/')) {
138
+ if (!baseUrl.startsWith("/")) {
143
139
  _log.log(_chalk().default.yellow` Base path does not start with a slash. Requests will not be absolute.`);
144
140
  }
145
141
  }
146
- const mode = dev ? 'development' : 'production';
142
+ const mode = dev ? "development" : "production";
147
143
  const publicPath = _path().default.resolve(projectRoot, _env.env.EXPO_PUBLIC_FOLDER);
148
144
  const outputPath = _path().default.resolve(projectRoot, outputDir);
149
145
  // Write the JS bundles to disk, and get the bundle file names (this could change with async chunk loading support).
150
146
  const files = new Map();
151
- const devServerManager = await _DevServerManager.DevServerManager.startMetroAsync(projectRoot, {
147
+ const devServerManager = await _devServerManager.DevServerManager.startMetroAsync(projectRoot, {
152
148
  minify,
153
149
  mode,
154
150
  port: 8081,
@@ -158,19 +154,19 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
158
154
  maxWorkers
159
155
  });
160
156
  const devServer = devServerManager.getDefaultDevServer();
161
- (0, _assert().default)(devServer instanceof _MetroBundlerDevServer.MetroBundlerDevServer);
157
+ (0, _assert().default)(devServer instanceof _metroBundlerDevServer.MetroBundlerDevServer);
162
158
  const bundles = {};
163
159
  const domComponentAssetsMetadata = {};
164
160
  const spaPlatforms = // TODO: Support server and static rendering for server component exports.
165
- useServerRendering && !devServer.isReactServerComponentsEnabled ? platforms.filter((platform)=>platform !== 'web') : platforms;
161
+ useServerRendering && !devServer.isReactServerComponentsEnabled ? platforms.filter((platform)=>platform !== "web") : platforms;
166
162
  try {
167
163
  if (devServer.isReactServerComponentsEnabled) {
168
164
  // In RSC mode, we only need these to be in the client dir.
169
165
  // TODO: Merge back with other copy after we add SSR.
170
166
  try {
171
- await (0, _publicFolder.copyPublicFolderAsync)(publicPath, _path().default.join(outputPath, 'client'));
167
+ await (0, _publicFolder.copyPublicFolderAsync)(publicPath, _path().default.join(outputPath, "client"));
172
168
  } catch (error) {
173
- _log.error('Failed to copy public directory to dist directory');
169
+ _log.error("Failed to copy public directory to dist directory");
174
170
  throw error;
175
171
  }
176
172
  } else {
@@ -182,7 +178,7 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
182
178
  // Can be empty during web-only SSG.
183
179
  if (spaPlatforms.length) {
184
180
  await Promise.all(spaPlatforms.map(async (platform)=>{
185
- var _exp_experiments;
181
+ var ref;
186
182
  // Assert early so the user doesn't have to wait until bundling is complete to find out that
187
183
  // Hermes won't be available.
188
184
  const isHermes = (0, _exportHermes.isEnableHermesManaged)(exp, platform);
@@ -192,16 +188,16 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
192
188
  // Run metro bundler and create the JS bundles/source maps.
193
189
  const bundle = await devServer.nativeExportBundleAsync({
194
190
  platform,
195
- splitChunks: !_env.env.EXPO_NO_BUNDLE_SPLITTING && (devServer.isReactServerComponentsEnabled && !bytecode || platform === 'web'),
196
- mainModuleName: (0, _ManifestMiddleware.getEntryWithServerRoot)(projectRoot, {
191
+ splitChunks: !_env.env.EXPO_NO_BUNDLE_SPLITTING && (devServer.isReactServerComponentsEnabled && !bytecode || platform === "web"),
192
+ mainModuleName: (0, _manifestMiddleware.getEntryWithServerRoot)(projectRoot, {
197
193
  platform,
198
194
  pkg: projectConfig.pkg
199
195
  }),
200
- mode: dev ? 'development' : 'production',
201
- engine: isHermes ? 'hermes' : undefined,
196
+ mode: dev ? "development" : "production",
197
+ engine: isHermes ? "hermes" : undefined,
202
198
  serializerIncludeMaps: sourceMaps,
203
199
  bytecode: bytecode && isHermes,
204
- reactCompiler: !!((_exp_experiments = exp.experiments) == null ? void 0 : _exp_experiments.reactCompiler)
200
+ reactCompiler: !!((ref = exp.experiments) == null ? void 0 : ref.reactCompiler)
205
201
  }, files);
206
202
  bundles[platform] = bundle;
207
203
  (0, _saveAssets.getFilesFromSerialAssets)(bundle.artifacts, {
@@ -213,7 +209,7 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
213
209
  const expoDomComponentReferences = bundle.artifacts.map((artifact)=>Array.isArray(artifact.metadata.expoDomComponentReferences) ? artifact.metadata.expoDomComponentReferences : []).flat();
214
210
  await Promise.all(// TODO: Make a version of this which uses `this.metro.getBundler().buildGraphForEntries([])` to bundle all the DOM components at once.
215
211
  expoDomComponentReferences.map(async (filePath)=>{
216
- const { bundle: platformDomComponentsBundle, htmlOutputName } = await (0, _exportDomComponents.exportDomComponentAsync)({
212
+ const { bundle: platformDomComponentsBundle , htmlOutputName } = await (0, _exportDomComponents.exportDomComponentAsync)({
217
213
  filePath,
218
214
  projectRoot,
219
215
  dev,
@@ -238,10 +234,10 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
238
234
  ...(0, _exportDomComponents.transformDomEntryForMd5Filename)({
239
235
  files,
240
236
  htmlOutputName
241
- })
237
+ }),
242
238
  ];
243
239
  }));
244
- if (platform === 'web') {
240
+ if (platform === "web") {
245
241
  // TODO: Unify with exportStaticAsync
246
242
  // TODO: Maybe move to the serializer.
247
243
  let html = await (0, _serializeHtml.serializeHtmlWithAssets)({
@@ -268,23 +264,23 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
268
264
  templateHtml = html;
269
265
  // Generate SPA-styled HTML file.
270
266
  // If web exists, then write the template HTML file.
271
- files.set('index.html', {
267
+ files.set("index.html", {
272
268
  contents: html,
273
- targetDomain: devServer.isReactServerComponentsEnabled ? 'server' : 'client'
269
+ targetDomain: devServer.isReactServerComponentsEnabled ? "server" : "client"
274
270
  });
275
271
  }
276
272
  }));
277
273
  if (devServer.isReactServerComponentsEnabled) {
278
- const isWeb = platforms.includes('web');
274
+ const isWeb = platforms.includes("web");
279
275
  await (0, _exportStaticAsync.exportApiRoutesStandaloneAsync)(devServer, {
280
276
  files,
281
- platform: 'web',
277
+ platform: "web",
282
278
  apiRoutesOnly: !isWeb,
283
279
  templateHtml
284
280
  });
285
281
  }
286
282
  // TODO: Use same asset system across platforms again.
287
- const { assets, embeddedHashSet } = await (0, _exportAssets.exportAssetsAsync)(projectRoot, {
283
+ const { assets , embeddedHashSet } = await (0, _exportAssets.exportAssetsAsync)(projectRoot, {
288
284
  files,
289
285
  exp,
290
286
  outputDir: outputPath,
@@ -292,17 +288,17 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
292
288
  baseUrl
293
289
  });
294
290
  if (dumpAssetmap) {
295
- _log.log('Creating asset map');
296
- files.set('assetmap.json', {
291
+ _log.log("Creating asset map");
292
+ files.set("assetmap.json", {
297
293
  contents: JSON.stringify((0, _writeContents.createAssetMap)({
298
294
  assets
299
295
  }))
300
296
  });
301
297
  }
302
- const targetDomain = devServer.isReactServerComponentsEnabled ? 'client/' : '';
298
+ const targetDomain = devServer.isReactServerComponentsEnabled ? "client/" : "";
303
299
  const fileNames = Object.fromEntries(Object.entries(bundles).map(([platform, bundle])=>[
304
300
  platform,
305
- bundle.artifacts.filter((asset)=>asset.type === 'js').map((asset)=>targetDomain + asset.filename)
301
+ bundle.artifacts.filter((asset)=>asset.type === "js").map((asset)=>targetDomain + asset.filename),
306
302
  ]));
307
303
  // Generate a `metadata.json` for EAS Update.
308
304
  const contents = (0, _createMetadataJson.createMetadataJson)({
@@ -311,37 +307,37 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
311
307
  embeddedHashSet,
312
308
  domComponentAssetsMetadata
313
309
  });
314
- files.set('metadata.json', {
310
+ files.set("metadata.json", {
315
311
  contents: JSON.stringify(contents)
316
312
  });
317
313
  }
318
314
  // Additional web-only steps...
319
- if (platforms.includes('web') && useServerRendering) {
320
- var _exp_web2;
321
- const exportServer = ((_exp_web2 = exp.web) == null ? void 0 : _exp_web2.output) === 'server';
315
+ if (platforms.includes("web") && useServerRendering) {
316
+ var ref2;
317
+ const exportServer = ((ref2 = exp.web) == null ? void 0 : ref2.output) === "server";
322
318
  if (exportServer) {
323
319
  // TODO: Remove when this is abstracted into the files map
324
- await (0, _publicFolder.copyPublicFolderAsync)(publicPath, _path().default.resolve(outputPath, 'client'));
320
+ await (0, _publicFolder.copyPublicFolderAsync)(publicPath, _path().default.resolve(outputPath, "client"));
325
321
  }
326
322
  if (skipSSG) {
327
- _log.log('Skipping static site generation');
323
+ _log.log("Skipping static site generation");
328
324
  await (0, _exportStaticAsync.exportApiRoutesStandaloneAsync)(devServer, {
329
325
  files,
330
- platform: 'web',
326
+ platform: "web",
331
327
  apiRoutesOnly: true
332
328
  });
333
329
  // Output a placeholder index.html if one doesn't exist in the public directory.
334
330
  // This ensures native + API routes have some content at the root URL.
335
- const placeholderIndex = _path().default.resolve(outputPath, 'client/index.html');
331
+ const placeholderIndex = _path().default.resolve(outputPath, "client/index.html");
336
332
  if (!_fs().default.existsSync(placeholderIndex)) {
337
- files.set('index.html', {
333
+ files.set("index.html", {
338
334
  contents: `<html><body></body></html>`,
339
- targetDomain: 'client'
335
+ targetDomain: "client"
340
336
  });
341
337
  }
342
338
  } else if (// TODO: Support static export with RSC.
343
339
  !devServer.isReactServerComponentsEnabled) {
344
- var _exp_experiments;
340
+ var ref3;
345
341
  await (0, _exportStaticAsync.exportFromServerAsync)(projectRoot, devServer, {
346
342
  mode,
347
343
  files,
@@ -351,7 +347,7 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
351
347
  baseUrl,
352
348
  includeSourceMaps: sourceMaps,
353
349
  routerRoot: (0, _router.getRouterDirectoryModuleIdWithManifest)(projectRoot, exp),
354
- reactCompiler: !!((_exp_experiments = exp.experiments) == null ? void 0 : _exp_experiments.reactCompiler),
350
+ reactCompiler: !!((ref3 = exp.experiments) == null ? void 0 : ref3.reactCompiler),
355
351
  exportServer,
356
352
  maxWorkers,
357
353
  isExporting: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/export/exportApp.ts"],"sourcesContent":["import { getConfig } from '@expo/config';\nimport type { Platform } from '@expo/config';\nimport assert from 'assert';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { type PlatformMetadata, createMetadataJson } from './createMetadataJson';\nimport { exportAssetsAsync } from './exportAssets';\nimport {\n addDomBundleToMetadataAsync,\n exportDomComponentAsync,\n transformNativeBundleForMd5Filename,\n transformDomEntryForMd5Filename,\n} from './exportDomComponents';\nimport { assertEngineMismatchAsync, isEnableHermesManaged } from './exportHermes';\nimport { exportApiRoutesStandaloneAsync, exportFromServerAsync } from './exportStaticAsync';\nimport { getVirtualFaviconAssetsAsync } from './favicon';\nimport { getPublicExpoManifestAsync } from './getPublicExpoManifest';\nimport { copyPublicFolderAsync } from './publicFolder';\nimport { Options } from './resolveOptions';\nimport {\n ExportAssetMap,\n BundleOutput,\n getFilesFromSerialAssets,\n persistMetroFilesAsync,\n} from './saveAssets';\nimport { createAssetMap } from './writeContents';\nimport * as Log from '../log';\nimport { WebSupportProjectPrerequisite } from '../start/doctor/web/WebSupportProjectPrerequisite';\nimport { DevServerManager } from '../start/server/DevServerManager';\nimport { MetroBundlerDevServer } from '../start/server/metro/MetroBundlerDevServer';\nimport { getRouterDirectoryModuleIdWithManifest } from '../start/server/metro/router';\nimport { serializeHtmlWithAssets } from '../start/server/metro/serializeHtml';\nimport { getEntryWithServerRoot } from '../start/server/middleware/ManifestMiddleware';\nimport { getBaseUrlFromExpoConfig } from '../start/server/middleware/metroOptions';\nimport { createTemplateHtmlFromExpoConfigAsync } from '../start/server/webTemplate';\nimport { env } from '../utils/env';\nimport { CommandError } from '../utils/errors';\nimport { setNodeEnv } from '../utils/nodeEnv';\n\nexport async function exportAppAsync(\n projectRoot: string,\n {\n platforms,\n outputDir,\n clear,\n dev,\n dumpAssetmap,\n sourceMaps,\n minify,\n bytecode,\n maxWorkers,\n skipSSG,\n }: Pick<\n Options,\n | 'dumpAssetmap'\n | 'sourceMaps'\n | 'dev'\n | 'clear'\n | 'outputDir'\n | 'platforms'\n | 'minify'\n | 'bytecode'\n | 'maxWorkers'\n | 'skipSSG'\n >\n): Promise<void> {\n setNodeEnv(dev ? 'development' : 'production');\n require('@expo/env').load(projectRoot);\n\n const projectConfig = getConfig(projectRoot);\n const exp = await getPublicExpoManifestAsync(projectRoot, {\n // Web doesn't require validation.\n skipValidation: platforms.length === 1 && platforms[0] === 'web',\n });\n\n if (platforms.includes('web')) {\n await new WebSupportProjectPrerequisite(projectRoot).assertAsync();\n }\n\n const useServerRendering = ['static', 'server'].includes(exp.web?.output ?? '');\n\n if (skipSSG && exp.web?.output !== 'server') {\n throw new CommandError('--no-ssg can only be used with `web.output: server`');\n }\n\n const baseUrl = getBaseUrlFromExpoConfig(exp);\n\n if (!bytecode && (platforms.includes('ios') || platforms.includes('android'))) {\n Log.warn(\n `Bytecode makes the app startup faster, disabling bytecode is highly discouraged and should only be used for debugging purposes.`\n );\n }\n\n // Print out logs\n if (baseUrl) {\n Log.log();\n Log.log(chalk.gray`Using (experimental) base path: ${baseUrl}`);\n // Warn if not using an absolute path.\n if (!baseUrl.startsWith('/')) {\n Log.log(\n chalk.yellow` Base path does not start with a slash. Requests will not be absolute.`\n );\n }\n }\n\n const mode = dev ? 'development' : 'production';\n const publicPath = path.resolve(projectRoot, env.EXPO_PUBLIC_FOLDER);\n const outputPath = path.resolve(projectRoot, outputDir);\n\n // Write the JS bundles to disk, and get the bundle file names (this could change with async chunk loading support).\n\n const files: ExportAssetMap = new Map();\n\n const devServerManager = await DevServerManager.startMetroAsync(projectRoot, {\n minify,\n mode,\n port: 8081,\n isExporting: true,\n location: {},\n resetDevServer: clear,\n maxWorkers,\n });\n\n const devServer = devServerManager.getDefaultDevServer();\n assert(devServer instanceof MetroBundlerDevServer);\n\n const bundles: Partial<Record<Platform, BundleOutput>> = {};\n const domComponentAssetsMetadata: Partial<Record<Platform, PlatformMetadata['assets']>> = {};\n\n const spaPlatforms =\n // TODO: Support server and static rendering for server component exports.\n useServerRendering && !devServer.isReactServerComponentsEnabled\n ? platforms.filter((platform) => platform !== 'web')\n : platforms;\n\n try {\n if (devServer.isReactServerComponentsEnabled) {\n // In RSC mode, we only need these to be in the client dir.\n // TODO: Merge back with other copy after we add SSR.\n try {\n await copyPublicFolderAsync(publicPath, path.join(outputPath, 'client'));\n } catch (error) {\n Log.error('Failed to copy public directory to dist directory');\n throw error;\n }\n } else {\n // NOTE(kitten): The public folder is currently always copied, regardless of targetDomain\n // split. Hence, there's another separate `copyPublicFolderAsync` call below for `web`\n await copyPublicFolderAsync(publicPath, outputPath);\n }\n\n let templateHtml: string | undefined;\n // Can be empty during web-only SSG.\n if (spaPlatforms.length) {\n await Promise.all(\n spaPlatforms.map(async (platform) => {\n // Assert early so the user doesn't have to wait until bundling is complete to find out that\n // Hermes won't be available.\n const isHermes = isEnableHermesManaged(exp, platform);\n if (isHermes) {\n await assertEngineMismatchAsync(projectRoot, exp, platform);\n }\n\n // Run metro bundler and create the JS bundles/source maps.\n const bundle = await devServer.nativeExportBundleAsync(\n {\n platform,\n splitChunks:\n !env.EXPO_NO_BUNDLE_SPLITTING &&\n ((devServer.isReactServerComponentsEnabled && !bytecode) || platform === 'web'),\n mainModuleName: getEntryWithServerRoot(projectRoot, {\n platform,\n pkg: projectConfig.pkg,\n }),\n mode: dev ? 'development' : 'production',\n engine: isHermes ? 'hermes' : undefined,\n serializerIncludeMaps: sourceMaps,\n bytecode: bytecode && isHermes,\n reactCompiler: !!exp.experiments?.reactCompiler,\n },\n files\n );\n\n bundles[platform] = bundle;\n\n getFilesFromSerialAssets(bundle.artifacts, {\n includeSourceMaps: sourceMaps,\n files,\n isServerHosted: devServer.isReactServerComponentsEnabled,\n });\n\n // TODO: Remove duplicates...\n const expoDomComponentReferences = bundle.artifacts\n .map((artifact) =>\n Array.isArray(artifact.metadata.expoDomComponentReferences)\n ? artifact.metadata.expoDomComponentReferences\n : []\n )\n .flat();\n await Promise.all(\n // TODO: Make a version of this which uses `this.metro.getBundler().buildGraphForEntries([])` to bundle all the DOM components at once.\n expoDomComponentReferences.map(async (filePath) => {\n const { bundle: platformDomComponentsBundle, htmlOutputName } =\n await exportDomComponentAsync({\n filePath,\n projectRoot,\n dev,\n devServer,\n isHermes,\n includeSourceMaps: sourceMaps,\n exp,\n files,\n useMd5Filename: true,\n });\n\n // Merge the assets from the DOM component into the output assets.\n // @ts-expect-error: mutate assets\n bundle.assets.push(...platformDomComponentsBundle.assets);\n\n transformNativeBundleForMd5Filename({\n domComponentReference: filePath,\n nativeBundle: bundle,\n files,\n htmlOutputName,\n });\n domComponentAssetsMetadata[platform] = [\n ...(await addDomBundleToMetadataAsync(platformDomComponentsBundle)),\n ...transformDomEntryForMd5Filename({\n files,\n htmlOutputName,\n }),\n ];\n })\n );\n\n if (platform === 'web') {\n // TODO: Unify with exportStaticAsync\n // TODO: Maybe move to the serializer.\n let html = await serializeHtmlWithAssets({\n isExporting: true,\n resources: bundle.artifacts,\n template: await createTemplateHtmlFromExpoConfigAsync(projectRoot, {\n scripts: [],\n cssLinks: [],\n exp: projectConfig.exp,\n }),\n baseUrl,\n });\n\n // Add the favicon assets to the HTML.\n const modifyHtml = await getVirtualFaviconAssetsAsync(projectRoot, {\n outputDir,\n baseUrl,\n files,\n exp: projectConfig.exp,\n });\n if (modifyHtml) {\n html = modifyHtml(html);\n }\n\n // HACK: This is used for adding SSR shims in React Server Components.\n templateHtml = html;\n\n // Generate SPA-styled HTML file.\n // If web exists, then write the template HTML file.\n files.set('index.html', {\n contents: html,\n targetDomain: devServer.isReactServerComponentsEnabled ? 'server' : 'client',\n });\n }\n })\n );\n\n if (devServer.isReactServerComponentsEnabled) {\n const isWeb = platforms.includes('web');\n\n await exportApiRoutesStandaloneAsync(devServer, {\n files,\n platform: 'web',\n apiRoutesOnly: !isWeb,\n templateHtml,\n });\n }\n\n // TODO: Use same asset system across platforms again.\n const { assets, embeddedHashSet } = await exportAssetsAsync(projectRoot, {\n files,\n exp,\n outputDir: outputPath,\n bundles,\n baseUrl,\n });\n\n if (dumpAssetmap) {\n Log.log('Creating asset map');\n files.set('assetmap.json', { contents: JSON.stringify(createAssetMap({ assets })) });\n }\n\n const targetDomain = devServer.isReactServerComponentsEnabled ? 'client/' : '';\n const fileNames = Object.fromEntries(\n Object.entries(bundles).map(([platform, bundle]) => [\n platform,\n bundle.artifacts\n .filter((asset) => asset.type === 'js')\n .map((asset) => targetDomain + asset.filename),\n ])\n );\n\n // Generate a `metadata.json` for EAS Update.\n const contents = createMetadataJson({\n bundles,\n fileNames,\n embeddedHashSet,\n domComponentAssetsMetadata,\n });\n files.set('metadata.json', { contents: JSON.stringify(contents) });\n }\n\n // Additional web-only steps...\n\n if (platforms.includes('web') && useServerRendering) {\n const exportServer = exp.web?.output === 'server';\n\n if (exportServer) {\n // TODO: Remove when this is abstracted into the files map\n await copyPublicFolderAsync(publicPath, path.resolve(outputPath, 'client'));\n }\n\n if (skipSSG) {\n Log.log('Skipping static site generation');\n await exportApiRoutesStandaloneAsync(devServer, {\n files,\n platform: 'web',\n apiRoutesOnly: true,\n });\n\n // Output a placeholder index.html if one doesn't exist in the public directory.\n // This ensures native + API routes have some content at the root URL.\n const placeholderIndex = path.resolve(outputPath, 'client/index.html');\n if (!fs.existsSync(placeholderIndex)) {\n files.set('index.html', {\n contents: `<html><body></body></html>`,\n targetDomain: 'client',\n });\n }\n } else if (\n // TODO: Support static export with RSC.\n !devServer.isReactServerComponentsEnabled\n ) {\n await exportFromServerAsync(projectRoot, devServer, {\n mode,\n files,\n clear: !!clear,\n outputDir: outputPath,\n minify,\n baseUrl,\n includeSourceMaps: sourceMaps,\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n reactCompiler: !!exp.experiments?.reactCompiler,\n exportServer,\n maxWorkers,\n isExporting: true,\n exp: projectConfig.exp,\n });\n }\n }\n } finally {\n await devServerManager.stopAsync();\n }\n\n // Write all files at the end for unified logging.\n await persistMetroFilesAsync(files, outputPath);\n}\n"],"names":["exportAppAsync","projectRoot","platforms","outputDir","clear","dev","dumpAssetmap","sourceMaps","minify","bytecode","maxWorkers","skipSSG","exp","setNodeEnv","require","load","projectConfig","getConfig","getPublicExpoManifestAsync","skipValidation","length","includes","WebSupportProjectPrerequisite","assertAsync","useServerRendering","web","output","CommandError","baseUrl","getBaseUrlFromExpoConfig","Log","warn","log","chalk","gray","startsWith","yellow","mode","publicPath","path","resolve","env","EXPO_PUBLIC_FOLDER","outputPath","files","Map","devServerManager","DevServerManager","startMetroAsync","port","isExporting","location","resetDevServer","devServer","getDefaultDevServer","assert","MetroBundlerDevServer","bundles","domComponentAssetsMetadata","spaPlatforms","isReactServerComponentsEnabled","filter","platform","copyPublicFolderAsync","join","error","templateHtml","Promise","all","map","isHermes","isEnableHermesManaged","assertEngineMismatchAsync","bundle","nativeExportBundleAsync","splitChunks","EXPO_NO_BUNDLE_SPLITTING","mainModuleName","getEntryWithServerRoot","pkg","engine","undefined","serializerIncludeMaps","reactCompiler","experiments","getFilesFromSerialAssets","artifacts","includeSourceMaps","isServerHosted","expoDomComponentReferences","artifact","Array","isArray","metadata","flat","filePath","platformDomComponentsBundle","htmlOutputName","exportDomComponentAsync","useMd5Filename","assets","push","transformNativeBundleForMd5Filename","domComponentReference","nativeBundle","addDomBundleToMetadataAsync","transformDomEntryForMd5Filename","html","serializeHtmlWithAssets","resources","template","createTemplateHtmlFromExpoConfigAsync","scripts","cssLinks","modifyHtml","getVirtualFaviconAssetsAsync","set","contents","targetDomain","isWeb","exportApiRoutesStandaloneAsync","apiRoutesOnly","embeddedHashSet","exportAssetsAsync","JSON","stringify","createAssetMap","fileNames","Object","fromEntries","entries","asset","type","filename","createMetadataJson","exportServer","placeholderIndex","fs","existsSync","exportFromServerAsync","routerRoot","getRouterDirectoryModuleIdWithManifest","stopAsync","persistMetroFilesAsync"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/export/exportApp.ts"],"sourcesContent":["import { getConfig } from '@expo/config';\nimport type { Platform } from '@expo/config';\nimport assert from 'assert';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { type PlatformMetadata, createMetadataJson } from './createMetadataJson';\nimport { exportAssetsAsync } from './exportAssets';\nimport {\n addDomBundleToMetadataAsync,\n exportDomComponentAsync,\n transformNativeBundleForMd5Filename,\n transformDomEntryForMd5Filename,\n} from './exportDomComponents';\nimport { assertEngineMismatchAsync, isEnableHermesManaged } from './exportHermes';\nimport { exportApiRoutesStandaloneAsync, exportFromServerAsync } from './exportStaticAsync';\nimport { getVirtualFaviconAssetsAsync } from './favicon';\nimport { getPublicExpoManifestAsync } from './getPublicExpoManifest';\nimport { copyPublicFolderAsync } from './publicFolder';\nimport { Options } from './resolveOptions';\nimport {\n ExportAssetMap,\n BundleOutput,\n getFilesFromSerialAssets,\n persistMetroFilesAsync,\n} from './saveAssets';\nimport { createAssetMap } from './writeContents';\nimport * as Log from '../log';\nimport { WebSupportProjectPrerequisite } from '../start/doctor/web/WebSupportProjectPrerequisite';\nimport { DevServerManager } from '../start/server/DevServerManager';\nimport { MetroBundlerDevServer } from '../start/server/metro/MetroBundlerDevServer';\nimport { getRouterDirectoryModuleIdWithManifest } from '../start/server/metro/router';\nimport { serializeHtmlWithAssets } from '../start/server/metro/serializeHtml';\nimport { getEntryWithServerRoot } from '../start/server/middleware/ManifestMiddleware';\nimport { getBaseUrlFromExpoConfig } from '../start/server/middleware/metroOptions';\nimport { createTemplateHtmlFromExpoConfigAsync } from '../start/server/webTemplate';\nimport { env } from '../utils/env';\nimport { CommandError } from '../utils/errors';\nimport { setNodeEnv } from '../utils/nodeEnv';\n\nexport async function exportAppAsync(\n projectRoot: string,\n {\n platforms,\n outputDir,\n clear,\n dev,\n dumpAssetmap,\n sourceMaps,\n minify,\n bytecode,\n maxWorkers,\n skipSSG,\n }: Pick<\n Options,\n | 'dumpAssetmap'\n | 'sourceMaps'\n | 'dev'\n | 'clear'\n | 'outputDir'\n | 'platforms'\n | 'minify'\n | 'bytecode'\n | 'maxWorkers'\n | 'skipSSG'\n >\n): Promise<void> {\n setNodeEnv(dev ? 'development' : 'production');\n require('@expo/env').load(projectRoot);\n\n const projectConfig = getConfig(projectRoot);\n const exp = await getPublicExpoManifestAsync(projectRoot, {\n // Web doesn't require validation.\n skipValidation: platforms.length === 1 && platforms[0] === 'web',\n });\n\n if (platforms.includes('web')) {\n await new WebSupportProjectPrerequisite(projectRoot).assertAsync();\n }\n\n const useServerRendering = ['static', 'server'].includes(exp.web?.output ?? '');\n\n if (skipSSG && exp.web?.output !== 'server') {\n throw new CommandError('--no-ssg can only be used with `web.output: server`');\n }\n\n const baseUrl = getBaseUrlFromExpoConfig(exp);\n\n if (!bytecode && (platforms.includes('ios') || platforms.includes('android'))) {\n Log.warn(\n `Bytecode makes the app startup faster, disabling bytecode is highly discouraged and should only be used for debugging purposes.`\n );\n }\n\n // Print out logs\n if (baseUrl) {\n Log.log();\n Log.log(chalk.gray`Using (experimental) base path: ${baseUrl}`);\n // Warn if not using an absolute path.\n if (!baseUrl.startsWith('/')) {\n Log.log(\n chalk.yellow` Base path does not start with a slash. Requests will not be absolute.`\n );\n }\n }\n\n const mode = dev ? 'development' : 'production';\n const publicPath = path.resolve(projectRoot, env.EXPO_PUBLIC_FOLDER);\n const outputPath = path.resolve(projectRoot, outputDir);\n\n // Write the JS bundles to disk, and get the bundle file names (this could change with async chunk loading support).\n\n const files: ExportAssetMap = new Map();\n\n const devServerManager = await DevServerManager.startMetroAsync(projectRoot, {\n minify,\n mode,\n port: 8081,\n isExporting: true,\n location: {},\n resetDevServer: clear,\n maxWorkers,\n });\n\n const devServer = devServerManager.getDefaultDevServer();\n assert(devServer instanceof MetroBundlerDevServer);\n\n const bundles: Partial<Record<Platform, BundleOutput>> = {};\n const domComponentAssetsMetadata: Partial<Record<Platform, PlatformMetadata['assets']>> = {};\n\n const spaPlatforms =\n // TODO: Support server and static rendering for server component exports.\n useServerRendering && !devServer.isReactServerComponentsEnabled\n ? platforms.filter((platform) => platform !== 'web')\n : platforms;\n\n try {\n if (devServer.isReactServerComponentsEnabled) {\n // In RSC mode, we only need these to be in the client dir.\n // TODO: Merge back with other copy after we add SSR.\n try {\n await copyPublicFolderAsync(publicPath, path.join(outputPath, 'client'));\n } catch (error) {\n Log.error('Failed to copy public directory to dist directory');\n throw error;\n }\n } else {\n // NOTE(kitten): The public folder is currently always copied, regardless of targetDomain\n // split. Hence, there's another separate `copyPublicFolderAsync` call below for `web`\n await copyPublicFolderAsync(publicPath, outputPath);\n }\n\n let templateHtml: string | undefined;\n // Can be empty during web-only SSG.\n if (spaPlatforms.length) {\n await Promise.all(\n spaPlatforms.map(async (platform) => {\n // Assert early so the user doesn't have to wait until bundling is complete to find out that\n // Hermes won't be available.\n const isHermes = isEnableHermesManaged(exp, platform);\n if (isHermes) {\n await assertEngineMismatchAsync(projectRoot, exp, platform);\n }\n\n // Run metro bundler and create the JS bundles/source maps.\n const bundle = await devServer.nativeExportBundleAsync(\n {\n platform,\n splitChunks:\n !env.EXPO_NO_BUNDLE_SPLITTING &&\n ((devServer.isReactServerComponentsEnabled && !bytecode) || platform === 'web'),\n mainModuleName: getEntryWithServerRoot(projectRoot, {\n platform,\n pkg: projectConfig.pkg,\n }),\n mode: dev ? 'development' : 'production',\n engine: isHermes ? 'hermes' : undefined,\n serializerIncludeMaps: sourceMaps,\n bytecode: bytecode && isHermes,\n reactCompiler: !!exp.experiments?.reactCompiler,\n },\n files\n );\n\n bundles[platform] = bundle;\n\n getFilesFromSerialAssets(bundle.artifacts, {\n includeSourceMaps: sourceMaps,\n files,\n isServerHosted: devServer.isReactServerComponentsEnabled,\n });\n\n // TODO: Remove duplicates...\n const expoDomComponentReferences = bundle.artifacts\n .map((artifact) =>\n Array.isArray(artifact.metadata.expoDomComponentReferences)\n ? artifact.metadata.expoDomComponentReferences\n : []\n )\n .flat();\n await Promise.all(\n // TODO: Make a version of this which uses `this.metro.getBundler().buildGraphForEntries([])` to bundle all the DOM components at once.\n expoDomComponentReferences.map(async (filePath) => {\n const { bundle: platformDomComponentsBundle, htmlOutputName } =\n await exportDomComponentAsync({\n filePath,\n projectRoot,\n dev,\n devServer,\n isHermes,\n includeSourceMaps: sourceMaps,\n exp,\n files,\n useMd5Filename: true,\n });\n\n // Merge the assets from the DOM component into the output assets.\n // @ts-expect-error: mutate assets\n bundle.assets.push(...platformDomComponentsBundle.assets);\n\n transformNativeBundleForMd5Filename({\n domComponentReference: filePath,\n nativeBundle: bundle,\n files,\n htmlOutputName,\n });\n domComponentAssetsMetadata[platform] = [\n ...(await addDomBundleToMetadataAsync(platformDomComponentsBundle)),\n ...transformDomEntryForMd5Filename({\n files,\n htmlOutputName,\n }),\n ];\n })\n );\n\n if (platform === 'web') {\n // TODO: Unify with exportStaticAsync\n // TODO: Maybe move to the serializer.\n let html = await serializeHtmlWithAssets({\n isExporting: true,\n resources: bundle.artifacts,\n template: await createTemplateHtmlFromExpoConfigAsync(projectRoot, {\n scripts: [],\n cssLinks: [],\n exp: projectConfig.exp,\n }),\n baseUrl,\n });\n\n // Add the favicon assets to the HTML.\n const modifyHtml = await getVirtualFaviconAssetsAsync(projectRoot, {\n outputDir,\n baseUrl,\n files,\n exp: projectConfig.exp,\n });\n if (modifyHtml) {\n html = modifyHtml(html);\n }\n\n // HACK: This is used for adding SSR shims in React Server Components.\n templateHtml = html;\n\n // Generate SPA-styled HTML file.\n // If web exists, then write the template HTML file.\n files.set('index.html', {\n contents: html,\n targetDomain: devServer.isReactServerComponentsEnabled ? 'server' : 'client',\n });\n }\n })\n );\n\n if (devServer.isReactServerComponentsEnabled) {\n const isWeb = platforms.includes('web');\n\n await exportApiRoutesStandaloneAsync(devServer, {\n files,\n platform: 'web',\n apiRoutesOnly: !isWeb,\n templateHtml,\n });\n }\n\n // TODO: Use same asset system across platforms again.\n const { assets, embeddedHashSet } = await exportAssetsAsync(projectRoot, {\n files,\n exp,\n outputDir: outputPath,\n bundles,\n baseUrl,\n });\n\n if (dumpAssetmap) {\n Log.log('Creating asset map');\n files.set('assetmap.json', { contents: JSON.stringify(createAssetMap({ assets })) });\n }\n\n const targetDomain = devServer.isReactServerComponentsEnabled ? 'client/' : '';\n const fileNames = Object.fromEntries(\n Object.entries(bundles).map(([platform, bundle]) => [\n platform,\n bundle.artifacts\n .filter((asset) => asset.type === 'js')\n .map((asset) => targetDomain + asset.filename),\n ])\n );\n\n // Generate a `metadata.json` for EAS Update.\n const contents = createMetadataJson({\n bundles,\n fileNames,\n embeddedHashSet,\n domComponentAssetsMetadata,\n });\n files.set('metadata.json', { contents: JSON.stringify(contents) });\n }\n\n // Additional web-only steps...\n\n if (platforms.includes('web') && useServerRendering) {\n const exportServer = exp.web?.output === 'server';\n\n if (exportServer) {\n // TODO: Remove when this is abstracted into the files map\n await copyPublicFolderAsync(publicPath, path.resolve(outputPath, 'client'));\n }\n\n if (skipSSG) {\n Log.log('Skipping static site generation');\n await exportApiRoutesStandaloneAsync(devServer, {\n files,\n platform: 'web',\n apiRoutesOnly: true,\n });\n\n // Output a placeholder index.html if one doesn't exist in the public directory.\n // This ensures native + API routes have some content at the root URL.\n const placeholderIndex = path.resolve(outputPath, 'client/index.html');\n if (!fs.existsSync(placeholderIndex)) {\n files.set('index.html', {\n contents: `<html><body></body></html>`,\n targetDomain: 'client',\n });\n }\n } else if (\n // TODO: Support static export with RSC.\n !devServer.isReactServerComponentsEnabled\n ) {\n await exportFromServerAsync(projectRoot, devServer, {\n mode,\n files,\n clear: !!clear,\n outputDir: outputPath,\n minify,\n baseUrl,\n includeSourceMaps: sourceMaps,\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n reactCompiler: !!exp.experiments?.reactCompiler,\n exportServer,\n maxWorkers,\n isExporting: true,\n exp: projectConfig.exp,\n });\n }\n }\n } finally {\n await devServerManager.stopAsync();\n }\n\n // Write all files at the end for unified logging.\n await persistMetroFilesAsync(files, outputPath);\n}\n"],"names":["exportAppAsync","projectRoot","platforms","outputDir","clear","dev","dumpAssetmap","sourceMaps","minify","bytecode","maxWorkers","skipSSG","exp","setNodeEnv","require","load","projectConfig","getConfig","getPublicExpoManifestAsync","skipValidation","length","includes","WebSupportProjectPrerequisite","assertAsync","useServerRendering","web","output","CommandError","baseUrl","getBaseUrlFromExpoConfig","Log","warn","log","chalk","gray","startsWith","yellow","mode","publicPath","path","resolve","env","EXPO_PUBLIC_FOLDER","outputPath","files","Map","devServerManager","DevServerManager","startMetroAsync","port","isExporting","location","resetDevServer","devServer","getDefaultDevServer","assert","MetroBundlerDevServer","bundles","domComponentAssetsMetadata","spaPlatforms","isReactServerComponentsEnabled","filter","platform","copyPublicFolderAsync","join","error","templateHtml","Promise","all","map","isHermes","isEnableHermesManaged","assertEngineMismatchAsync","bundle","nativeExportBundleAsync","splitChunks","EXPO_NO_BUNDLE_SPLITTING","mainModuleName","getEntryWithServerRoot","pkg","engine","undefined","serializerIncludeMaps","reactCompiler","experiments","getFilesFromSerialAssets","artifacts","includeSourceMaps","isServerHosted","expoDomComponentReferences","artifact","Array","isArray","metadata","flat","filePath","platformDomComponentsBundle","htmlOutputName","exportDomComponentAsync","useMd5Filename","assets","push","transformNativeBundleForMd5Filename","domComponentReference","nativeBundle","addDomBundleToMetadataAsync","transformDomEntryForMd5Filename","html","serializeHtmlWithAssets","resources","template","createTemplateHtmlFromExpoConfigAsync","scripts","cssLinks","modifyHtml","getVirtualFaviconAssetsAsync","set","contents","targetDomain","isWeb","exportApiRoutesStandaloneAsync","apiRoutesOnly","embeddedHashSet","exportAssetsAsync","JSON","stringify","createAssetMap","fileNames","Object","fromEntries","entries","asset","type","filename","createMetadataJson","exportServer","placeholderIndex","fs","existsSync","exportFromServerAsync","routerRoot","getRouterDirectoryModuleIdWithManifest","stopAsync","persistMetroFilesAsync"],"mappings":"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"}
@@ -9,42 +9,36 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- assetPatternsToBeBundled: function() {
13
- return assetPatternsToBeBundled;
14
- },
15
- exportAssetsAsync: function() {
16
- return exportAssetsAsync;
17
- },
18
- resolveAssetPatternsToBeBundled: function() {
19
- return resolveAssetPatternsToBeBundled;
20
- }
12
+ assetPatternsToBeBundled: ()=>assetPatternsToBeBundled,
13
+ resolveAssetPatternsToBeBundled: ()=>resolveAssetPatternsToBeBundled,
14
+ exportAssetsAsync: ()=>exportAssetsAsync
21
15
  });
22
16
  function _fs() {
23
- const data = /*#__PURE__*/ _interop_require_default(require("fs"));
17
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
24
18
  _fs = function() {
25
19
  return data;
26
20
  };
27
21
  return data;
28
22
  }
29
23
  function _minimatch() {
30
- const data = /*#__PURE__*/ _interop_require_default(require("minimatch"));
24
+ const data = /*#__PURE__*/ _interopRequireDefault(require("minimatch"));
31
25
  _minimatch = function() {
32
26
  return data;
33
27
  };
34
28
  return data;
35
29
  }
36
30
  function _path() {
37
- const data = /*#__PURE__*/ _interop_require_default(require("path"));
31
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
38
32
  _path = function() {
39
33
  return data;
40
34
  };
41
35
  return data;
42
36
  }
43
37
  const _persistMetroAssets = require("./persistMetroAssets");
44
- const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
38
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../log"));
45
39
  const _resolveAssets = require("../start/server/middleware/resolveAssets");
46
40
  const _array = require("../utils/array");
47
- function _interop_require_default(obj) {
41
+ function _interopRequireDefault(obj) {
48
42
  return obj && obj.__esModule ? obj : {
49
43
  default: obj
50
44
  };
@@ -57,7 +51,7 @@ function _getRequireWildcardCache(nodeInterop) {
57
51
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
58
52
  })(nodeInterop);
59
53
  }
60
- function _interop_require_wildcard(obj, nodeInterop) {
54
+ function _interopRequireWildcard(obj, nodeInterop) {
61
55
  if (!nodeInterop && obj && obj.__esModule) {
62
56
  return obj;
63
57
  }
@@ -70,9 +64,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
70
64
  if (cache && cache.has(obj)) {
71
65
  return cache.get(obj);
72
66
  }
73
- var newObj = {
74
- __proto__: null
75
- };
67
+ var newObj = {};
76
68
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
77
69
  for(var key in obj){
78
70
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -90,18 +82,18 @@ function _interop_require_wildcard(obj, nodeInterop) {
90
82
  }
91
83
  return newObj;
92
84
  }
93
- const debug = require('debug')('expo:export:exportAssets');
85
+ const debug = require("debug")("expo:export:exportAssets");
94
86
  function mapAssetHashToAssetString(asset, hash) {
95
- return 'asset_' + hash + ('type' in asset && asset.type ? '.' + asset.type : '');
87
+ return "asset_" + hash + ("type" in asset && asset.type ? "." + asset.type : "");
96
88
  }
97
89
  function assetPatternsToBeBundled(exp) {
98
- var _exp_updates_assetPatternsToBeBundled, _exp_updates, _exp_extra_updates_assetPatternsToBeBundled, _exp_extra_updates, _exp_extra;
90
+ var ref, ref1, ref2, ref3, ref4;
99
91
  // new location for this key
100
- if ((_exp_updates = exp.updates) == null ? void 0 : (_exp_updates_assetPatternsToBeBundled = _exp_updates.assetPatternsToBeBundled) == null ? void 0 : _exp_updates_assetPatternsToBeBundled.length) {
92
+ if ((ref = exp.updates) == null ? void 0 : (ref1 = ref.assetPatternsToBeBundled) == null ? void 0 : ref1.length) {
101
93
  return exp.updates.assetPatternsToBeBundled;
102
94
  }
103
95
  // old, untyped location for this key. we may want to change this to throw in a few SDK versions (deprecated as of SDK 52).
104
- if ((_exp_extra = exp.extra) == null ? void 0 : (_exp_extra_updates = _exp_extra.updates) == null ? void 0 : (_exp_extra_updates_assetPatternsToBeBundled = _exp_extra_updates.assetPatternsToBeBundled) == null ? void 0 : _exp_extra_updates_assetPatternsToBeBundled.length) {
96
+ if ((ref2 = exp.extra) == null ? void 0 : (ref3 = ref2.updates) == null ? void 0 : (ref4 = ref3.assetPatternsToBeBundled) == null ? void 0 : ref4.length) {
105
97
  return exp.extra.updates.assetPatternsToBeBundled;
106
98
  }
107
99
  return undefined;
@@ -135,8 +127,8 @@ function assetPatternsToBeBundled(exp) {
135
127
  const allBundledAssets = assets.map((asset)=>{
136
128
  const shouldBundle = shouldBundleAsset(asset, fullPatterns);
137
129
  if (shouldBundle) {
138
- var _asset_files;
139
- debug(`${shouldBundle ? 'Include' : 'Exclude'} asset ${(_asset_files = asset.files) == null ? void 0 : _asset_files[0]}`);
130
+ var ref;
131
+ debug(`${shouldBundle ? "Include" : "Exclude"} asset ${(ref = asset.files) == null ? void 0 : ref[0]}`);
140
132
  return asset.fileHashes.map((hash)=>mapAssetHashToAssetString(asset, hash));
141
133
  }
142
134
  return [];
@@ -155,23 +147,23 @@ function resolveAssetPatternsToBeBundled(projectRoot, exp, assets) {
155
147
  }
156
148
  function logPatterns(patterns) {
157
149
  // Only log the patterns in debug mode, if they aren't already defined in the app.json, then all files will be targeted.
158
- _log.log('\nProcessing asset bundle patterns:');
159
- patterns.forEach((p)=>_log.log('- ' + p));
150
+ _log.log("\nProcessing asset bundle patterns:");
151
+ patterns.forEach((p)=>_log.log("- " + p));
160
152
  }
161
153
  function shouldBundleAsset(asset, patterns) {
162
- var _asset_files;
163
- const file = (_asset_files = asset.files) == null ? void 0 : _asset_files[0];
164
- return !!('__packager_asset' in asset && asset.__packager_asset && file && patterns.some((pattern)=>(0, _minimatch().default)(file, pattern)));
154
+ var ref;
155
+ const file = (ref = asset.files) == null ? void 0 : ref[0];
156
+ return !!("__packager_asset" in asset && asset.__packager_asset && file && patterns.some((pattern)=>(0, _minimatch().default)(file, pattern)));
165
157
  }
166
- async function exportAssetsAsync(projectRoot, { exp, outputDir, bundles: { web, ...bundles }, baseUrl, files = new Map() }) {
167
- var _assets_;
158
+ async function exportAssetsAsync(projectRoot, { exp , outputDir , bundles: { web , ...bundles } , baseUrl , files =new Map() }) {
159
+ var ref;
168
160
  // NOTE: We use a different system for static web
169
161
  if (web) {
170
162
  // Save assets like a typical bundler, preserving the file paths on web.
171
163
  // TODO: Update React Native Web to support loading files from asset hashes.
172
164
  await (0, _persistMetroAssets.persistMetroAssetsAsync)(projectRoot, web.assets, {
173
165
  files,
174
- platform: 'web',
166
+ platform: "web",
175
167
  outputDirectory: outputDir,
176
168
  baseUrl
177
169
  });
@@ -180,7 +172,7 @@ async function exportAssetsAsync(projectRoot, { exp, outputDir, bundles: { web,
180
172
  let bundledAssetsSet = undefined;
181
173
  let filteredAssets = assets;
182
174
  const embeddedHashSet = new Set();
183
- if ((_assets_ = assets[0]) == null ? void 0 : _assets_.fileHashes) {
175
+ if ((ref = assets[0]) == null ? void 0 : ref.fileHashes) {
184
176
  debug(`Assets = ${JSON.stringify(assets, null, 2)}`);
185
177
  // Updates the manifest to reflect additional asset bundling + configs
186
178
  // Get only asset strings for assets we will save
@@ -207,7 +199,7 @@ async function exportAssetsAsync(projectRoot, { exp, outputDir, bundles: { web,
207
199
  const hash = asset.fileHashes[index];
208
200
  if (hashes.has(hash)) return;
209
201
  hashes.add(hash);
210
- files.set(_path().default.join('assets', hash), {
202
+ files.set(_path().default.join("assets", hash), {
211
203
  originFilename: _path().default.relative(projectRoot, fp),
212
204
  contents: _fs().default.readFileSync(fp),
213
205
  assetId