@expo/cli 0.22.25 → 0.22.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (724) hide show
  1. package/build/bin/cli +91 -93
  2. package/build/bin/cli.map +1 -1
  3. package/build/metro-require/require.js +52 -53
  4. package/build/src/api/endpoint.js +2 -6
  5. package/build/src/api/endpoint.js.map +1 -1
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +3 -5
  7. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  8. package/build/src/api/getExpoSchema.js +12 -16
  9. package/build/src/api/getExpoSchema.js.map +1 -1
  10. package/build/src/api/getNativeModuleVersions.js +4 -6
  11. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  12. package/build/src/api/getProjectDevelopmentCertificate.js +3 -5
  13. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  14. package/build/src/api/getVersions.js +5 -7
  15. package/build/src/api/getVersions.js.map +1 -1
  16. package/build/src/api/graphql/client.js +26 -32
  17. package/build/src/api/graphql/client.js.map +1 -1
  18. package/build/src/api/graphql/queries/AppQuery.js +4 -6
  19. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  20. package/build/src/api/graphql/queries/UserQuery.js +3 -5
  21. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  22. package/build/src/api/graphql/types/App.js +1 -3
  23. package/build/src/api/graphql/types/App.js.map +1 -1
  24. package/build/src/api/rest/cache/FileSystemResponseCache.js +8 -10
  25. package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
  26. package/build/src/api/rest/cache/ResponseCache.js +12 -20
  27. package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +11 -13
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  30. package/build/src/api/rest/client.js +35 -53
  31. package/build/src/api/rest/client.js.map +1 -1
  32. package/build/src/api/rest/client.types.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithBaseUrl.js +3 -5
  34. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithOffline.js +3 -5
  36. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProgress.js +7 -11
  38. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  39. package/build/src/api/rest/wrapFetchWithProxy.js +3 -5
  40. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  41. package/build/src/api/rest/wrapFetchWithUserAgent.js +6 -8
  42. package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
  43. package/build/src/api/settings.js +5 -7
  44. package/build/src/api/settings.js.map +1 -1
  45. package/build/src/api/updateDevelopmentSession.js +17 -23
  46. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  47. package/build/src/api/user/UserSettings.js +21 -39
  48. package/build/src/api/user/UserSettings.js.map +1 -1
  49. package/build/src/api/user/actions.js +21 -27
  50. package/build/src/api/user/actions.js.map +1 -1
  51. package/build/src/api/user/expoSsoLauncher.js +26 -30
  52. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  53. package/build/src/api/user/otp.js +29 -35
  54. package/build/src/api/user/otp.js.map +1 -1
  55. package/build/src/api/user/user.js +30 -44
  56. package/build/src/api/user/user.js.map +1 -1
  57. package/build/src/config/configAsync.js +23 -29
  58. package/build/src/config/configAsync.js.map +1 -1
  59. package/build/src/config/index.js +21 -25
  60. package/build/src/config/index.js.map +1 -1
  61. package/build/src/customize/customizeAsync.js +6 -8
  62. package/build/src/customize/customizeAsync.js.map +1 -1
  63. package/build/src/customize/generate.js +16 -20
  64. package/build/src/customize/generate.js.map +1 -1
  65. package/build/src/customize/index.js +12 -14
  66. package/build/src/customize/index.js.map +1 -1
  67. package/build/src/customize/resolveOptions.js +2 -4
  68. package/build/src/customize/resolveOptions.js.map +1 -1
  69. package/build/src/customize/templates.js +54 -58
  70. package/build/src/customize/templates.js.map +1 -1
  71. package/build/src/customize/typescript.js +7 -11
  72. package/build/src/customize/typescript.js.map +1 -1
  73. package/build/src/export/createMetadataJson.js +9 -11
  74. package/build/src/export/createMetadataJson.js.map +1 -1
  75. package/build/src/export/embed/exportEager.js +6 -8
  76. package/build/src/export/embed/exportEager.js.map +1 -1
  77. package/build/src/export/embed/exportEmbedAsync.js +61 -71
  78. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  79. package/build/src/export/embed/exportServer.js +55 -57
  80. package/build/src/export/embed/exportServer.js.map +1 -1
  81. package/build/src/export/embed/index.js +40 -44
  82. package/build/src/export/embed/index.js.map +1 -1
  83. package/build/src/export/embed/resolveOptions.js +36 -44
  84. package/build/src/export/embed/resolveOptions.js.map +1 -1
  85. package/build/src/export/embed/xcodeCompilerLogger.js +27 -39
  86. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  87. package/build/src/export/exportApp.js +63 -67
  88. package/build/src/export/exportApp.js.map +1 -1
  89. package/build/src/export/exportAssets.js +27 -35
  90. package/build/src/export/exportAssets.js.map +1 -1
  91. package/build/src/export/exportAsync.js +9 -13
  92. package/build/src/export/exportAsync.js.map +1 -1
  93. package/build/src/export/exportDomComponents.js +45 -53
  94. package/build/src/export/exportDomComponents.js.map +1 -1
  95. package/build/src/export/exportHermes.js +63 -85
  96. package/build/src/export/exportHermes.js.map +1 -1
  97. package/build/src/export/exportStaticAsync.js +62 -72
  98. package/build/src/export/exportStaticAsync.js.map +1 -1
  99. package/build/src/export/favicon.js +27 -33
  100. package/build/src/export/favicon.js.map +1 -1
  101. package/build/src/export/getPublicExpoManifest.js +5 -7
  102. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  103. package/build/src/export/getResolvedLocales.js +9 -11
  104. package/build/src/export/getResolvedLocales.js.map +1 -1
  105. package/build/src/export/html.js +6 -10
  106. package/build/src/export/html.js.map +1 -1
  107. package/build/src/export/index.js +28 -32
  108. package/build/src/export/index.js.map +1 -1
  109. package/build/src/export/metroAssetLocalPath.js +30 -36
  110. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  111. package/build/src/export/persistMetroAssets.js +34 -42
  112. package/build/src/export/persistMetroAssets.js.map +1 -1
  113. package/build/src/export/publicFolder.js +6 -10
  114. package/build/src/export/publicFolder.js.map +1 -1
  115. package/build/src/export/resolveOptions.js +24 -28
  116. package/build/src/export/resolveOptions.js.map +1 -1
  117. package/build/src/export/saveAssets.js +46 -50
  118. package/build/src/export/saveAssets.js.map +1 -1
  119. package/build/src/export/web/exportWebAsync.js +11 -13
  120. package/build/src/export/web/exportWebAsync.js.map +1 -1
  121. package/build/src/export/web/index.js +15 -19
  122. package/build/src/export/web/index.js.map +1 -1
  123. package/build/src/export/web/resolveOptions.js +3 -5
  124. package/build/src/export/web/resolveOptions.js.map +1 -1
  125. package/build/src/export/writeContents.js +2 -4
  126. package/build/src/export/writeContents.js.map +1 -1
  127. package/build/src/graphql/generated.js +274 -400
  128. package/build/src/graphql/generated.js.map +1 -1
  129. package/build/src/install/applyPlugins.js +8 -11
  130. package/build/src/install/applyPlugins.js.map +1 -1
  131. package/build/src/install/checkPackages.js +22 -26
  132. package/build/src/install/checkPackages.js.map +1 -1
  133. package/build/src/install/fixPackages.js +13 -17
  134. package/build/src/install/fixPackages.js.map +1 -1
  135. package/build/src/install/index.js +16 -18
  136. package/build/src/install/index.js.map +1 -1
  137. package/build/src/install/installAsync.js +26 -32
  138. package/build/src/install/installAsync.js.map +1 -1
  139. package/build/src/install/installExpoPackage.js +18 -22
  140. package/build/src/install/installExpoPackage.js.map +1 -1
  141. package/build/src/install/resolveOptions.js +19 -21
  142. package/build/src/install/resolveOptions.js.map +1 -1
  143. package/build/src/install/utils/autoAddConfigPlugins.js +14 -18
  144. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  145. package/build/src/install/utils/checkPackagesCompatibility.js +11 -13
  146. package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
  147. package/build/src/install/utils/parsePackageSpecifier.js +22 -0
  148. package/build/src/install/utils/parsePackageSpecifier.js.map +1 -0
  149. package/build/src/lint/ESlintPrerequisite.js +44 -50
  150. package/build/src/lint/ESlintPrerequisite.js.map +1 -1
  151. package/build/src/lint/index.js +8 -12
  152. package/build/src/lint/index.js.map +1 -1
  153. package/build/src/lint/lintAsync.js +8 -10
  154. package/build/src/lint/lintAsync.js.map +1 -1
  155. package/build/src/log.js +16 -36
  156. package/build/src/log.js.map +1 -1
  157. package/build/src/login/index.js +20 -24
  158. package/build/src/login/index.js.map +1 -1
  159. package/build/src/logout/index.js +7 -11
  160. package/build/src/logout/index.js.map +1 -1
  161. package/build/src/prebuild/clearNativeFolder.js +26 -38
  162. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  163. package/build/src/prebuild/configureProjectAsync.js +14 -18
  164. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  165. package/build/src/prebuild/copyTemplateFiles.js +13 -17
  166. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  167. package/build/src/prebuild/ensureConfigAsync.js +4 -6
  168. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  169. package/build/src/prebuild/index.js +32 -36
  170. package/build/src/prebuild/index.js.map +1 -1
  171. package/build/src/prebuild/prebuildAsync.js +25 -29
  172. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  173. package/build/src/prebuild/renameTemplateAppName.js +40 -46
  174. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  175. package/build/src/prebuild/resolveOptions.js +52 -66
  176. package/build/src/prebuild/resolveOptions.js.map +1 -1
  177. package/build/src/prebuild/resolveTemplate.js +32 -36
  178. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  179. package/build/src/prebuild/updateFromTemplate.js +13 -19
  180. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  181. package/build/src/prebuild/updatePackageJson.js +39 -53
  182. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  183. package/build/src/prebuild/validateTemplatePlatforms.js +8 -12
  184. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  185. package/build/src/register/index.js +7 -11
  186. package/build/src/register/index.js.map +1 -1
  187. package/build/src/register/registerAsync.js +3 -5
  188. package/build/src/register/registerAsync.js.map +1 -1
  189. package/build/src/run/android/index.js +32 -36
  190. package/build/src/run/android/index.js.map +1 -1
  191. package/build/src/run/android/resolveDevice.js +8 -10
  192. package/build/src/run/android/resolveDevice.js.map +1 -1
  193. package/build/src/run/android/resolveGradlePropsAsync.js +16 -18
  194. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  195. package/build/src/run/android/resolveInstallApkName.js +15 -17
  196. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  197. package/build/src/run/android/resolveLaunchProps.js +10 -12
  198. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  199. package/build/src/run/android/resolveOptions.js +2 -4
  200. package/build/src/run/android/resolveOptions.js.map +1 -1
  201. package/build/src/run/android/runAndroidAsync.js +21 -23
  202. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  203. package/build/src/run/ensureNativeProject.js +5 -7
  204. package/build/src/run/ensureNativeProject.js.map +1 -1
  205. package/build/src/run/hints.js +7 -13
  206. package/build/src/run/hints.js.map +1 -1
  207. package/build/src/run/index.js +23 -27
  208. package/build/src/run/index.js.map +1 -1
  209. package/build/src/run/ios/XcodeBuild.js +56 -74
  210. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  211. package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
  212. package/build/src/run/ios/appleDevice/AppleDevice.js +63 -69
  213. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  214. package/build/src/run/ios/appleDevice/ClientManager.js +26 -29
  215. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  216. package/build/src/run/ios/appleDevice/client/AFCClient.js +25 -28
  217. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  218. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +26 -29
  219. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  220. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -22
  221. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  222. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +29 -32
  223. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  224. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +24 -28
  225. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  226. package/build/src/run/ios/appleDevice/client/ServiceClient.js +4 -7
  227. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  228. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +27 -28
  229. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  230. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +17 -23
  231. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  232. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +132 -146
  233. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  234. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +21 -29
  235. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  236. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +21 -29
  237. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  238. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +22 -34
  239. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  240. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +17 -27
  241. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  242. package/build/src/run/ios/codeSigning/Security.js +39 -53
  243. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  244. package/build/src/run/ios/codeSigning/configureCodeSigning.js +9 -13
  245. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  246. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +19 -27
  247. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  248. package/build/src/run/ios/codeSigning/settings.js +5 -9
  249. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  250. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +12 -14
  251. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  252. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +21 -27
  253. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  254. package/build/src/run/ios/index.js +36 -40
  255. package/build/src/run/ios/index.js.map +1 -1
  256. package/build/src/run/ios/launchApp.js +17 -23
  257. package/build/src/run/ios/launchApp.js.map +1 -1
  258. package/build/src/run/ios/options/appleDestinations.js +36 -38
  259. package/build/src/run/ios/options/appleDestinations.js.map +1 -1
  260. package/build/src/run/ios/options/promptDevice.js +16 -20
  261. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  262. package/build/src/run/ios/options/resolveDevice.js +24 -30
  263. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  264. package/build/src/run/ios/options/resolveNativeScheme.js +23 -31
  265. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  266. package/build/src/run/ios/options/resolveOptions.js +5 -7
  267. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  268. package/build/src/run/ios/options/resolveXcodeProject.js +5 -7
  269. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  270. package/build/src/run/ios/runIosAsync.js +44 -48
  271. package/build/src/run/ios/runIosAsync.js.map +1 -1
  272. package/build/src/run/ios/validateExternalBinary.js +22 -24
  273. package/build/src/run/ios/validateExternalBinary.js.map +1 -1
  274. package/build/src/run/resolveBundlerProps.js +2 -4
  275. package/build/src/run/resolveBundlerProps.js.map +1 -1
  276. package/build/src/run/startBundler.js +12 -16
  277. package/build/src/run/startBundler.js.map +1 -1
  278. package/build/src/serve/index.js +16 -20
  279. package/build/src/serve/index.js.map +1 -1
  280. package/build/src/serve/serveAsync.js +32 -36
  281. package/build/src/serve/serveAsync.js.map +1 -1
  282. package/build/src/start/detectDevClient.js +9 -13
  283. package/build/src/start/detectDevClient.js.map +1 -1
  284. package/build/src/start/doctor/Prerequisite.js +7 -12
  285. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  286. package/build/src/start/doctor/SecurityBinPrerequisite.js +11 -13
  287. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  288. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +19 -23
  289. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  290. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +19 -23
  291. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  292. package/build/src/start/doctor/apple/XcodePrerequisite.js +45 -51
  293. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  294. package/build/src/start/doctor/apple/XcrunPrerequisite.js +16 -18
  295. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  296. package/build/src/start/doctor/dependencies/bundledNativeModules.js +19 -23
  297. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  298. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +25 -31
  299. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  300. package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -25
  301. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  302. package/build/src/start/doctor/dependencies/getVersionedPackages.js +32 -40
  303. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  304. package/build/src/start/doctor/dependencies/resolvePackages.js +26 -32
  305. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  306. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +31 -41
  307. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  308. package/build/src/start/doctor/ngrok/ExternalModule.js +29 -34
  309. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  310. package/build/src/start/doctor/ngrok/NgrokResolver.js +8 -12
  311. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  312. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +28 -32
  313. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  314. package/build/src/start/doctor/typescript/updateTSConfig.js +17 -23
  315. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  316. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +27 -33
  317. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  318. package/build/src/start/index.js +42 -46
  319. package/build/src/start/index.js.map +1 -1
  320. package/build/src/start/interface/KeyPressHandler.js +14 -18
  321. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  322. package/build/src/start/interface/commandsTable.js +80 -94
  323. package/build/src/start/interface/commandsTable.js.map +1 -1
  324. package/build/src/start/interface/interactiveActions.js +40 -44
  325. package/build/src/start/interface/interactiveActions.js.map +1 -1
  326. package/build/src/start/interface/startInterface.js +61 -65
  327. package/build/src/start/interface/startInterface.js.map +1 -1
  328. package/build/src/start/platforms/AppIdResolver.js +4 -6
  329. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  330. package/build/src/start/platforms/DeviceManager.js +6 -10
  331. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  332. package/build/src/start/platforms/ExpoGoInstaller.js +20 -25
  333. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  334. package/build/src/start/platforms/PlatformManager.js +15 -17
  335. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  336. package/build/src/start/platforms/android/ADBServer.js +35 -39
  337. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  338. package/build/src/start/platforms/android/AndroidAppIdResolver.js +16 -18
  339. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  340. package/build/src/start/platforms/android/AndroidDeviceManager.js +20 -24
  341. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  342. package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
  343. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  344. package/build/src/start/platforms/android/AndroidSdk.js +9 -11
  345. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  346. package/build/src/start/platforms/android/activateWindow.js +22 -26
  347. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  348. package/build/src/start/platforms/android/adb.js +83 -121
  349. package/build/src/start/platforms/android/adb.js.map +1 -1
  350. package/build/src/start/platforms/android/adbReverse.js +12 -20
  351. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  352. package/build/src/start/platforms/android/emulator.js +26 -36
  353. package/build/src/start/platforms/android/emulator.js.map +1 -1
  354. package/build/src/start/platforms/android/getDevices.js +5 -7
  355. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  356. package/build/src/start/platforms/android/gradle.js +28 -36
  357. package/build/src/start/platforms/android/gradle.js.map +1 -1
  358. package/build/src/start/platforms/android/promptAndroidDevice.js +15 -19
  359. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  360. package/build/src/start/platforms/ios/AppleAppIdResolver.js +19 -21
  361. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  362. package/build/src/start/platforms/ios/AppleDeviceManager.js +31 -37
  363. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  364. package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
  365. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  366. package/build/src/start/platforms/ios/assertSystemRequirements.js +7 -9
  367. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  368. package/build/src/start/platforms/ios/devicectl.js +73 -87
  369. package/build/src/start/platforms/ios/devicectl.js.map +1 -1
  370. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +18 -22
  371. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  372. package/build/src/start/platforms/ios/getBestSimulator.js +19 -29
  373. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  374. package/build/src/start/platforms/ios/promptAppleDevice.js +10 -14
  375. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  376. package/build/src/start/platforms/ios/simctl.js +74 -102
  377. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  378. package/build/src/start/platforms/ios/simctlLogging.js +52 -57
  379. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  380. package/build/src/start/platforms/ios/xcrun.js +18 -22
  381. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  382. package/build/src/start/project/devices.js +9 -19
  383. package/build/src/start/project/devices.js.map +1 -1
  384. package/build/src/start/project/dotExpo.js +11 -15
  385. package/build/src/start/project/dotExpo.js.map +1 -1
  386. package/build/src/start/project/settings.js +2 -4
  387. package/build/src/start/project/settings.js.map +1 -1
  388. package/build/src/start/resolveOptions.js +40 -48
  389. package/build/src/start/resolveOptions.js.map +1 -1
  390. package/build/src/start/server/AsyncNgrok.js +51 -55
  391. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  392. package/build/src/start/server/AsyncWsTunnel.js +36 -40
  393. package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
  394. package/build/src/start/server/BundlerDevServer.js +79 -81
  395. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  396. package/build/src/start/server/DevServerManager.js +38 -42
  397. package/build/src/start/server/DevServerManager.js.map +1 -1
  398. package/build/src/start/server/DevToolsPluginManager.js +14 -18
  399. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  400. package/build/src/start/server/DevelopmentSession.js +14 -18
  401. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  402. package/build/src/start/server/ReactDevToolsProxy.js +10 -16
  403. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  404. package/build/src/start/server/UrlCreator.js +33 -36
  405. package/build/src/start/server/UrlCreator.js.map +1 -1
  406. package/build/src/start/server/getStaticRenderFunctions.js +21 -29
  407. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  408. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +4 -6
  409. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
  410. package/build/src/start/server/metro/MetroBundlerDevServer.js +275 -269
  411. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  412. package/build/src/start/server/metro/MetroTerminalReporter.js +56 -63
  413. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  414. package/build/src/start/server/metro/TerminalReporter.js +33 -39
  415. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  416. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  417. package/build/src/start/server/metro/createExpoMetroResolver.js +40 -46
  418. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  419. package/build/src/start/server/metro/createJResolver.js +28 -32
  420. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  421. package/build/src/start/server/metro/createServerComponentsMiddleware.js +92 -96
  422. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  423. package/build/src/start/server/metro/createServerRouteMiddleware.js +30 -32
  424. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  425. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +11 -13
  426. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
  427. package/build/src/start/server/metro/debugging/MessageHandler.js +1 -3
  428. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  429. package/build/src/start/server/metro/debugging/attachAtlas.js +22 -26
  430. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
  431. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +17 -19
  432. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  433. package/build/src/start/server/metro/debugging/createHandlersFactory.js +31 -25
  434. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  435. package/build/src/start/server/metro/debugging/getDebuggerType.js +4 -6
  436. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  437. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +8 -14
  438. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  439. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +5 -7
  440. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  441. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +6 -8
  442. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  443. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +5 -7
  444. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  445. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +12 -14
  446. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
  447. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +10 -14
  448. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  449. package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -6
  450. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  451. package/build/src/start/server/metro/debugging/types.js.map +1 -1
  452. package/build/src/start/server/metro/dev-server/createEventSocket.js +16 -18
  453. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
  454. package/build/src/start/server/metro/dev-server/createMessageSocket.js +21 -23
  455. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
  456. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +21 -23
  457. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
  458. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +2 -4
  459. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
  460. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +2 -4
  461. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
  462. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +4 -8
  463. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
  464. package/build/src/start/server/metro/externals.js +25 -33
  465. package/build/src/start/server/metro/externals.js.map +1 -1
  466. package/build/src/start/server/metro/fetchRouterManifest.js +12 -16
  467. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  468. package/build/src/start/server/metro/formatFileCandidates.js +9 -11
  469. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  470. package/build/src/start/server/metro/getCssModulesFromBundler.js +18 -22
  471. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  472. package/build/src/start/server/metro/instantiateMetro.js +79 -85
  473. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  474. package/build/src/start/server/metro/log-box/LogBoxLog.js +36 -40
  475. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
  476. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +14 -20
  477. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
  478. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +6 -10
  479. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
  480. package/build/src/start/server/metro/metroErrorInterface.js +78 -88
  481. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  482. package/build/src/start/server/metro/metroErrors.js +4 -8
  483. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  484. package/build/src/start/server/metro/metroPrivateServer.js +7 -9
  485. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
  486. package/build/src/start/server/metro/metroVirtualModules.js +8 -10
  487. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  488. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +22 -24
  489. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  490. package/build/src/start/server/metro/router.js +32 -48
  491. package/build/src/start/server/metro/router.js.map +1 -1
  492. package/build/src/start/server/metro/runServer-fork.js +22 -24
  493. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  494. package/build/src/start/server/metro/serializeHtml.js +22 -24
  495. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  496. package/build/src/start/server/metro/symbolicate.js.map +1 -1
  497. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +29 -35
  498. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  499. package/build/src/start/server/metro/withMetroMultiPlatform.js +139 -149
  500. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  501. package/build/src/start/server/metro/withMetroResolvers.js +39 -49
  502. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  503. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +6 -8
  504. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  505. package/build/src/start/server/middleware/CorsMiddleware.js +15 -17
  506. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  507. package/build/src/start/server/middleware/CreateFileMiddleware.js +90 -52
  508. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  509. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +19 -22
  510. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  511. package/build/src/start/server/middleware/DomComponentsMiddleware.js +27 -33
  512. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  513. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +60 -64
  514. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  515. package/build/src/start/server/middleware/ExpoMiddleware.js +9 -15
  516. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  517. package/build/src/start/server/middleware/FaviconMiddleware.js +14 -15
  518. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  519. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +2 -4
  520. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  521. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +31 -34
  522. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  523. package/build/src/start/server/middleware/ManifestMiddleware.js +56 -64
  524. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  525. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +19 -23
  526. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  527. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +19 -20
  528. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  529. package/build/src/start/server/middleware/ServeStaticMiddleware.js +9 -11
  530. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  531. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +11 -17
  532. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
  533. package/build/src/start/server/middleware/inspector/CdpClient.js +10 -12
  534. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
  535. package/build/src/start/server/middleware/inspector/JsInspector.js +27 -35
  536. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  537. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +19 -21
  538. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  539. package/build/src/start/server/middleware/inspector/middlwareMutations.js +2 -6
  540. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  541. package/build/src/start/server/middleware/metroOptions.js +96 -120
  542. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  543. package/build/src/start/server/middleware/mutations.js +3 -7
  544. package/build/src/start/server/middleware/mutations.js.map +1 -1
  545. package/build/src/start/server/middleware/resolveAssets.js +18 -26
  546. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  547. package/build/src/start/server/middleware/resolvePlatform.js +15 -23
  548. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  549. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +9 -11
  550. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
  551. package/build/src/start/server/middleware/server.types.js.map +1 -1
  552. package/build/src/start/server/openPlatforms.js +8 -10
  553. package/build/src/start/server/openPlatforms.js.map +1 -1
  554. package/build/src/start/server/platformBundlers.js +11 -13
  555. package/build/src/start/server/platformBundlers.js.map +1 -1
  556. package/build/src/start/server/serverLogLikeMetro.js +50 -58
  557. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  558. package/build/src/start/server/type-generation/expo-env.js +7 -11
  559. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  560. package/build/src/start/server/type-generation/routes.js +54 -76
  561. package/build/src/start/server/type-generation/routes.js.map +1 -1
  562. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +19 -21
  563. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  564. package/build/src/start/server/type-generation/tsconfig.js +28 -36
  565. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  566. package/build/src/start/server/webTemplate.js +24 -28
  567. package/build/src/start/server/webTemplate.js.map +1 -1
  568. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +46 -52
  569. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  570. package/build/src/start/server/webpack/compile.js +11 -15
  571. package/build/src/start/server/webpack/compile.js.map +1 -1
  572. package/build/src/start/server/webpack/formatWebpackMessages.js +26 -28
  573. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  574. package/build/src/start/server/webpack/resolveFromProject.js +12 -18
  575. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  576. package/build/src/start/server/webpack/tls.js +12 -18
  577. package/build/src/start/server/webpack/tls.js.map +1 -1
  578. package/build/src/start/startAsync.js +27 -31
  579. package/build/src/start/startAsync.js.map +1 -1
  580. package/build/src/utils/FileNotifier.js +17 -20
  581. package/build/src/utils/FileNotifier.js.map +1 -1
  582. package/build/src/utils/ansi.js +5 -7
  583. package/build/src/utils/ansi.js.map +1 -1
  584. package/build/src/utils/args.js +14 -24
  585. package/build/src/utils/args.js.map +1 -1
  586. package/build/src/utils/array.js +6 -18
  587. package/build/src/utils/array.js.map +1 -1
  588. package/build/src/utils/cocoapods.js +46 -54
  589. package/build/src/utils/cocoapods.js.map +1 -1
  590. package/build/src/utils/codesigning.js +68 -78
  591. package/build/src/utils/codesigning.js.map +1 -1
  592. package/build/src/utils/createFileTransform.js +12 -16
  593. package/build/src/utils/createFileTransform.js.map +1 -1
  594. package/build/src/utils/createTempPath.js +13 -17
  595. package/build/src/utils/createTempPath.js.map +1 -1
  596. package/build/src/utils/delay.js +6 -12
  597. package/build/src/utils/delay.js.map +1 -1
  598. package/build/src/utils/dir.js +28 -46
  599. package/build/src/utils/dir.js.map +1 -1
  600. package/build/src/utils/downloadAppAsync.js +8 -10
  601. package/build/src/utils/downloadAppAsync.js.map +1 -1
  602. package/build/src/utils/downloadExpoGoAsync.js +21 -25
  603. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  604. package/build/src/utils/editor.js +35 -41
  605. package/build/src/utils/editor.js.map +1 -1
  606. package/build/src/utils/env.js +59 -63
  607. package/build/src/utils/env.js.map +1 -1
  608. package/build/src/utils/errors.js +30 -37
  609. package/build/src/utils/errors.js.map +1 -1
  610. package/build/src/utils/exit.js +31 -35
  611. package/build/src/utils/exit.js.map +1 -1
  612. package/build/src/utils/expoUpdatesCli.js +22 -32
  613. package/build/src/utils/expoUpdatesCli.js.map +1 -1
  614. package/build/src/utils/fetch.js +4 -8
  615. package/build/src/utils/fetch.js.map +1 -1
  616. package/build/src/utils/filePath.js +6 -10
  617. package/build/src/utils/filePath.js.map +1 -1
  618. package/build/src/utils/findUp.js +9 -13
  619. package/build/src/utils/findUp.js.map +1 -1
  620. package/build/src/utils/fn.js +2 -6
  621. package/build/src/utils/fn.js.map +1 -1
  622. package/build/src/utils/getOrPromptApplicationId.js +26 -32
  623. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  624. package/build/src/utils/getRunningProcess.js +21 -29
  625. package/build/src/utils/getRunningProcess.js.map +1 -1
  626. package/build/src/utils/git.js +20 -26
  627. package/build/src/utils/git.js.map +1 -1
  628. package/build/src/utils/glob.js +4 -8
  629. package/build/src/utils/glob.js.map +1 -1
  630. package/build/src/utils/interactive.js +1 -3
  631. package/build/src/utils/interactive.js.map +1 -1
  632. package/build/src/utils/ip.js +19 -21
  633. package/build/src/utils/ip.js.map +1 -1
  634. package/build/src/utils/isModuleSymlinked.js +9 -11
  635. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  636. package/build/src/utils/jsonSchemaDeref.js +18 -20
  637. package/build/src/utils/jsonSchemaDeref.js.map +1 -1
  638. package/build/src/utils/link.js +13 -17
  639. package/build/src/utils/link.js.map +1 -1
  640. package/build/src/utils/mergeGitIgnorePaths.js +28 -46
  641. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  642. package/build/src/utils/modifyConfigAsync.js +10 -16
  643. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  644. package/build/src/utils/modifyConfigPlugins.js +6 -10
  645. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  646. package/build/src/utils/nodeEnv.js +6 -12
  647. package/build/src/utils/nodeEnv.js.map +1 -1
  648. package/build/src/utils/nodeModules.js +8 -10
  649. package/build/src/utils/nodeModules.js.map +1 -1
  650. package/build/src/utils/npm.js +36 -50
  651. package/build/src/utils/npm.js.map +1 -1
  652. package/build/src/utils/obj.js +5 -11
  653. package/build/src/utils/obj.js.map +1 -1
  654. package/build/src/utils/open.js +8 -10
  655. package/build/src/utils/open.js.map +1 -1
  656. package/build/src/utils/ora.js +7 -13
  657. package/build/src/utils/ora.js.map +1 -1
  658. package/build/src/utils/plist.js +15 -21
  659. package/build/src/utils/plist.js.map +1 -1
  660. package/build/src/utils/port.js +33 -43
  661. package/build/src/utils/port.js.map +1 -1
  662. package/build/src/utils/profile.js +7 -11
  663. package/build/src/utils/profile.js.map +1 -1
  664. package/build/src/utils/progress.js +5 -11
  665. package/build/src/utils/progress.js.map +1 -1
  666. package/build/src/utils/prompts.js +29 -47
  667. package/build/src/utils/prompts.js.map +1 -1
  668. package/build/src/utils/resolveArgs.js +24 -36
  669. package/build/src/utils/resolveArgs.js.map +1 -1
  670. package/build/src/utils/scheme.js +32 -40
  671. package/build/src/utils/scheme.js.map +1 -1
  672. package/build/src/utils/stream.js +3 -5
  673. package/build/src/utils/stream.js.map +1 -1
  674. package/build/src/utils/strings.js +4 -6
  675. package/build/src/utils/strings.js.map +1 -1
  676. package/build/src/utils/tar.js +15 -19
  677. package/build/src/utils/tar.js.map +1 -1
  678. package/build/src/utils/telemetry/Telemetry.js +27 -29
  679. package/build/src/utils/telemetry/Telemetry.js.map +1 -1
  680. package/build/src/utils/telemetry/clients/FetchClient.js +13 -15
  681. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
  682. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +22 -26
  683. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
  684. package/build/src/utils/telemetry/clients/RudderClient.js +8 -10
  685. package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
  686. package/build/src/utils/telemetry/clients/RudderDetachedClient.js +22 -26
  687. package/build/src/utils/telemetry/clients/RudderDetachedClient.js.map +1 -1
  688. package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
  689. package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
  690. package/build/src/utils/telemetry/clients/flushRudderDetached.js +10 -10
  691. package/build/src/utils/telemetry/clients/flushRudderDetached.js.map +1 -1
  692. package/build/src/utils/telemetry/events.js +2 -4
  693. package/build/src/utils/telemetry/events.js.map +1 -1
  694. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  695. package/build/src/utils/telemetry/index.js +29 -25
  696. package/build/src/utils/telemetry/index.js.map +1 -1
  697. package/build/src/utils/telemetry/types.js.map +1 -1
  698. package/build/src/utils/telemetry/utils/constants.js +4 -8
  699. package/build/src/utils/telemetry/utils/constants.js.map +1 -1
  700. package/build/src/utils/telemetry/utils/context.js +14 -18
  701. package/build/src/utils/telemetry/utils/context.js.map +1 -1
  702. package/build/src/utils/template.js +4 -6
  703. package/build/src/utils/template.js.map +1 -1
  704. package/build/src/utils/terminal.js +2 -4
  705. package/build/src/utils/terminal.js.map +1 -1
  706. package/build/src/utils/tsconfig/evaluateTsConfig.js +17 -21
  707. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  708. package/build/src/utils/tsconfig/loadTsConfigPaths.js +14 -18
  709. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  710. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +5 -7
  711. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  712. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -14
  713. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  714. package/build/src/utils/url.js +13 -23
  715. package/build/src/utils/url.js.map +1 -1
  716. package/build/src/utils/validateApplicationId.js +86 -108
  717. package/build/src/utils/validateApplicationId.js.map +1 -1
  718. package/build/src/utils/variadic.js +16 -22
  719. package/build/src/utils/variadic.js.map +1 -1
  720. package/build/src/whoami/index.js +7 -11
  721. package/build/src/whoami/index.js.map +1 -1
  722. package/build/src/whoami/whoamiAsync.js +7 -11
  723. package/build/src/whoami/whoamiAsync.js.map +1 -1
  724. package/package.json +3 -3
@@ -14,24 +14,14 @@ function _export(target, all) {
14
14
  });
15
15
  }
16
16
  _export(exports, {
17
- exportApiRoutesStandaloneAsync: function() {
18
- return exportApiRoutesStandaloneAsync;
19
- },
20
- exportFromServerAsync: function() {
21
- return exportFromServerAsync;
22
- },
23
- getFilesToExportFromServerAsync: function() {
24
- return getFilesToExportFromServerAsync;
25
- },
26
- getHtmlFiles: function() {
27
- return getHtmlFiles;
28
- },
29
- getPathVariations: function() {
30
- return getPathVariations;
31
- }
17
+ getFilesToExportFromServerAsync: ()=>getFilesToExportFromServerAsync,
18
+ exportFromServerAsync: ()=>exportFromServerAsync,
19
+ getHtmlFiles: ()=>getHtmlFiles,
20
+ getPathVariations: ()=>getPathVariations,
21
+ exportApiRoutesStandaloneAsync: ()=>exportApiRoutesStandaloneAsync
32
22
  });
33
23
  function _chalk() {
34
- const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
24
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
35
25
  _chalk = function() {
36
26
  return data;
37
27
  };
@@ -45,15 +35,15 @@ function _matchers() {
45
35
  return data;
46
36
  }
47
37
  function _path() {
48
- const data = /*#__PURE__*/ _interop_require_default(require("path"));
38
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
49
39
  _path = function() {
50
40
  return data;
51
41
  };
52
42
  return data;
53
43
  }
54
- function _resolvefrom() {
55
- const data = /*#__PURE__*/ _interop_require_default(require("resolve-from"));
56
- _resolvefrom = function() {
44
+ function _resolveFrom() {
45
+ const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
46
+ _resolveFrom = function() {
57
47
  return data;
58
48
  };
59
49
  return data;
@@ -73,29 +63,29 @@ const _metroErrorInterface = require("../start/server/metro/metroErrorInterface"
73
63
  const _router = require("../start/server/metro/router");
74
64
  const _serializeHtml = require("../start/server/metro/serializeHtml");
75
65
  const _link = require("../utils/link");
76
- function _interop_require_default(obj) {
66
+ function _interopRequireDefault(obj) {
77
67
  return obj && obj.__esModule ? obj : {
78
68
  default: obj
79
69
  };
80
70
  }
81
- const debug = require('debug')('expo:export:generateStaticRoutes');
71
+ const debug = require("debug")("expo:export:generateStaticRoutes");
82
72
  /** Match `(page)` -> `page` */ function matchGroupName(name) {
83
- var _name_match;
84
- return (_name_match = name.match(/^\(([^/]+?)\)$/)) == null ? void 0 : _name_match[1];
73
+ var ref;
74
+ return (ref = name.match(/^\(([^/]+?)\)$/)) == null ? void 0 : ref[1];
85
75
  }
86
- async function getFilesToExportFromServerAsync(projectRoot, { manifest, renderAsync, // Servers can handle group routes automatically and therefore
76
+ async function getFilesToExportFromServerAsync(projectRoot, { manifest , renderAsync , // Servers can handle group routes automatically and therefore
87
77
  // don't require the build-time generation of every possible group
88
78
  // variation.
89
- exportServer, // name : contents
90
- files = new Map() }) {
79
+ exportServer , // name : contents
80
+ files =new Map() }) {
91
81
  await Promise.all(getHtmlFiles({
92
82
  manifest,
93
83
  includeGroupVariations: !exportServer
94
- }).map(async ({ route, filePath, pathname })=>{
84
+ }).map(async ({ route , filePath , pathname })=>{
95
85
  try {
96
- const targetDomain = exportServer ? 'server' : 'client';
86
+ const targetDomain = exportServer ? "server" : "client";
97
87
  files.set(filePath, {
98
- contents: '',
88
+ contents: "",
99
89
  targetDomain
100
90
  });
101
91
  const data = await renderAsync({
@@ -113,7 +103,7 @@ files = new Map() }) {
113
103
  error: e,
114
104
  projectRoot
115
105
  });
116
- throw new Error('Failed to statically export route: ' + pathname);
106
+ throw new Error("Failed to statically export route: " + pathname);
117
107
  }
118
108
  }));
119
109
  return files;
@@ -121,7 +111,7 @@ files = new Map() }) {
121
111
  function modifyRouteNodeInRuntimeManifest(manifest, callback) {
122
112
  const iterateScreens = (screens)=>{
123
113
  Object.values(screens).map((value)=>{
124
- if (typeof value !== 'string') {
114
+ if (typeof value !== "string") {
125
115
  if (value._route) callback(value._route);
126
116
  iterateScreens(value.screens);
127
117
  }
@@ -134,19 +124,19 @@ function makeRuntimeEntryPointsAbsolute(manifest, appDir) {
134
124
  modifyRouteNodeInRuntimeManifest(manifest, (route)=>{
135
125
  if (Array.isArray(route.entryPoints)) {
136
126
  route.entryPoints = route.entryPoints.map((entryPoint)=>{
137
- if (entryPoint.startsWith('.')) {
127
+ if (entryPoint.startsWith(".")) {
138
128
  return _path().default.resolve(appDir, entryPoint);
139
129
  } else if (!_path().default.isAbsolute(entryPoint)) {
140
- return (0, _resolvefrom().default)(appDir, entryPoint);
130
+ return (0, _resolveFrom().default)(appDir, entryPoint);
141
131
  }
142
132
  return entryPoint;
143
133
  });
144
134
  }
145
135
  });
146
136
  }
147
- async function exportFromServerAsync(projectRoot, devServer, { outputDir, baseUrl, exportServer, includeSourceMaps, routerRoot, files = new Map(), exp }) {
148
- _log.Log.log(`Static rendering is enabled. ` + (0, _link.learnMore)('https://docs.expo.dev/router/reference/static-rendering/'));
149
- const platform = 'web';
137
+ async function exportFromServerAsync(projectRoot, devServer, { outputDir , baseUrl , exportServer , includeSourceMaps , routerRoot , files =new Map() , exp }) {
138
+ _log.Log.log(`Static rendering is enabled. ` + (0, _link.learnMore)("https://docs.expo.dev/router/reference/static-rendering/"));
139
+ const platform = "web";
150
140
  const isExporting = true;
151
141
  const appDir = _path().default.join(projectRoot, routerRoot);
152
142
  const injectFaviconTag = await (0, _favicon.getVirtualFaviconAssetsAsync)(projectRoot, {
@@ -155,14 +145,14 @@ async function exportFromServerAsync(projectRoot, devServer, { outputDir, baseUr
155
145
  files,
156
146
  exp
157
147
  });
158
- const [resources, { manifest, serverManifest, renderAsync }] = await Promise.all([
148
+ const [resources, { manifest , serverManifest , renderAsync }] = await Promise.all([
159
149
  devServer.getStaticResourcesAsync({
160
150
  includeSourceMaps
161
151
  }),
162
- devServer.getStaticRenderFunctionAsync()
152
+ devServer.getStaticRenderFunctionAsync(),
163
153
  ]);
164
154
  makeRuntimeEntryPointsAbsolute(manifest, appDir);
165
- debug('Routes:\n', (0, _util().inspect)(manifest, {
155
+ debug("Routes:\n", (0, _util().inspect)(manifest, {
166
156
  colors: true,
167
157
  depth: null
168
158
  }));
@@ -170,7 +160,7 @@ async function exportFromServerAsync(projectRoot, devServer, { outputDir, baseUr
170
160
  files,
171
161
  manifest,
172
162
  exportServer,
173
- async renderAsync ({ pathname, route }) {
163
+ async renderAsync ({ pathname , route }) {
174
164
  const template = await renderAsync(pathname);
175
165
  let html = await (0, _serializeHtml.serializeHtmlWithAssets)({
176
166
  isExporting,
@@ -204,7 +194,7 @@ async function exportFromServerAsync(projectRoot, devServer, { outputDir, baseUr
204
194
  }
205
195
  if (exportServer) {
206
196
  const apiRoutes = await exportApiRoutesAsync({
207
- platform: 'web',
197
+ platform: "web",
208
198
  server: devServer,
209
199
  manifest: serverManifest,
210
200
  // NOTE(kitten): For now, we always output source maps for API route exports
@@ -219,16 +209,16 @@ async function exportFromServerAsync(projectRoot, devServer, { outputDir, baseUr
219
209
  }
220
210
  return files;
221
211
  }
222
- function getHtmlFiles({ manifest, includeGroupVariations }) {
212
+ function getHtmlFiles({ manifest , includeGroupVariations }) {
223
213
  const htmlFiles = new Set();
224
- function traverseScreens(screens, route, baseUrl = '') {
214
+ function traverseScreens(screens, route, baseUrl = "") {
225
215
  for (const [key, value] of Object.entries(screens)){
226
216
  let leaf = null;
227
- if (typeof value === 'string') {
217
+ if (typeof value === "string") {
228
218
  leaf = value;
229
219
  } else if (Object.keys(value.screens).length === 0) {
230
220
  // Ensure the trailing index is accounted for.
231
- if (key === value.path + '/index') {
221
+ if (key === value.path + "/index") {
232
222
  leaf = key;
233
223
  } else {
234
224
  leaf = value.path;
@@ -237,11 +227,11 @@ function getHtmlFiles({ manifest, includeGroupVariations }) {
237
227
  }
238
228
  if (leaf != null) {
239
229
  let filePath = baseUrl + leaf;
240
- if (leaf === '') {
241
- filePath = baseUrl === '' ? 'index' : baseUrl.endsWith('/') ? baseUrl + 'index' : baseUrl.slice(0, -1);
230
+ if (leaf === "") {
231
+ filePath = baseUrl === "" ? "index" : baseUrl.endsWith("/") ? baseUrl + "index" : baseUrl.slice(0, -1);
242
232
  } else if (// If the path is a collection of group segments leading to an index route, append `/index`.
243
- (0, _matchers().stripGroupSegmentsFromPath)(filePath) === '') {
244
- filePath += '/index';
233
+ (0, _matchers().stripGroupSegmentsFromPath)(filePath) === "") {
234
+ filePath += "/index";
245
235
  }
246
236
  // This should never happen, the type of `string | object` originally comes from React Navigation.
247
237
  if (!route) {
@@ -256,8 +246,8 @@ function getHtmlFiles({ manifest, includeGroupVariations }) {
256
246
  route
257
247
  });
258
248
  }
259
- } else if (typeof value === 'object' && (value == null ? void 0 : value.screens)) {
260
- const newPath = baseUrl + value.path + '/';
249
+ } else if (typeof value === "object" && (value == null ? void 0 : value.screens)) {
250
+ const newPath = baseUrl + value.path + "/";
261
251
  traverseScreens(value.screens, value._route ?? null, newPath);
262
252
  }
263
253
  }
@@ -273,24 +263,24 @@ function getHtmlFiles({ manifest, includeGroupVariations }) {
273
263
  }
274
264
  traverseScreens(manifest.screens, null);
275
265
  return uniqueBy(Array.from(htmlFiles), (value)=>value.filePath).map((value)=>{
276
- const parts = value.filePath.split('/');
266
+ const parts = value.filePath.split("/");
277
267
  // Replace `:foo` with `[foo]` and `*foo` with `[...foo]`
278
268
  const partsWithGroups = parts.map((part)=>{
279
- if (part === '*not-found') {
269
+ if (part === "*not-found") {
280
270
  return `+not-found`;
281
- } else if (part.startsWith(':')) {
271
+ } else if (part.startsWith(":")) {
282
272
  return `[${part.slice(1)}]`;
283
- } else if (part.startsWith('*')) {
273
+ } else if (part.startsWith("*")) {
284
274
  return `[...${part.slice(1)}]`;
285
275
  }
286
276
  return part;
287
277
  });
288
- const filePathLocation = partsWithGroups.join('/');
289
- const filePath = filePathLocation + '.html';
278
+ const filePathLocation = partsWithGroups.join("/");
279
+ const filePath = filePathLocation + ".html";
290
280
  return {
291
281
  ...value,
292
282
  filePath,
293
- pathname: filePathLocation.replace(/(\/?index)?$/, '')
283
+ pathname: filePathLocation.replace(/(\/?index)?$/, "")
294
284
  };
295
285
  });
296
286
  }
@@ -308,15 +298,15 @@ function uniqueBy(array, key) {
308
298
  }
309
299
  function getPathVariations(routePath) {
310
300
  const variations = new Set();
311
- const segments = routePath.split('/');
312
- function generateVariations(segments, current = '') {
301
+ const segments = routePath.split("/");
302
+ function generateVariations(segments, current = "") {
313
303
  if (segments.length === 0) {
314
304
  if (current) variations.add(current);
315
305
  return;
316
306
  }
317
307
  const [head, ...rest] = segments;
318
308
  if (matchGroupName(head)) {
319
- const groups = head.slice(1, -1).split(',');
309
+ const groups = head.slice(1, -1).split(",");
320
310
  if (groups.length > 1) {
321
311
  for (const group of groups){
322
312
  // If there are multiple groups, recurse on each group.
@@ -341,8 +331,8 @@ function getPathVariations(routePath) {
341
331
  generateVariations(segments);
342
332
  return Array.from(variations);
343
333
  }
344
- async function exportApiRoutesStandaloneAsync(devServer, { files = new Map(), platform, apiRoutesOnly, templateHtml }) {
345
- const { serverManifest, htmlManifest } = await devServer.getServerManifestAsync();
334
+ async function exportApiRoutesStandaloneAsync(devServer, { files =new Map() , platform , apiRoutesOnly , templateHtml }) {
335
+ const { serverManifest , htmlManifest } = await devServer.getServerManifestAsync();
346
336
  const apiRoutes = await exportApiRoutesAsync({
347
337
  server: devServer,
348
338
  manifest: serverManifest,
@@ -361,11 +351,11 @@ async function exportApiRoutesStandaloneAsync(devServer, { files = new Map(), pl
361
351
  manifest: htmlManifest,
362
352
  exportServer: true,
363
353
  files,
364
- renderAsync: async ({ pathname, filePath })=>{
354
+ renderAsync: async ({ pathname , filePath })=>{
365
355
  files.set(filePath, {
366
356
  contents: templateHtml,
367
357
  routeId: pathname,
368
- targetDomain: 'server'
358
+ targetDomain: "server"
369
359
  });
370
360
  return templateHtml;
371
361
  }
@@ -373,9 +363,9 @@ async function exportApiRoutesStandaloneAsync(devServer, { files = new Map(), pl
373
363
  }
374
364
  return files;
375
365
  }
376
- async function exportApiRoutesAsync({ includeSourceMaps, server, platform, apiRoutesOnly, ...props }) {
377
- const { manifest, files } = await server.exportExpoRouterApiRoutesAsync({
378
- outputDir: '_expo/functions',
366
+ async function exportApiRoutesAsync({ includeSourceMaps , server , platform , apiRoutesOnly , ...props }) {
367
+ const { manifest , files } = await server.exportExpoRouterApiRoutesAsync({
368
+ outputDir: "_expo/functions",
379
369
  prerenderManifest: props.manifest,
380
370
  includeSourceMaps,
381
371
  platform
@@ -385,9 +375,9 @@ async function exportApiRoutesAsync({ includeSourceMaps, server, platform, apiRo
385
375
  manifest.htmlRoutes = [];
386
376
  manifest.notFoundRoutes = [];
387
377
  }
388
- files.set('_expo/routes.json', {
378
+ files.set("_expo/routes.json", {
389
379
  contents: JSON.stringify(manifest, null, 2),
390
- targetDomain: 'server'
380
+ targetDomain: "server"
391
381
  });
392
382
  return files;
393
383
  }
@@ -395,7 +385,7 @@ function warnPossibleInvalidExportType(appDir) {
395
385
  const apiRoutes = (0, _router.getApiRoutesForDirectory)(appDir);
396
386
  if (apiRoutes.length) {
397
387
  // TODO: Allow API Routes for native-only.
398
- _log.Log.warn(_chalk().default.yellow`Skipping export for API routes because \`web.output\` is not "server". You may want to remove the routes: ${apiRoutes.map((v)=>_path().default.relative(appDir, v)).join(', ')}`);
388
+ _log.Log.warn(_chalk().default.yellow`Skipping export for API routes because \`web.output\` is not "server". You may want to remove the routes: ${apiRoutes.map((v)=>_path().default.relative(appDir, v)).join(", ")}`);
399
389
  }
400
390
  }
401
391
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/export/exportStaticAsync.ts"],"sourcesContent":["/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { ExpoConfig } from '@expo/config';\nimport chalk from 'chalk';\nimport { RouteNode } from 'expo-router/build/Route';\nimport { stripGroupSegmentsFromPath } from 'expo-router/build/matchers';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\nimport { inspect } from 'util';\n\nimport { getVirtualFaviconAssetsAsync } from './favicon';\nimport { persistMetroAssetsAsync } from './persistMetroAssets';\nimport { ExportAssetMap, getFilesFromSerialAssets } from './saveAssets';\nimport { Log } from '../log';\nimport {\n ExpoRouterRuntimeManifest,\n MetroBundlerDevServer,\n} from '../start/server/metro/MetroBundlerDevServer';\nimport { ExpoRouterServerManifestV1 } from '../start/server/metro/fetchRouterManifest';\nimport { logMetroErrorAsync } from '../start/server/metro/metroErrorInterface';\nimport { getApiRoutesForDirectory } from '../start/server/metro/router';\nimport { serializeHtmlWithAssets } from '../start/server/metro/serializeHtml';\nimport { learnMore } from '../utils/link';\n\nconst debug = require('debug')('expo:export:generateStaticRoutes') as typeof console.log;\n\ntype Options = {\n mode: 'production' | 'development';\n files?: ExportAssetMap;\n outputDir: string;\n minify: boolean;\n exportServer: boolean;\n baseUrl: string;\n includeSourceMaps: boolean;\n entryPoint?: string;\n clear: boolean;\n routerRoot: string;\n reactCompiler: boolean;\n maxWorkers?: number;\n isExporting: boolean;\n exp?: ExpoConfig;\n};\n\ntype HtmlRequestLocation = {\n /** The output file path name to use relative to the static folder. */\n filePath: string;\n /** The pathname to make requests to in order to fetch the HTML. */\n pathname: string;\n /** The runtime route node object, used to associate async modules with the static HTML. */\n route: RouteNode;\n};\n\n/** Match `(page)` -> `page` */\nfunction matchGroupName(name: string): string | undefined {\n return name.match(/^\\(([^/]+?)\\)$/)?.[1];\n}\n\nexport async function getFilesToExportFromServerAsync(\n projectRoot: string,\n {\n manifest,\n renderAsync,\n // Servers can handle group routes automatically and therefore\n // don't require the build-time generation of every possible group\n // variation.\n exportServer,\n // name : contents\n files = new Map(),\n }: {\n manifest: ExpoRouterRuntimeManifest;\n renderAsync: (requestLocation: HtmlRequestLocation) => Promise<string>;\n exportServer?: boolean;\n files?: ExportAssetMap;\n }\n): Promise<ExportAssetMap> {\n await Promise.all(\n getHtmlFiles({ manifest, includeGroupVariations: !exportServer }).map(\n async ({ route, filePath, pathname }) => {\n try {\n const targetDomain = exportServer ? 'server' : 'client';\n files.set(filePath, { contents: '', targetDomain });\n const data = await renderAsync({ route, filePath, pathname });\n files.set(filePath, {\n contents: data,\n routeId: pathname,\n targetDomain,\n });\n } catch (e: any) {\n await logMetroErrorAsync({ error: e, projectRoot });\n throw new Error('Failed to statically export route: ' + pathname);\n }\n }\n )\n );\n\n return files;\n}\n\nfunction modifyRouteNodeInRuntimeManifest(\n manifest: ExpoRouterRuntimeManifest,\n callback: (route: RouteNode) => any\n) {\n const iterateScreens = (screens: ExpoRouterRuntimeManifest['screens']) => {\n Object.values(screens).map((value) => {\n if (typeof value !== 'string') {\n if (value._route) callback(value._route);\n iterateScreens(value.screens);\n }\n });\n };\n\n iterateScreens(manifest.screens);\n}\n\n// TODO: Do this earlier in the process.\nfunction makeRuntimeEntryPointsAbsolute(manifest: ExpoRouterRuntimeManifest, appDir: string) {\n modifyRouteNodeInRuntimeManifest(manifest, (route) => {\n if (Array.isArray(route.entryPoints)) {\n route.entryPoints = route.entryPoints.map((entryPoint) => {\n if (entryPoint.startsWith('.')) {\n return path.resolve(appDir, entryPoint);\n } else if (!path.isAbsolute(entryPoint)) {\n return resolveFrom(appDir, entryPoint);\n }\n return entryPoint;\n });\n }\n });\n}\n\n/** Perform all fs commits */\nexport async function exportFromServerAsync(\n projectRoot: string,\n devServer: MetroBundlerDevServer,\n {\n outputDir,\n baseUrl,\n exportServer,\n includeSourceMaps,\n routerRoot,\n files = new Map(),\n exp,\n }: Options\n): Promise<ExportAssetMap> {\n Log.log(\n `Static rendering is enabled. ` +\n learnMore('https://docs.expo.dev/router/reference/static-rendering/')\n );\n\n const platform = 'web';\n const isExporting = true;\n const appDir = path.join(projectRoot, routerRoot);\n const injectFaviconTag = await getVirtualFaviconAssetsAsync(projectRoot, {\n outputDir,\n baseUrl,\n files,\n exp,\n });\n\n const [resources, { manifest, serverManifest, renderAsync }] = await Promise.all([\n devServer.getStaticResourcesAsync({\n includeSourceMaps,\n }),\n devServer.getStaticRenderFunctionAsync(),\n ]);\n\n makeRuntimeEntryPointsAbsolute(manifest, appDir);\n\n debug('Routes:\\n', inspect(manifest, { colors: true, depth: null }));\n\n await getFilesToExportFromServerAsync(projectRoot, {\n files,\n manifest,\n exportServer,\n async renderAsync({ pathname, route }) {\n const template = await renderAsync(pathname);\n let html = await serializeHtmlWithAssets({\n isExporting,\n resources: resources.artifacts,\n template,\n baseUrl,\n route,\n hydrate: true,\n });\n\n if (injectFaviconTag) {\n html = injectFaviconTag(html);\n }\n\n return html;\n },\n });\n\n getFilesFromSerialAssets(resources.artifacts, {\n platform,\n includeSourceMaps,\n files,\n isServerHosted: true,\n });\n\n if (resources.assets) {\n // TODO: Collect files without writing to disk.\n // NOTE(kitten): Re. above, this is now using `files` except for iOS catalog output, which isn't used here\n await persistMetroAssetsAsync(projectRoot, resources.assets, {\n files,\n platform,\n outputDirectory: outputDir,\n baseUrl,\n });\n }\n\n if (exportServer) {\n const apiRoutes = await exportApiRoutesAsync({\n platform: 'web',\n server: devServer,\n manifest: serverManifest,\n // NOTE(kitten): For now, we always output source maps for API route exports\n includeSourceMaps: true,\n });\n\n // Add the api routes to the files to export.\n for (const [route, contents] of apiRoutes) {\n files.set(route, contents);\n }\n } else {\n warnPossibleInvalidExportType(appDir);\n }\n\n return files;\n}\n\nexport function getHtmlFiles({\n manifest,\n includeGroupVariations,\n}: {\n manifest: ExpoRouterRuntimeManifest;\n includeGroupVariations?: boolean;\n}): HtmlRequestLocation[] {\n const htmlFiles = new Set<Omit<HtmlRequestLocation, 'pathname'>>();\n\n function traverseScreens(\n screens: ExpoRouterRuntimeManifest['screens'],\n route: RouteNode | null,\n baseUrl = ''\n ) {\n for (const [key, value] of Object.entries(screens)) {\n let leaf: string | null = null;\n if (typeof value === 'string') {\n leaf = value;\n } else if (Object.keys(value.screens).length === 0) {\n // Ensure the trailing index is accounted for.\n if (key === value.path + '/index') {\n leaf = key;\n } else {\n leaf = value.path;\n }\n\n route = value._route ?? null;\n }\n\n if (leaf != null) {\n let filePath = baseUrl + leaf;\n\n if (leaf === '') {\n filePath =\n baseUrl === ''\n ? 'index'\n : baseUrl.endsWith('/')\n ? baseUrl + 'index'\n : baseUrl.slice(0, -1);\n } else if (\n // If the path is a collection of group segments leading to an index route, append `/index`.\n stripGroupSegmentsFromPath(filePath) === ''\n ) {\n filePath += '/index';\n }\n\n // This should never happen, the type of `string | object` originally comes from React Navigation.\n if (!route) {\n throw new Error(\n `Internal error: Route not found for \"${filePath}\" while collecting static export paths.`\n );\n }\n\n if (includeGroupVariations) {\n // TODO: Dedupe requests for alias routes.\n addOptionalGroups(filePath, route);\n } else {\n htmlFiles.add({\n filePath,\n route,\n });\n }\n } else if (typeof value === 'object' && value?.screens) {\n const newPath = baseUrl + value.path + '/';\n traverseScreens(value.screens, value._route ?? null, newPath);\n }\n }\n }\n\n function addOptionalGroups(path: string, route: RouteNode) {\n const variations = getPathVariations(path);\n for (const variation of variations) {\n htmlFiles.add({ filePath: variation, route });\n }\n }\n\n traverseScreens(manifest.screens, null);\n\n return uniqueBy(Array.from(htmlFiles), (value) => value.filePath).map((value) => {\n const parts = value.filePath.split('/');\n // Replace `:foo` with `[foo]` and `*foo` with `[...foo]`\n const partsWithGroups = parts.map((part) => {\n if (part === '*not-found') {\n return `+not-found`;\n } else if (part.startsWith(':')) {\n return `[${part.slice(1)}]`;\n } else if (part.startsWith('*')) {\n return `[...${part.slice(1)}]`;\n }\n return part;\n });\n const filePathLocation = partsWithGroups.join('/');\n const filePath = filePathLocation + '.html';\n return {\n ...value,\n filePath,\n pathname: filePathLocation.replace(/(\\/?index)?$/, ''),\n };\n });\n}\n\nfunction uniqueBy<T>(array: T[], key: (value: T) => string): T[] {\n const seen = new Set<string>();\n const result: T[] = [];\n for (const value of array) {\n const id = key(value);\n if (!seen.has(id)) {\n seen.add(id);\n result.push(value);\n }\n }\n return result;\n}\n\n// Given a route like `(foo)/bar/(baz)`, return all possible variations of the route.\n// e.g. `(foo)/bar/(baz)`, `(foo)/bar/baz`, `foo/bar/(baz)`, `foo/bar/baz`,\nexport function getPathVariations(routePath: string): string[] {\n const variations = new Set<string>();\n const segments = routePath.split('/');\n\n function generateVariations(segments: string[], current = ''): void {\n if (segments.length === 0) {\n if (current) variations.add(current);\n return;\n }\n\n const [head, ...rest] = segments;\n\n if (matchGroupName(head)) {\n const groups = head.slice(1, -1).split(',');\n\n if (groups.length > 1) {\n for (const group of groups) {\n // If there are multiple groups, recurse on each group.\n generateVariations([`(${group.trim()})`, ...rest], current);\n }\n return;\n } else {\n // Start a fork where this group is included\n generateVariations(rest, current ? `${current}/(${groups[0]})` : `(${groups[0]})`);\n // This code will continue and add paths without this group included`\n }\n } else if (current) {\n current = `${current}/${head}`;\n } else {\n current = head;\n }\n\n generateVariations(rest, current);\n }\n\n generateVariations(segments);\n\n return Array.from(variations);\n}\n\nexport async function exportApiRoutesStandaloneAsync(\n devServer: MetroBundlerDevServer,\n {\n files = new Map(),\n platform,\n apiRoutesOnly,\n templateHtml,\n }: {\n files?: ExportAssetMap;\n platform: string;\n apiRoutesOnly: boolean;\n templateHtml?: string;\n }\n) {\n const { serverManifest, htmlManifest } = await devServer.getServerManifestAsync();\n\n const apiRoutes = await exportApiRoutesAsync({\n server: devServer,\n manifest: serverManifest,\n // NOTE(kitten): For now, we always output source maps for API route exports\n includeSourceMaps: true,\n platform,\n apiRoutesOnly,\n });\n\n // Add the api routes to the files to export.\n for (const [route, contents] of apiRoutes) {\n files.set(route, contents);\n }\n\n if (templateHtml && devServer.isReactServerComponentsEnabled) {\n // TODO: Export an HTML entry for each file. This is a temporary solution until we have SSR/SSG for RSC.\n await getFilesToExportFromServerAsync(devServer.projectRoot, {\n manifest: htmlManifest,\n exportServer: true,\n files,\n renderAsync: async ({ pathname, filePath }) => {\n files.set(filePath, {\n contents: templateHtml!,\n routeId: pathname,\n targetDomain: 'server',\n });\n return templateHtml!;\n },\n });\n }\n\n return files;\n}\n\nasync function exportApiRoutesAsync({\n includeSourceMaps,\n server,\n platform,\n apiRoutesOnly,\n ...props\n}: Pick<Options, 'includeSourceMaps'> & {\n server: MetroBundlerDevServer;\n manifest: ExpoRouterServerManifestV1;\n platform: string;\n apiRoutesOnly?: boolean;\n}): Promise<ExportAssetMap> {\n const { manifest, files } = await server.exportExpoRouterApiRoutesAsync({\n outputDir: '_expo/functions',\n prerenderManifest: props.manifest,\n includeSourceMaps,\n platform,\n });\n\n // HACK: Clear out the HTML and 404 routes if we're only exporting API routes. This is used for native apps that are using API routes but haven't implemented web support yet.\n if (apiRoutesOnly) {\n manifest.htmlRoutes = [];\n manifest.notFoundRoutes = [];\n }\n\n files.set('_expo/routes.json', {\n contents: JSON.stringify(manifest, null, 2),\n targetDomain: 'server',\n });\n\n return files;\n}\n\nfunction warnPossibleInvalidExportType(appDir: string) {\n const apiRoutes = getApiRoutesForDirectory(appDir);\n if (apiRoutes.length) {\n // TODO: Allow API Routes for native-only.\n Log.warn(\n chalk.yellow`Skipping export for API routes because \\`web.output\\` is not \"server\". You may want to remove the routes: ${apiRoutes\n .map((v) => path.relative(appDir, v))\n .join(', ')}`\n );\n }\n}\n"],"names":["exportApiRoutesStandaloneAsync","exportFromServerAsync","getFilesToExportFromServerAsync","getHtmlFiles","getPathVariations","debug","require","matchGroupName","name","match","projectRoot","manifest","renderAsync","exportServer","files","Map","Promise","all","includeGroupVariations","map","route","filePath","pathname","targetDomain","set","contents","data","routeId","e","logMetroErrorAsync","error","Error","modifyRouteNodeInRuntimeManifest","callback","iterateScreens","screens","Object","values","value","_route","makeRuntimeEntryPointsAbsolute","appDir","Array","isArray","entryPoints","entryPoint","startsWith","path","resolve","isAbsolute","resolveFrom","devServer","outputDir","baseUrl","includeSourceMaps","routerRoot","exp","Log","log","learnMore","platform","isExporting","join","injectFaviconTag","getVirtualFaviconAssetsAsync","resources","serverManifest","getStaticResourcesAsync","getStaticRenderFunctionAsync","inspect","colors","depth","template","html","serializeHtmlWithAssets","artifacts","hydrate","getFilesFromSerialAssets","isServerHosted","assets","persistMetroAssetsAsync","outputDirectory","apiRoutes","exportApiRoutesAsync","server","warnPossibleInvalidExportType","htmlFiles","Set","traverseScreens","key","entries","leaf","keys","length","endsWith","slice","stripGroupSegmentsFromPath","addOptionalGroups","add","newPath","variations","variation","uniqueBy","from","parts","split","partsWithGroups","part","filePathLocation","replace","array","seen","result","id","has","push","routePath","segments","generateVariations","current","head","rest","groups","group","trim","apiRoutesOnly","templateHtml","htmlManifest","getServerManifestAsync","isReactServerComponentsEnabled","props","exportExpoRouterApiRoutesAsync","prerenderManifest","htmlRoutes","notFoundRoutes","JSON","stringify","getApiRoutesForDirectory","warn","chalk","yellow","v","relative"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/export/exportStaticAsync.ts"],"sourcesContent":["/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { ExpoConfig } from '@expo/config';\nimport chalk from 'chalk';\nimport { RouteNode } from 'expo-router/build/Route';\nimport { stripGroupSegmentsFromPath } from 'expo-router/build/matchers';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\nimport { inspect } from 'util';\n\nimport { getVirtualFaviconAssetsAsync } from './favicon';\nimport { persistMetroAssetsAsync } from './persistMetroAssets';\nimport { ExportAssetMap, getFilesFromSerialAssets } from './saveAssets';\nimport { Log } from '../log';\nimport {\n ExpoRouterRuntimeManifest,\n MetroBundlerDevServer,\n} from '../start/server/metro/MetroBundlerDevServer';\nimport { ExpoRouterServerManifestV1 } from '../start/server/metro/fetchRouterManifest';\nimport { logMetroErrorAsync } from '../start/server/metro/metroErrorInterface';\nimport { getApiRoutesForDirectory } from '../start/server/metro/router';\nimport { serializeHtmlWithAssets } from '../start/server/metro/serializeHtml';\nimport { learnMore } from '../utils/link';\n\nconst debug = require('debug')('expo:export:generateStaticRoutes') as typeof console.log;\n\ntype Options = {\n mode: 'production' | 'development';\n files?: ExportAssetMap;\n outputDir: string;\n minify: boolean;\n exportServer: boolean;\n baseUrl: string;\n includeSourceMaps: boolean;\n entryPoint?: string;\n clear: boolean;\n routerRoot: string;\n reactCompiler: boolean;\n maxWorkers?: number;\n isExporting: boolean;\n exp?: ExpoConfig;\n};\n\ntype HtmlRequestLocation = {\n /** The output file path name to use relative to the static folder. */\n filePath: string;\n /** The pathname to make requests to in order to fetch the HTML. */\n pathname: string;\n /** The runtime route node object, used to associate async modules with the static HTML. */\n route: RouteNode;\n};\n\n/** Match `(page)` -> `page` */\nfunction matchGroupName(name: string): string | undefined {\n return name.match(/^\\(([^/]+?)\\)$/)?.[1];\n}\n\nexport async function getFilesToExportFromServerAsync(\n projectRoot: string,\n {\n manifest,\n renderAsync,\n // Servers can handle group routes automatically and therefore\n // don't require the build-time generation of every possible group\n // variation.\n exportServer,\n // name : contents\n files = new Map(),\n }: {\n manifest: ExpoRouterRuntimeManifest;\n renderAsync: (requestLocation: HtmlRequestLocation) => Promise<string>;\n exportServer?: boolean;\n files?: ExportAssetMap;\n }\n): Promise<ExportAssetMap> {\n await Promise.all(\n getHtmlFiles({ manifest, includeGroupVariations: !exportServer }).map(\n async ({ route, filePath, pathname }) => {\n try {\n const targetDomain = exportServer ? 'server' : 'client';\n files.set(filePath, { contents: '', targetDomain });\n const data = await renderAsync({ route, filePath, pathname });\n files.set(filePath, {\n contents: data,\n routeId: pathname,\n targetDomain,\n });\n } catch (e: any) {\n await logMetroErrorAsync({ error: e, projectRoot });\n throw new Error('Failed to statically export route: ' + pathname);\n }\n }\n )\n );\n\n return files;\n}\n\nfunction modifyRouteNodeInRuntimeManifest(\n manifest: ExpoRouterRuntimeManifest,\n callback: (route: RouteNode) => any\n) {\n const iterateScreens = (screens: ExpoRouterRuntimeManifest['screens']) => {\n Object.values(screens).map((value) => {\n if (typeof value !== 'string') {\n if (value._route) callback(value._route);\n iterateScreens(value.screens);\n }\n });\n };\n\n iterateScreens(manifest.screens);\n}\n\n// TODO: Do this earlier in the process.\nfunction makeRuntimeEntryPointsAbsolute(manifest: ExpoRouterRuntimeManifest, appDir: string) {\n modifyRouteNodeInRuntimeManifest(manifest, (route) => {\n if (Array.isArray(route.entryPoints)) {\n route.entryPoints = route.entryPoints.map((entryPoint) => {\n if (entryPoint.startsWith('.')) {\n return path.resolve(appDir, entryPoint);\n } else if (!path.isAbsolute(entryPoint)) {\n return resolveFrom(appDir, entryPoint);\n }\n return entryPoint;\n });\n }\n });\n}\n\n/** Perform all fs commits */\nexport async function exportFromServerAsync(\n projectRoot: string,\n devServer: MetroBundlerDevServer,\n {\n outputDir,\n baseUrl,\n exportServer,\n includeSourceMaps,\n routerRoot,\n files = new Map(),\n exp,\n }: Options\n): Promise<ExportAssetMap> {\n Log.log(\n `Static rendering is enabled. ` +\n learnMore('https://docs.expo.dev/router/reference/static-rendering/')\n );\n\n const platform = 'web';\n const isExporting = true;\n const appDir = path.join(projectRoot, routerRoot);\n const injectFaviconTag = await getVirtualFaviconAssetsAsync(projectRoot, {\n outputDir,\n baseUrl,\n files,\n exp,\n });\n\n const [resources, { manifest, serverManifest, renderAsync }] = await Promise.all([\n devServer.getStaticResourcesAsync({\n includeSourceMaps,\n }),\n devServer.getStaticRenderFunctionAsync(),\n ]);\n\n makeRuntimeEntryPointsAbsolute(manifest, appDir);\n\n debug('Routes:\\n', inspect(manifest, { colors: true, depth: null }));\n\n await getFilesToExportFromServerAsync(projectRoot, {\n files,\n manifest,\n exportServer,\n async renderAsync({ pathname, route }) {\n const template = await renderAsync(pathname);\n let html = await serializeHtmlWithAssets({\n isExporting,\n resources: resources.artifacts,\n template,\n baseUrl,\n route,\n hydrate: true,\n });\n\n if (injectFaviconTag) {\n html = injectFaviconTag(html);\n }\n\n return html;\n },\n });\n\n getFilesFromSerialAssets(resources.artifacts, {\n platform,\n includeSourceMaps,\n files,\n isServerHosted: true,\n });\n\n if (resources.assets) {\n // TODO: Collect files without writing to disk.\n // NOTE(kitten): Re. above, this is now using `files` except for iOS catalog output, which isn't used here\n await persistMetroAssetsAsync(projectRoot, resources.assets, {\n files,\n platform,\n outputDirectory: outputDir,\n baseUrl,\n });\n }\n\n if (exportServer) {\n const apiRoutes = await exportApiRoutesAsync({\n platform: 'web',\n server: devServer,\n manifest: serverManifest,\n // NOTE(kitten): For now, we always output source maps for API route exports\n includeSourceMaps: true,\n });\n\n // Add the api routes to the files to export.\n for (const [route, contents] of apiRoutes) {\n files.set(route, contents);\n }\n } else {\n warnPossibleInvalidExportType(appDir);\n }\n\n return files;\n}\n\nexport function getHtmlFiles({\n manifest,\n includeGroupVariations,\n}: {\n manifest: ExpoRouterRuntimeManifest;\n includeGroupVariations?: boolean;\n}): HtmlRequestLocation[] {\n const htmlFiles = new Set<Omit<HtmlRequestLocation, 'pathname'>>();\n\n function traverseScreens(\n screens: ExpoRouterRuntimeManifest['screens'],\n route: RouteNode | null,\n baseUrl = ''\n ) {\n for (const [key, value] of Object.entries(screens)) {\n let leaf: string | null = null;\n if (typeof value === 'string') {\n leaf = value;\n } else if (Object.keys(value.screens).length === 0) {\n // Ensure the trailing index is accounted for.\n if (key === value.path + '/index') {\n leaf = key;\n } else {\n leaf = value.path;\n }\n\n route = value._route ?? null;\n }\n\n if (leaf != null) {\n let filePath = baseUrl + leaf;\n\n if (leaf === '') {\n filePath =\n baseUrl === ''\n ? 'index'\n : baseUrl.endsWith('/')\n ? baseUrl + 'index'\n : baseUrl.slice(0, -1);\n } else if (\n // If the path is a collection of group segments leading to an index route, append `/index`.\n stripGroupSegmentsFromPath(filePath) === ''\n ) {\n filePath += '/index';\n }\n\n // This should never happen, the type of `string | object` originally comes from React Navigation.\n if (!route) {\n throw new Error(\n `Internal error: Route not found for \"${filePath}\" while collecting static export paths.`\n );\n }\n\n if (includeGroupVariations) {\n // TODO: Dedupe requests for alias routes.\n addOptionalGroups(filePath, route);\n } else {\n htmlFiles.add({\n filePath,\n route,\n });\n }\n } else if (typeof value === 'object' && value?.screens) {\n const newPath = baseUrl + value.path + '/';\n traverseScreens(value.screens, value._route ?? null, newPath);\n }\n }\n }\n\n function addOptionalGroups(path: string, route: RouteNode) {\n const variations = getPathVariations(path);\n for (const variation of variations) {\n htmlFiles.add({ filePath: variation, route });\n }\n }\n\n traverseScreens(manifest.screens, null);\n\n return uniqueBy(Array.from(htmlFiles), (value) => value.filePath).map((value) => {\n const parts = value.filePath.split('/');\n // Replace `:foo` with `[foo]` and `*foo` with `[...foo]`\n const partsWithGroups = parts.map((part) => {\n if (part === '*not-found') {\n return `+not-found`;\n } else if (part.startsWith(':')) {\n return `[${part.slice(1)}]`;\n } else if (part.startsWith('*')) {\n return `[...${part.slice(1)}]`;\n }\n return part;\n });\n const filePathLocation = partsWithGroups.join('/');\n const filePath = filePathLocation + '.html';\n return {\n ...value,\n filePath,\n pathname: filePathLocation.replace(/(\\/?index)?$/, ''),\n };\n });\n}\n\nfunction uniqueBy<T>(array: T[], key: (value: T) => string): T[] {\n const seen = new Set<string>();\n const result: T[] = [];\n for (const value of array) {\n const id = key(value);\n if (!seen.has(id)) {\n seen.add(id);\n result.push(value);\n }\n }\n return result;\n}\n\n// Given a route like `(foo)/bar/(baz)`, return all possible variations of the route.\n// e.g. `(foo)/bar/(baz)`, `(foo)/bar/baz`, `foo/bar/(baz)`, `foo/bar/baz`,\nexport function getPathVariations(routePath: string): string[] {\n const variations = new Set<string>();\n const segments = routePath.split('/');\n\n function generateVariations(segments: string[], current = ''): void {\n if (segments.length === 0) {\n if (current) variations.add(current);\n return;\n }\n\n const [head, ...rest] = segments;\n\n if (matchGroupName(head)) {\n const groups = head.slice(1, -1).split(',');\n\n if (groups.length > 1) {\n for (const group of groups) {\n // If there are multiple groups, recurse on each group.\n generateVariations([`(${group.trim()})`, ...rest], current);\n }\n return;\n } else {\n // Start a fork where this group is included\n generateVariations(rest, current ? `${current}/(${groups[0]})` : `(${groups[0]})`);\n // This code will continue and add paths without this group included`\n }\n } else if (current) {\n current = `${current}/${head}`;\n } else {\n current = head;\n }\n\n generateVariations(rest, current);\n }\n\n generateVariations(segments);\n\n return Array.from(variations);\n}\n\nexport async function exportApiRoutesStandaloneAsync(\n devServer: MetroBundlerDevServer,\n {\n files = new Map(),\n platform,\n apiRoutesOnly,\n templateHtml,\n }: {\n files?: ExportAssetMap;\n platform: string;\n apiRoutesOnly: boolean;\n templateHtml?: string;\n }\n) {\n const { serverManifest, htmlManifest } = await devServer.getServerManifestAsync();\n\n const apiRoutes = await exportApiRoutesAsync({\n server: devServer,\n manifest: serverManifest,\n // NOTE(kitten): For now, we always output source maps for API route exports\n includeSourceMaps: true,\n platform,\n apiRoutesOnly,\n });\n\n // Add the api routes to the files to export.\n for (const [route, contents] of apiRoutes) {\n files.set(route, contents);\n }\n\n if (templateHtml && devServer.isReactServerComponentsEnabled) {\n // TODO: Export an HTML entry for each file. This is a temporary solution until we have SSR/SSG for RSC.\n await getFilesToExportFromServerAsync(devServer.projectRoot, {\n manifest: htmlManifest,\n exportServer: true,\n files,\n renderAsync: async ({ pathname, filePath }) => {\n files.set(filePath, {\n contents: templateHtml!,\n routeId: pathname,\n targetDomain: 'server',\n });\n return templateHtml!;\n },\n });\n }\n\n return files;\n}\n\nasync function exportApiRoutesAsync({\n includeSourceMaps,\n server,\n platform,\n apiRoutesOnly,\n ...props\n}: Pick<Options, 'includeSourceMaps'> & {\n server: MetroBundlerDevServer;\n manifest: ExpoRouterServerManifestV1;\n platform: string;\n apiRoutesOnly?: boolean;\n}): Promise<ExportAssetMap> {\n const { manifest, files } = await server.exportExpoRouterApiRoutesAsync({\n outputDir: '_expo/functions',\n prerenderManifest: props.manifest,\n includeSourceMaps,\n platform,\n });\n\n // HACK: Clear out the HTML and 404 routes if we're only exporting API routes. This is used for native apps that are using API routes but haven't implemented web support yet.\n if (apiRoutesOnly) {\n manifest.htmlRoutes = [];\n manifest.notFoundRoutes = [];\n }\n\n files.set('_expo/routes.json', {\n contents: JSON.stringify(manifest, null, 2),\n targetDomain: 'server',\n });\n\n return files;\n}\n\nfunction warnPossibleInvalidExportType(appDir: string) {\n const apiRoutes = getApiRoutesForDirectory(appDir);\n if (apiRoutes.length) {\n // TODO: Allow API Routes for native-only.\n Log.warn(\n chalk.yellow`Skipping export for API routes because \\`web.output\\` is not \"server\". You may want to remove the routes: ${apiRoutes\n .map((v) => path.relative(appDir, v))\n .join(', ')}`\n );\n }\n}\n"],"names":["getFilesToExportFromServerAsync","exportFromServerAsync","getHtmlFiles","getPathVariations","exportApiRoutesStandaloneAsync","debug","require","matchGroupName","name","match","projectRoot","manifest","renderAsync","exportServer","files","Map","Promise","all","includeGroupVariations","map","route","filePath","pathname","targetDomain","set","contents","data","routeId","e","logMetroErrorAsync","error","Error","modifyRouteNodeInRuntimeManifest","callback","iterateScreens","screens","Object","values","value","_route","makeRuntimeEntryPointsAbsolute","appDir","Array","isArray","entryPoints","entryPoint","startsWith","path","resolve","isAbsolute","resolveFrom","devServer","outputDir","baseUrl","includeSourceMaps","routerRoot","exp","Log","log","learnMore","platform","isExporting","join","injectFaviconTag","getVirtualFaviconAssetsAsync","resources","serverManifest","getStaticResourcesAsync","getStaticRenderFunctionAsync","inspect","colors","depth","template","html","serializeHtmlWithAssets","artifacts","hydrate","getFilesFromSerialAssets","isServerHosted","assets","persistMetroAssetsAsync","outputDirectory","apiRoutes","exportApiRoutesAsync","server","warnPossibleInvalidExportType","htmlFiles","Set","traverseScreens","key","entries","leaf","keys","length","endsWith","slice","stripGroupSegmentsFromPath","addOptionalGroups","add","newPath","variations","variation","uniqueBy","from","parts","split","partsWithGroups","part","filePathLocation","replace","array","seen","result","id","has","push","routePath","segments","generateVariations","current","head","rest","groups","group","trim","apiRoutesOnly","templateHtml","htmlManifest","getServerManifestAsync","isReactServerComponentsEnabled","props","exportExpoRouterApiRoutesAsync","prerenderManifest","htmlRoutes","notFoundRoutes","JSON","stringify","getApiRoutesForDirectory","warn","chalk","yellow","v","relative"],"mappings":"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"}
@@ -9,15 +9,9 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- getFaviconFromExpoConfigAsync: function() {
13
- return getFaviconFromExpoConfigAsync;
14
- },
15
- getUserDefinedFaviconFile: function() {
16
- return getUserDefinedFaviconFile;
17
- },
18
- getVirtualFaviconAssetsAsync: function() {
19
- return getVirtualFaviconAssetsAsync;
20
- }
12
+ getUserDefinedFaviconFile: ()=>getUserDefinedFaviconFile,
13
+ getVirtualFaviconAssetsAsync: ()=>getVirtualFaviconAssetsAsync,
14
+ getFaviconFromExpoConfigAsync: ()=>getFaviconFromExpoConfigAsync
21
15
  });
22
16
  function _config() {
23
17
  const data = require("@expo/config");
@@ -26,22 +20,22 @@ function _config() {
26
20
  };
27
21
  return data;
28
22
  }
29
- function _imageutils() {
23
+ function _imageUtils() {
30
24
  const data = require("@expo/image-utils");
31
- _imageutils = function() {
25
+ _imageUtils = function() {
32
26
  return data;
33
27
  };
34
28
  return data;
35
29
  }
36
30
  function _fs() {
37
- const data = /*#__PURE__*/ _interop_require_default(require("fs"));
31
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
38
32
  _fs = function() {
39
33
  return data;
40
34
  };
41
35
  return data;
42
36
  }
43
37
  function _path() {
44
- const data = /*#__PURE__*/ _interop_require_default(require("path"));
38
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
45
39
  _path = function() {
46
40
  return data;
47
41
  };
@@ -49,21 +43,21 @@ function _path() {
49
43
  }
50
44
  const _publicFolder = require("./publicFolder");
51
45
  const _log = require("../log");
52
- function _interop_require_default(obj) {
46
+ function _interopRequireDefault(obj) {
53
47
  return obj && obj.__esModule ? obj : {
54
48
  default: obj
55
49
  };
56
50
  }
57
- const debug = require('debug')('expo:favicon');
51
+ const debug = require("debug")("expo:favicon");
58
52
  function getUserDefinedFaviconFile(projectRoot) {
59
53
  return (0, _publicFolder.getUserDefinedFile)(projectRoot, [
60
- './favicon.ico'
54
+ "./favicon.ico"
61
55
  ]);
62
56
  }
63
- async function getVirtualFaviconAssetsAsync(projectRoot, { baseUrl, outputDir, files, exp }) {
57
+ async function getVirtualFaviconAssetsAsync(projectRoot, { baseUrl , outputDir , files , exp }) {
64
58
  const existing = getUserDefinedFaviconFile(projectRoot);
65
59
  if (existing) {
66
- debug('Using user-defined favicon.ico file.');
60
+ debug("Using user-defined favicon.ico file.");
67
61
  return null;
68
62
  }
69
63
  const data = await getFaviconFromExpoConfigAsync(projectRoot, {
@@ -77,27 +71,27 @@ async function getVirtualFaviconAssetsAsync(projectRoot, { baseUrl, outputDir, f
77
71
  ].map(async (asset)=>{
78
72
  const assetPath = _path().default.join(outputDir, asset.path);
79
73
  if (files) {
80
- debug('Storing asset for persisting: ' + assetPath);
74
+ debug("Storing asset for persisting: " + assetPath);
81
75
  files == null ? void 0 : files.set(asset.path, {
82
76
  contents: asset.source,
83
- targetDomain: 'client'
77
+ targetDomain: "client"
84
78
  });
85
79
  } else {
86
- debug('Writing asset to disk: ' + assetPath);
80
+ debug("Writing asset to disk: " + assetPath);
87
81
  await _fs().default.promises.writeFile(assetPath, asset.source);
88
82
  }
89
83
  }));
90
84
  function injectFaviconTag(html) {
91
- if (!html.includes('</head>')) {
85
+ if (!html.includes("</head>")) {
92
86
  return html;
93
87
  }
94
- return html.replace('</head>', `<link rel="shortcut icon" href="${baseUrl}/favicon.ico" /></head>`);
88
+ return html.replace("</head>", `<link rel="shortcut icon" href="${baseUrl}/favicon.ico" /></head>`);
95
89
  }
96
90
  return injectFaviconTag;
97
91
  }
98
- async function getFaviconFromExpoConfigAsync(projectRoot, { force = false, exp = (0, _config().getConfig)(projectRoot).exp } = {}) {
99
- var _exp_web;
100
- const src = ((_exp_web = exp.web) == null ? void 0 : _exp_web.favicon) ?? null;
92
+ async function getFaviconFromExpoConfigAsync(projectRoot, { force =false , exp =(0, _config().getConfig)(projectRoot).exp } = {}) {
93
+ var ref;
94
+ const src = ((ref = exp.web) == null ? void 0 : ref.favicon) ?? null;
101
95
  if (!src) {
102
96
  return null;
103
97
  }
@@ -106,28 +100,28 @@ async function getFaviconFromExpoConfigAsync(projectRoot, { force = false, exp =
106
100
  32,
107
101
  48
108
102
  ];
109
- const cacheType = 'favicon';
103
+ const cacheType = "favicon";
110
104
  const size = dims[dims.length - 1];
111
105
  try {
112
- const { source } = await (0, _imageutils().generateImageAsync)({
106
+ const { source } = await (0, _imageUtils().generateImageAsync)({
113
107
  projectRoot,
114
108
  cacheType
115
109
  }, {
116
- resizeMode: 'contain',
110
+ resizeMode: "contain",
117
111
  src,
118
- backgroundColor: 'transparent',
112
+ backgroundColor: "transparent",
119
113
  width: size,
120
114
  height: size,
121
115
  name: `favicon-${size}.png`
122
116
  });
123
- const faviconBuffer = await (0, _imageutils().generateFaviconAsync)(source, dims);
117
+ const faviconBuffer = await (0, _imageUtils().generateFaviconAsync)(source, dims);
124
118
  return {
125
119
  source: faviconBuffer,
126
- path: 'favicon.ico'
120
+ path: "favicon.ico"
127
121
  };
128
122
  } catch (error) {
129
123
  // Check for ENOENT
130
- if (!force && error.code === 'ENOENT') {
124
+ if (!force && error.code === "ENOENT") {
131
125
  _log.Log.warn(`Favicon source file in Expo config (web.favicon) does not exist: ${src}`);
132
126
  return null;
133
127
  }