@expo/cli 0.22.25 → 0.22.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (722) hide show
  1. package/build/bin/cli +91 -93
  2. package/build/bin/cli.map +1 -1
  3. package/build/metro-require/require.js +52 -53
  4. package/build/src/api/endpoint.js +2 -6
  5. package/build/src/api/endpoint.js.map +1 -1
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +3 -5
  7. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  8. package/build/src/api/getExpoSchema.js +12 -16
  9. package/build/src/api/getExpoSchema.js.map +1 -1
  10. package/build/src/api/getNativeModuleVersions.js +4 -6
  11. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  12. package/build/src/api/getProjectDevelopmentCertificate.js +3 -5
  13. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  14. package/build/src/api/getVersions.js +5 -7
  15. package/build/src/api/getVersions.js.map +1 -1
  16. package/build/src/api/graphql/client.js +26 -32
  17. package/build/src/api/graphql/client.js.map +1 -1
  18. package/build/src/api/graphql/queries/AppQuery.js +4 -6
  19. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  20. package/build/src/api/graphql/queries/UserQuery.js +3 -5
  21. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  22. package/build/src/api/graphql/types/App.js +1 -3
  23. package/build/src/api/graphql/types/App.js.map +1 -1
  24. package/build/src/api/rest/cache/FileSystemResponseCache.js +8 -10
  25. package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
  26. package/build/src/api/rest/cache/ResponseCache.js +12 -20
  27. package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +11 -13
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  30. package/build/src/api/rest/client.js +35 -53
  31. package/build/src/api/rest/client.js.map +1 -1
  32. package/build/src/api/rest/client.types.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithBaseUrl.js +3 -5
  34. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithOffline.js +3 -5
  36. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProgress.js +7 -11
  38. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  39. package/build/src/api/rest/wrapFetchWithProxy.js +3 -5
  40. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  41. package/build/src/api/rest/wrapFetchWithUserAgent.js +6 -8
  42. package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
  43. package/build/src/api/settings.js +5 -7
  44. package/build/src/api/settings.js.map +1 -1
  45. package/build/src/api/updateDevelopmentSession.js +17 -23
  46. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  47. package/build/src/api/user/UserSettings.js +21 -39
  48. package/build/src/api/user/UserSettings.js.map +1 -1
  49. package/build/src/api/user/actions.js +21 -27
  50. package/build/src/api/user/actions.js.map +1 -1
  51. package/build/src/api/user/expoSsoLauncher.js +26 -30
  52. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  53. package/build/src/api/user/otp.js +29 -35
  54. package/build/src/api/user/otp.js.map +1 -1
  55. package/build/src/api/user/user.js +30 -44
  56. package/build/src/api/user/user.js.map +1 -1
  57. package/build/src/config/configAsync.js +23 -29
  58. package/build/src/config/configAsync.js.map +1 -1
  59. package/build/src/config/index.js +21 -25
  60. package/build/src/config/index.js.map +1 -1
  61. package/build/src/customize/customizeAsync.js +6 -8
  62. package/build/src/customize/customizeAsync.js.map +1 -1
  63. package/build/src/customize/generate.js +16 -20
  64. package/build/src/customize/generate.js.map +1 -1
  65. package/build/src/customize/index.js +12 -14
  66. package/build/src/customize/index.js.map +1 -1
  67. package/build/src/customize/resolveOptions.js +2 -4
  68. package/build/src/customize/resolveOptions.js.map +1 -1
  69. package/build/src/customize/templates.js +54 -58
  70. package/build/src/customize/templates.js.map +1 -1
  71. package/build/src/customize/typescript.js +7 -11
  72. package/build/src/customize/typescript.js.map +1 -1
  73. package/build/src/export/createMetadataJson.js +9 -11
  74. package/build/src/export/createMetadataJson.js.map +1 -1
  75. package/build/src/export/embed/exportEager.js +6 -8
  76. package/build/src/export/embed/exportEager.js.map +1 -1
  77. package/build/src/export/embed/exportEmbedAsync.js +61 -71
  78. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  79. package/build/src/export/embed/exportServer.js +55 -57
  80. package/build/src/export/embed/exportServer.js.map +1 -1
  81. package/build/src/export/embed/index.js +40 -44
  82. package/build/src/export/embed/index.js.map +1 -1
  83. package/build/src/export/embed/resolveOptions.js +36 -44
  84. package/build/src/export/embed/resolveOptions.js.map +1 -1
  85. package/build/src/export/embed/xcodeCompilerLogger.js +27 -39
  86. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  87. package/build/src/export/exportApp.js +63 -67
  88. package/build/src/export/exportApp.js.map +1 -1
  89. package/build/src/export/exportAssets.js +27 -35
  90. package/build/src/export/exportAssets.js.map +1 -1
  91. package/build/src/export/exportAsync.js +9 -13
  92. package/build/src/export/exportAsync.js.map +1 -1
  93. package/build/src/export/exportDomComponents.js +45 -53
  94. package/build/src/export/exportDomComponents.js.map +1 -1
  95. package/build/src/export/exportHermes.js +63 -85
  96. package/build/src/export/exportHermes.js.map +1 -1
  97. package/build/src/export/exportStaticAsync.js +62 -72
  98. package/build/src/export/exportStaticAsync.js.map +1 -1
  99. package/build/src/export/favicon.js +27 -33
  100. package/build/src/export/favicon.js.map +1 -1
  101. package/build/src/export/getPublicExpoManifest.js +5 -7
  102. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  103. package/build/src/export/getResolvedLocales.js +9 -11
  104. package/build/src/export/getResolvedLocales.js.map +1 -1
  105. package/build/src/export/html.js +6 -10
  106. package/build/src/export/html.js.map +1 -1
  107. package/build/src/export/index.js +28 -32
  108. package/build/src/export/index.js.map +1 -1
  109. package/build/src/export/metroAssetLocalPath.js +30 -36
  110. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  111. package/build/src/export/persistMetroAssets.js +34 -42
  112. package/build/src/export/persistMetroAssets.js.map +1 -1
  113. package/build/src/export/publicFolder.js +6 -10
  114. package/build/src/export/publicFolder.js.map +1 -1
  115. package/build/src/export/resolveOptions.js +24 -28
  116. package/build/src/export/resolveOptions.js.map +1 -1
  117. package/build/src/export/saveAssets.js +46 -50
  118. package/build/src/export/saveAssets.js.map +1 -1
  119. package/build/src/export/web/exportWebAsync.js +11 -13
  120. package/build/src/export/web/exportWebAsync.js.map +1 -1
  121. package/build/src/export/web/index.js +15 -19
  122. package/build/src/export/web/index.js.map +1 -1
  123. package/build/src/export/web/resolveOptions.js +3 -5
  124. package/build/src/export/web/resolveOptions.js.map +1 -1
  125. package/build/src/export/writeContents.js +2 -4
  126. package/build/src/export/writeContents.js.map +1 -1
  127. package/build/src/graphql/generated.js +274 -400
  128. package/build/src/graphql/generated.js.map +1 -1
  129. package/build/src/install/applyPlugins.js +7 -11
  130. package/build/src/install/applyPlugins.js.map +1 -1
  131. package/build/src/install/checkPackages.js +22 -26
  132. package/build/src/install/checkPackages.js.map +1 -1
  133. package/build/src/install/fixPackages.js +12 -16
  134. package/build/src/install/fixPackages.js.map +1 -1
  135. package/build/src/install/index.js +16 -18
  136. package/build/src/install/index.js.map +1 -1
  137. package/build/src/install/installAsync.js +26 -32
  138. package/build/src/install/installAsync.js.map +1 -1
  139. package/build/src/install/installExpoPackage.js +18 -22
  140. package/build/src/install/installExpoPackage.js.map +1 -1
  141. package/build/src/install/resolveOptions.js +19 -21
  142. package/build/src/install/resolveOptions.js.map +1 -1
  143. package/build/src/install/utils/autoAddConfigPlugins.js +14 -18
  144. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  145. package/build/src/install/utils/checkPackagesCompatibility.js +11 -13
  146. package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
  147. package/build/src/lint/ESlintPrerequisite.js +44 -50
  148. package/build/src/lint/ESlintPrerequisite.js.map +1 -1
  149. package/build/src/lint/index.js +8 -12
  150. package/build/src/lint/index.js.map +1 -1
  151. package/build/src/lint/lintAsync.js +8 -10
  152. package/build/src/lint/lintAsync.js.map +1 -1
  153. package/build/src/log.js +16 -36
  154. package/build/src/log.js.map +1 -1
  155. package/build/src/login/index.js +20 -24
  156. package/build/src/login/index.js.map +1 -1
  157. package/build/src/logout/index.js +7 -11
  158. package/build/src/logout/index.js.map +1 -1
  159. package/build/src/prebuild/clearNativeFolder.js +26 -38
  160. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  161. package/build/src/prebuild/configureProjectAsync.js +14 -18
  162. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  163. package/build/src/prebuild/copyTemplateFiles.js +13 -17
  164. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  165. package/build/src/prebuild/ensureConfigAsync.js +4 -6
  166. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  167. package/build/src/prebuild/index.js +32 -36
  168. package/build/src/prebuild/index.js.map +1 -1
  169. package/build/src/prebuild/prebuildAsync.js +25 -29
  170. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  171. package/build/src/prebuild/renameTemplateAppName.js +40 -46
  172. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  173. package/build/src/prebuild/resolveOptions.js +52 -66
  174. package/build/src/prebuild/resolveOptions.js.map +1 -1
  175. package/build/src/prebuild/resolveTemplate.js +32 -36
  176. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  177. package/build/src/prebuild/updateFromTemplate.js +13 -19
  178. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  179. package/build/src/prebuild/updatePackageJson.js +39 -53
  180. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  181. package/build/src/prebuild/validateTemplatePlatforms.js +8 -12
  182. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  183. package/build/src/register/index.js +7 -11
  184. package/build/src/register/index.js.map +1 -1
  185. package/build/src/register/registerAsync.js +3 -5
  186. package/build/src/register/registerAsync.js.map +1 -1
  187. package/build/src/run/android/index.js +32 -36
  188. package/build/src/run/android/index.js.map +1 -1
  189. package/build/src/run/android/resolveDevice.js +8 -10
  190. package/build/src/run/android/resolveDevice.js.map +1 -1
  191. package/build/src/run/android/resolveGradlePropsAsync.js +16 -18
  192. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  193. package/build/src/run/android/resolveInstallApkName.js +15 -17
  194. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  195. package/build/src/run/android/resolveLaunchProps.js +10 -12
  196. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  197. package/build/src/run/android/resolveOptions.js +2 -4
  198. package/build/src/run/android/resolveOptions.js.map +1 -1
  199. package/build/src/run/android/runAndroidAsync.js +21 -23
  200. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  201. package/build/src/run/ensureNativeProject.js +5 -7
  202. package/build/src/run/ensureNativeProject.js.map +1 -1
  203. package/build/src/run/hints.js +7 -13
  204. package/build/src/run/hints.js.map +1 -1
  205. package/build/src/run/index.js +23 -27
  206. package/build/src/run/index.js.map +1 -1
  207. package/build/src/run/ios/XcodeBuild.js +56 -74
  208. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  209. package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
  210. package/build/src/run/ios/appleDevice/AppleDevice.js +63 -69
  211. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  212. package/build/src/run/ios/appleDevice/ClientManager.js +26 -29
  213. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  214. package/build/src/run/ios/appleDevice/client/AFCClient.js +25 -28
  215. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  216. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +26 -29
  217. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  218. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -22
  219. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  220. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +29 -32
  221. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  222. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +24 -28
  223. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  224. package/build/src/run/ios/appleDevice/client/ServiceClient.js +4 -7
  225. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  226. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +27 -28
  227. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  228. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +17 -23
  229. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  230. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +132 -146
  231. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  232. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +21 -29
  233. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  234. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +21 -29
  235. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  236. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +22 -34
  237. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  238. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +17 -27
  239. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  240. package/build/src/run/ios/codeSigning/Security.js +39 -53
  241. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  242. package/build/src/run/ios/codeSigning/configureCodeSigning.js +9 -13
  243. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  244. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +19 -27
  245. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  246. package/build/src/run/ios/codeSigning/settings.js +5 -9
  247. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  248. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +12 -14
  249. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  250. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +21 -27
  251. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  252. package/build/src/run/ios/index.js +36 -40
  253. package/build/src/run/ios/index.js.map +1 -1
  254. package/build/src/run/ios/launchApp.js +17 -23
  255. package/build/src/run/ios/launchApp.js.map +1 -1
  256. package/build/src/run/ios/options/appleDestinations.js +36 -38
  257. package/build/src/run/ios/options/appleDestinations.js.map +1 -1
  258. package/build/src/run/ios/options/promptDevice.js +16 -20
  259. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  260. package/build/src/run/ios/options/resolveDevice.js +24 -30
  261. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  262. package/build/src/run/ios/options/resolveNativeScheme.js +23 -31
  263. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  264. package/build/src/run/ios/options/resolveOptions.js +5 -7
  265. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  266. package/build/src/run/ios/options/resolveXcodeProject.js +5 -7
  267. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  268. package/build/src/run/ios/runIosAsync.js +44 -48
  269. package/build/src/run/ios/runIosAsync.js.map +1 -1
  270. package/build/src/run/ios/validateExternalBinary.js +22 -24
  271. package/build/src/run/ios/validateExternalBinary.js.map +1 -1
  272. package/build/src/run/resolveBundlerProps.js +2 -4
  273. package/build/src/run/resolveBundlerProps.js.map +1 -1
  274. package/build/src/run/startBundler.js +12 -16
  275. package/build/src/run/startBundler.js.map +1 -1
  276. package/build/src/serve/index.js +16 -20
  277. package/build/src/serve/index.js.map +1 -1
  278. package/build/src/serve/serveAsync.js +32 -36
  279. package/build/src/serve/serveAsync.js.map +1 -1
  280. package/build/src/start/detectDevClient.js +9 -13
  281. package/build/src/start/detectDevClient.js.map +1 -1
  282. package/build/src/start/doctor/Prerequisite.js +7 -12
  283. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  284. package/build/src/start/doctor/SecurityBinPrerequisite.js +11 -13
  285. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  286. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +19 -23
  287. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  288. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +19 -23
  289. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  290. package/build/src/start/doctor/apple/XcodePrerequisite.js +45 -51
  291. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  292. package/build/src/start/doctor/apple/XcrunPrerequisite.js +16 -18
  293. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  294. package/build/src/start/doctor/dependencies/bundledNativeModules.js +19 -23
  295. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  296. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +25 -31
  297. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  298. package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -25
  299. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  300. package/build/src/start/doctor/dependencies/getVersionedPackages.js +32 -40
  301. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  302. package/build/src/start/doctor/dependencies/resolvePackages.js +26 -32
  303. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  304. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +31 -41
  305. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  306. package/build/src/start/doctor/ngrok/ExternalModule.js +29 -34
  307. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  308. package/build/src/start/doctor/ngrok/NgrokResolver.js +8 -12
  309. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  310. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +28 -32
  311. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  312. package/build/src/start/doctor/typescript/updateTSConfig.js +17 -23
  313. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  314. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +27 -33
  315. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  316. package/build/src/start/index.js +42 -46
  317. package/build/src/start/index.js.map +1 -1
  318. package/build/src/start/interface/KeyPressHandler.js +14 -18
  319. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  320. package/build/src/start/interface/commandsTable.js +80 -94
  321. package/build/src/start/interface/commandsTable.js.map +1 -1
  322. package/build/src/start/interface/interactiveActions.js +40 -44
  323. package/build/src/start/interface/interactiveActions.js.map +1 -1
  324. package/build/src/start/interface/startInterface.js +61 -65
  325. package/build/src/start/interface/startInterface.js.map +1 -1
  326. package/build/src/start/platforms/AppIdResolver.js +4 -6
  327. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  328. package/build/src/start/platforms/DeviceManager.js +6 -10
  329. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  330. package/build/src/start/platforms/ExpoGoInstaller.js +20 -25
  331. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  332. package/build/src/start/platforms/PlatformManager.js +15 -17
  333. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  334. package/build/src/start/platforms/android/ADBServer.js +35 -39
  335. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  336. package/build/src/start/platforms/android/AndroidAppIdResolver.js +16 -18
  337. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  338. package/build/src/start/platforms/android/AndroidDeviceManager.js +20 -24
  339. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  340. package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
  341. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  342. package/build/src/start/platforms/android/AndroidSdk.js +9 -11
  343. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  344. package/build/src/start/platforms/android/activateWindow.js +22 -26
  345. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  346. package/build/src/start/platforms/android/adb.js +83 -121
  347. package/build/src/start/platforms/android/adb.js.map +1 -1
  348. package/build/src/start/platforms/android/adbReverse.js +12 -20
  349. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  350. package/build/src/start/platforms/android/emulator.js +26 -36
  351. package/build/src/start/platforms/android/emulator.js.map +1 -1
  352. package/build/src/start/platforms/android/getDevices.js +5 -7
  353. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  354. package/build/src/start/platforms/android/gradle.js +28 -36
  355. package/build/src/start/platforms/android/gradle.js.map +1 -1
  356. package/build/src/start/platforms/android/promptAndroidDevice.js +15 -19
  357. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  358. package/build/src/start/platforms/ios/AppleAppIdResolver.js +19 -21
  359. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  360. package/build/src/start/platforms/ios/AppleDeviceManager.js +31 -37
  361. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  362. package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
  363. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  364. package/build/src/start/platforms/ios/assertSystemRequirements.js +7 -9
  365. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  366. package/build/src/start/platforms/ios/devicectl.js +73 -87
  367. package/build/src/start/platforms/ios/devicectl.js.map +1 -1
  368. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +18 -22
  369. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  370. package/build/src/start/platforms/ios/getBestSimulator.js +19 -29
  371. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  372. package/build/src/start/platforms/ios/promptAppleDevice.js +10 -14
  373. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  374. package/build/src/start/platforms/ios/simctl.js +74 -102
  375. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  376. package/build/src/start/platforms/ios/simctlLogging.js +52 -57
  377. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  378. package/build/src/start/platforms/ios/xcrun.js +18 -22
  379. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  380. package/build/src/start/project/devices.js +9 -19
  381. package/build/src/start/project/devices.js.map +1 -1
  382. package/build/src/start/project/dotExpo.js +11 -15
  383. package/build/src/start/project/dotExpo.js.map +1 -1
  384. package/build/src/start/project/settings.js +2 -4
  385. package/build/src/start/project/settings.js.map +1 -1
  386. package/build/src/start/resolveOptions.js +40 -48
  387. package/build/src/start/resolveOptions.js.map +1 -1
  388. package/build/src/start/server/AsyncNgrok.js +51 -55
  389. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  390. package/build/src/start/server/AsyncWsTunnel.js +36 -40
  391. package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
  392. package/build/src/start/server/BundlerDevServer.js +79 -81
  393. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  394. package/build/src/start/server/DevServerManager.js +38 -42
  395. package/build/src/start/server/DevServerManager.js.map +1 -1
  396. package/build/src/start/server/DevToolsPluginManager.js +14 -18
  397. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  398. package/build/src/start/server/DevelopmentSession.js +14 -18
  399. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  400. package/build/src/start/server/ReactDevToolsProxy.js +10 -16
  401. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  402. package/build/src/start/server/UrlCreator.js +33 -36
  403. package/build/src/start/server/UrlCreator.js.map +1 -1
  404. package/build/src/start/server/getStaticRenderFunctions.js +21 -29
  405. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  406. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +4 -6
  407. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
  408. package/build/src/start/server/metro/MetroBundlerDevServer.js +271 -269
  409. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  410. package/build/src/start/server/metro/MetroTerminalReporter.js +56 -63
  411. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  412. package/build/src/start/server/metro/TerminalReporter.js +33 -39
  413. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  414. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  415. package/build/src/start/server/metro/createExpoMetroResolver.js +40 -46
  416. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  417. package/build/src/start/server/metro/createJResolver.js +28 -32
  418. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  419. package/build/src/start/server/metro/createServerComponentsMiddleware.js +92 -96
  420. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  421. package/build/src/start/server/metro/createServerRouteMiddleware.js +30 -32
  422. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  423. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +11 -13
  424. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
  425. package/build/src/start/server/metro/debugging/MessageHandler.js +1 -3
  426. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  427. package/build/src/start/server/metro/debugging/attachAtlas.js +22 -26
  428. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
  429. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +17 -19
  430. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  431. package/build/src/start/server/metro/debugging/createHandlersFactory.js +31 -25
  432. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  433. package/build/src/start/server/metro/debugging/getDebuggerType.js +4 -6
  434. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  435. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +8 -14
  436. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  437. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +5 -7
  438. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  439. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +6 -8
  440. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  441. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +5 -7
  442. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  443. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +12 -14
  444. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
  445. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +10 -14
  446. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  447. package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -6
  448. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  449. package/build/src/start/server/metro/debugging/types.js.map +1 -1
  450. package/build/src/start/server/metro/dev-server/createEventSocket.js +16 -18
  451. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
  452. package/build/src/start/server/metro/dev-server/createMessageSocket.js +21 -23
  453. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
  454. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +21 -23
  455. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
  456. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +2 -4
  457. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
  458. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +2 -4
  459. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
  460. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +4 -8
  461. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
  462. package/build/src/start/server/metro/externals.js +25 -33
  463. package/build/src/start/server/metro/externals.js.map +1 -1
  464. package/build/src/start/server/metro/fetchRouterManifest.js +12 -16
  465. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  466. package/build/src/start/server/metro/formatFileCandidates.js +9 -11
  467. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  468. package/build/src/start/server/metro/getCssModulesFromBundler.js +18 -22
  469. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  470. package/build/src/start/server/metro/instantiateMetro.js +79 -85
  471. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  472. package/build/src/start/server/metro/log-box/LogBoxLog.js +36 -40
  473. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
  474. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +14 -20
  475. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
  476. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +6 -10
  477. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
  478. package/build/src/start/server/metro/metroErrorInterface.js +78 -88
  479. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  480. package/build/src/start/server/metro/metroErrors.js +4 -8
  481. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  482. package/build/src/start/server/metro/metroPrivateServer.js +7 -9
  483. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
  484. package/build/src/start/server/metro/metroVirtualModules.js +8 -10
  485. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  486. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +22 -24
  487. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  488. package/build/src/start/server/metro/router.js +32 -48
  489. package/build/src/start/server/metro/router.js.map +1 -1
  490. package/build/src/start/server/metro/runServer-fork.js +22 -24
  491. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  492. package/build/src/start/server/metro/serializeHtml.js +22 -24
  493. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  494. package/build/src/start/server/metro/symbolicate.js.map +1 -1
  495. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +29 -35
  496. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  497. package/build/src/start/server/metro/withMetroMultiPlatform.js +139 -149
  498. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  499. package/build/src/start/server/metro/withMetroResolvers.js +39 -49
  500. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  501. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +6 -8
  502. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  503. package/build/src/start/server/middleware/CorsMiddleware.js +15 -17
  504. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  505. package/build/src/start/server/middleware/CreateFileMiddleware.js +31 -32
  506. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  507. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +19 -22
  508. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  509. package/build/src/start/server/middleware/DomComponentsMiddleware.js +27 -33
  510. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  511. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +60 -64
  512. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  513. package/build/src/start/server/middleware/ExpoMiddleware.js +9 -15
  514. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  515. package/build/src/start/server/middleware/FaviconMiddleware.js +14 -15
  516. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  517. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +2 -4
  518. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  519. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +31 -34
  520. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  521. package/build/src/start/server/middleware/ManifestMiddleware.js +56 -64
  522. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  523. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +19 -23
  524. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  525. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +19 -20
  526. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  527. package/build/src/start/server/middleware/ServeStaticMiddleware.js +9 -11
  528. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  529. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +11 -17
  530. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
  531. package/build/src/start/server/middleware/inspector/CdpClient.js +10 -12
  532. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
  533. package/build/src/start/server/middleware/inspector/JsInspector.js +27 -35
  534. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  535. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +19 -21
  536. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  537. package/build/src/start/server/middleware/inspector/middlwareMutations.js +2 -6
  538. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  539. package/build/src/start/server/middleware/metroOptions.js +96 -120
  540. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  541. package/build/src/start/server/middleware/mutations.js +3 -7
  542. package/build/src/start/server/middleware/mutations.js.map +1 -1
  543. package/build/src/start/server/middleware/resolveAssets.js +18 -26
  544. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  545. package/build/src/start/server/middleware/resolvePlatform.js +15 -23
  546. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  547. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +9 -11
  548. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
  549. package/build/src/start/server/middleware/server.types.js.map +1 -1
  550. package/build/src/start/server/openPlatforms.js +8 -10
  551. package/build/src/start/server/openPlatforms.js.map +1 -1
  552. package/build/src/start/server/platformBundlers.js +11 -13
  553. package/build/src/start/server/platformBundlers.js.map +1 -1
  554. package/build/src/start/server/serverLogLikeMetro.js +50 -58
  555. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  556. package/build/src/start/server/type-generation/expo-env.js +7 -11
  557. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  558. package/build/src/start/server/type-generation/routes.js +54 -76
  559. package/build/src/start/server/type-generation/routes.js.map +1 -1
  560. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +19 -21
  561. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  562. package/build/src/start/server/type-generation/tsconfig.js +28 -36
  563. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  564. package/build/src/start/server/webTemplate.js +24 -28
  565. package/build/src/start/server/webTemplate.js.map +1 -1
  566. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +46 -52
  567. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  568. package/build/src/start/server/webpack/compile.js +11 -15
  569. package/build/src/start/server/webpack/compile.js.map +1 -1
  570. package/build/src/start/server/webpack/formatWebpackMessages.js +26 -28
  571. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  572. package/build/src/start/server/webpack/resolveFromProject.js +12 -18
  573. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  574. package/build/src/start/server/webpack/tls.js +12 -18
  575. package/build/src/start/server/webpack/tls.js.map +1 -1
  576. package/build/src/start/startAsync.js +27 -31
  577. package/build/src/start/startAsync.js.map +1 -1
  578. package/build/src/utils/FileNotifier.js +17 -20
  579. package/build/src/utils/FileNotifier.js.map +1 -1
  580. package/build/src/utils/ansi.js +5 -7
  581. package/build/src/utils/ansi.js.map +1 -1
  582. package/build/src/utils/args.js +14 -24
  583. package/build/src/utils/args.js.map +1 -1
  584. package/build/src/utils/array.js +6 -18
  585. package/build/src/utils/array.js.map +1 -1
  586. package/build/src/utils/cocoapods.js +46 -54
  587. package/build/src/utils/cocoapods.js.map +1 -1
  588. package/build/src/utils/codesigning.js +68 -78
  589. package/build/src/utils/codesigning.js.map +1 -1
  590. package/build/src/utils/createFileTransform.js +12 -16
  591. package/build/src/utils/createFileTransform.js.map +1 -1
  592. package/build/src/utils/createTempPath.js +13 -17
  593. package/build/src/utils/createTempPath.js.map +1 -1
  594. package/build/src/utils/delay.js +6 -12
  595. package/build/src/utils/delay.js.map +1 -1
  596. package/build/src/utils/dir.js +28 -46
  597. package/build/src/utils/dir.js.map +1 -1
  598. package/build/src/utils/downloadAppAsync.js +8 -10
  599. package/build/src/utils/downloadAppAsync.js.map +1 -1
  600. package/build/src/utils/downloadExpoGoAsync.js +21 -25
  601. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  602. package/build/src/utils/editor.js +35 -41
  603. package/build/src/utils/editor.js.map +1 -1
  604. package/build/src/utils/env.js +59 -63
  605. package/build/src/utils/env.js.map +1 -1
  606. package/build/src/utils/errors.js +30 -37
  607. package/build/src/utils/errors.js.map +1 -1
  608. package/build/src/utils/exit.js +31 -35
  609. package/build/src/utils/exit.js.map +1 -1
  610. package/build/src/utils/expoUpdatesCli.js +22 -32
  611. package/build/src/utils/expoUpdatesCli.js.map +1 -1
  612. package/build/src/utils/fetch.js +4 -8
  613. package/build/src/utils/fetch.js.map +1 -1
  614. package/build/src/utils/filePath.js +6 -10
  615. package/build/src/utils/filePath.js.map +1 -1
  616. package/build/src/utils/findUp.js +9 -13
  617. package/build/src/utils/findUp.js.map +1 -1
  618. package/build/src/utils/fn.js +2 -6
  619. package/build/src/utils/fn.js.map +1 -1
  620. package/build/src/utils/getOrPromptApplicationId.js +26 -32
  621. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  622. package/build/src/utils/getRunningProcess.js +21 -29
  623. package/build/src/utils/getRunningProcess.js.map +1 -1
  624. package/build/src/utils/git.js +20 -26
  625. package/build/src/utils/git.js.map +1 -1
  626. package/build/src/utils/glob.js +4 -8
  627. package/build/src/utils/glob.js.map +1 -1
  628. package/build/src/utils/interactive.js +1 -3
  629. package/build/src/utils/interactive.js.map +1 -1
  630. package/build/src/utils/ip.js +19 -21
  631. package/build/src/utils/ip.js.map +1 -1
  632. package/build/src/utils/isModuleSymlinked.js +9 -11
  633. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  634. package/build/src/utils/jsonSchemaDeref.js +18 -20
  635. package/build/src/utils/jsonSchemaDeref.js.map +1 -1
  636. package/build/src/utils/link.js +13 -17
  637. package/build/src/utils/link.js.map +1 -1
  638. package/build/src/utils/mergeGitIgnorePaths.js +28 -46
  639. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  640. package/build/src/utils/modifyConfigAsync.js +10 -16
  641. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  642. package/build/src/utils/modifyConfigPlugins.js +6 -10
  643. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  644. package/build/src/utils/nodeEnv.js +6 -12
  645. package/build/src/utils/nodeEnv.js.map +1 -1
  646. package/build/src/utils/nodeModules.js +8 -10
  647. package/build/src/utils/nodeModules.js.map +1 -1
  648. package/build/src/utils/npm.js +36 -50
  649. package/build/src/utils/npm.js.map +1 -1
  650. package/build/src/utils/obj.js +5 -11
  651. package/build/src/utils/obj.js.map +1 -1
  652. package/build/src/utils/open.js +8 -10
  653. package/build/src/utils/open.js.map +1 -1
  654. package/build/src/utils/ora.js +7 -13
  655. package/build/src/utils/ora.js.map +1 -1
  656. package/build/src/utils/plist.js +15 -21
  657. package/build/src/utils/plist.js.map +1 -1
  658. package/build/src/utils/port.js +33 -43
  659. package/build/src/utils/port.js.map +1 -1
  660. package/build/src/utils/profile.js +7 -11
  661. package/build/src/utils/profile.js.map +1 -1
  662. package/build/src/utils/progress.js +5 -11
  663. package/build/src/utils/progress.js.map +1 -1
  664. package/build/src/utils/prompts.js +29 -47
  665. package/build/src/utils/prompts.js.map +1 -1
  666. package/build/src/utils/resolveArgs.js +24 -36
  667. package/build/src/utils/resolveArgs.js.map +1 -1
  668. package/build/src/utils/scheme.js +32 -40
  669. package/build/src/utils/scheme.js.map +1 -1
  670. package/build/src/utils/stream.js +3 -5
  671. package/build/src/utils/stream.js.map +1 -1
  672. package/build/src/utils/strings.js +4 -6
  673. package/build/src/utils/strings.js.map +1 -1
  674. package/build/src/utils/tar.js +15 -19
  675. package/build/src/utils/tar.js.map +1 -1
  676. package/build/src/utils/telemetry/Telemetry.js +27 -29
  677. package/build/src/utils/telemetry/Telemetry.js.map +1 -1
  678. package/build/src/utils/telemetry/clients/FetchClient.js +13 -15
  679. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
  680. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +22 -26
  681. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
  682. package/build/src/utils/telemetry/clients/RudderClient.js +8 -10
  683. package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
  684. package/build/src/utils/telemetry/clients/RudderDetachedClient.js +22 -26
  685. package/build/src/utils/telemetry/clients/RudderDetachedClient.js.map +1 -1
  686. package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
  687. package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
  688. package/build/src/utils/telemetry/clients/flushRudderDetached.js +10 -10
  689. package/build/src/utils/telemetry/clients/flushRudderDetached.js.map +1 -1
  690. package/build/src/utils/telemetry/events.js +2 -4
  691. package/build/src/utils/telemetry/events.js.map +1 -1
  692. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  693. package/build/src/utils/telemetry/index.js +29 -25
  694. package/build/src/utils/telemetry/index.js.map +1 -1
  695. package/build/src/utils/telemetry/types.js.map +1 -1
  696. package/build/src/utils/telemetry/utils/constants.js +4 -8
  697. package/build/src/utils/telemetry/utils/constants.js.map +1 -1
  698. package/build/src/utils/telemetry/utils/context.js +14 -18
  699. package/build/src/utils/telemetry/utils/context.js.map +1 -1
  700. package/build/src/utils/template.js +4 -6
  701. package/build/src/utils/template.js.map +1 -1
  702. package/build/src/utils/terminal.js +2 -4
  703. package/build/src/utils/terminal.js.map +1 -1
  704. package/build/src/utils/tsconfig/evaluateTsConfig.js +17 -21
  705. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  706. package/build/src/utils/tsconfig/loadTsConfigPaths.js +14 -18
  707. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  708. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +5 -7
  709. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  710. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -14
  711. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  712. package/build/src/utils/url.js +13 -23
  713. package/build/src/utils/url.js.map +1 -1
  714. package/build/src/utils/validateApplicationId.js +86 -108
  715. package/build/src/utils/validateApplicationId.js.map +1 -1
  716. package/build/src/utils/variadic.js +16 -22
  717. package/build/src/utils/variadic.js.map +1 -1
  718. package/build/src/whoami/index.js +7 -11
  719. package/build/src/whoami/index.js.map +1 -1
  720. package/build/src/whoami/whoamiAsync.js +7 -11
  721. package/build/src/whoami/whoamiAsync.js.map +1 -1
  722. package/package.json +3 -3
@@ -9,9 +9,7 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  Object.defineProperty(exports, "MetroBundlerDevServer", {
11
11
  enumerable: true,
12
- get: function() {
13
- return MetroBundlerDevServer;
14
- }
12
+ get: ()=>MetroBundlerDevServer
15
13
  });
16
14
  function _config() {
17
15
  const data = require("@expo/config");
@@ -28,28 +26,28 @@ function _paths() {
28
26
  return data;
29
27
  }
30
28
  function _env() {
31
- const data = /*#__PURE__*/ _interop_require_wildcard(require("@expo/env"));
29
+ const data = /*#__PURE__*/ _interopRequireWildcard(require("@expo/env"));
32
30
  _env = function() {
33
31
  return data;
34
32
  };
35
33
  return data;
36
34
  }
37
35
  function _assert() {
38
- const data = /*#__PURE__*/ _interop_require_default(require("assert"));
36
+ const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
39
37
  _assert = function() {
40
38
  return data;
41
39
  };
42
40
  return data;
43
41
  }
44
42
  function _chalk() {
45
- const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
43
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
46
44
  _chalk = function() {
47
45
  return data;
48
46
  };
49
47
  return data;
50
48
  }
51
49
  function _baseJSBundle() {
52
- const data = /*#__PURE__*/ _interop_require_default(require("metro/src/DeltaBundler/Serializers/baseJSBundle"));
50
+ const data = /*#__PURE__*/ _interopRequireDefault(require("metro/src/DeltaBundler/Serializers/baseJSBundle"));
53
51
  _baseJSBundle = function() {
54
52
  return data;
55
53
  };
@@ -63,29 +61,29 @@ function _sourceMapGenerator() {
63
61
  return data;
64
62
  }
65
63
  function _bundleToString() {
66
- const data = /*#__PURE__*/ _interop_require_default(require("metro/src/lib/bundleToString"));
64
+ const data = /*#__PURE__*/ _interopRequireDefault(require("metro/src/lib/bundleToString"));
67
65
  _bundleToString = function() {
68
66
  return data;
69
67
  };
70
68
  return data;
71
69
  }
72
70
  function _getGraphId() {
73
- const data = /*#__PURE__*/ _interop_require_default(require("metro/src/lib/getGraphId"));
71
+ const data = /*#__PURE__*/ _interopRequireDefault(require("metro/src/lib/getGraphId"));
74
72
  _getGraphId = function() {
75
73
  return data;
76
74
  };
77
75
  return data;
78
76
  }
79
77
  function _path() {
80
- const data = /*#__PURE__*/ _interop_require_default(require("path"));
78
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
81
79
  _path = function() {
82
80
  return data;
83
81
  };
84
82
  return data;
85
83
  }
86
- function _resolvefrom() {
87
- const data = /*#__PURE__*/ _interop_require_default(require("resolve-from"));
88
- _resolvefrom = function() {
84
+ function _resolveFrom() {
85
+ const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
86
+ _resolveFrom = function() {
89
87
  return data;
90
88
  };
91
89
  return data;
@@ -105,23 +103,23 @@ const _env1 = require("../../../utils/env");
105
103
  const _errors = require("../../../utils/errors");
106
104
  const _filePath = require("../../../utils/filePath");
107
105
  const _port = require("../../../utils/port");
108
- const _BundlerDevServer = require("../BundlerDevServer");
106
+ const _bundlerDevServer = require("../BundlerDevServer");
109
107
  const _getStaticRenderFunctions = require("../getStaticRenderFunctions");
110
- const _ContextModuleSourceMapsMiddleware = require("../middleware/ContextModuleSourceMapsMiddleware");
111
- const _CreateFileMiddleware = require("../middleware/CreateFileMiddleware");
112
- const _DevToolsPluginMiddleware = require("../middleware/DevToolsPluginMiddleware");
113
- const _DomComponentsMiddleware = require("../middleware/DomComponentsMiddleware");
114
- const _FaviconMiddleware = require("../middleware/FaviconMiddleware");
115
- const _HistoryFallbackMiddleware = require("../middleware/HistoryFallbackMiddleware");
116
- const _InterstitialPageMiddleware = require("../middleware/InterstitialPageMiddleware");
117
- const _ManifestMiddleware = require("../middleware/ManifestMiddleware");
118
- const _ReactDevToolsPageMiddleware = require("../middleware/ReactDevToolsPageMiddleware");
119
- const _RuntimeRedirectMiddleware = require("../middleware/RuntimeRedirectMiddleware");
120
- const _ServeStaticMiddleware = require("../middleware/ServeStaticMiddleware");
108
+ const _contextModuleSourceMapsMiddleware = require("../middleware/ContextModuleSourceMapsMiddleware");
109
+ const _createFileMiddleware = require("../middleware/CreateFileMiddleware");
110
+ const _devToolsPluginMiddleware = require("../middleware/DevToolsPluginMiddleware");
111
+ const _domComponentsMiddleware = require("../middleware/DomComponentsMiddleware");
112
+ const _faviconMiddleware = require("../middleware/FaviconMiddleware");
113
+ const _historyFallbackMiddleware = require("../middleware/HistoryFallbackMiddleware");
114
+ const _interstitialPageMiddleware = require("../middleware/InterstitialPageMiddleware");
115
+ const _manifestMiddleware = require("../middleware/ManifestMiddleware");
116
+ const _reactDevToolsPageMiddleware = require("../middleware/ReactDevToolsPageMiddleware");
117
+ const _runtimeRedirectMiddleware = require("../middleware/RuntimeRedirectMiddleware");
118
+ const _serveStaticMiddleware = require("../middleware/ServeStaticMiddleware");
121
119
  const _metroOptions = require("../middleware/metroOptions");
122
120
  const _mutations = require("../middleware/mutations");
123
121
  const _startTypescriptTypeGeneration = require("../type-generation/startTypescriptTypeGeneration");
124
- function _interop_require_default(obj) {
122
+ function _interopRequireDefault(obj) {
125
123
  return obj && obj.__esModule ? obj : {
126
124
  default: obj
127
125
  };
@@ -134,7 +132,7 @@ function _getRequireWildcardCache(nodeInterop) {
134
132
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
135
133
  })(nodeInterop);
136
134
  }
137
- function _interop_require_wildcard(obj, nodeInterop) {
135
+ function _interopRequireWildcard(obj, nodeInterop) {
138
136
  if (!nodeInterop && obj && obj.__esModule) {
139
137
  return obj;
140
138
  }
@@ -147,9 +145,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
147
145
  if (cache && cache.has(obj)) {
148
146
  return cache.get(obj);
149
147
  }
150
- var newObj = {
151
- __proto__: null
152
- };
148
+ var newObj = {};
153
149
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
154
150
  for(var key in obj){
155
151
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -167,12 +163,15 @@ function _interop_require_wildcard(obj, nodeInterop) {
167
163
  }
168
164
  return newObj;
169
165
  }
170
- const debug = require('debug')('expo:start:server:metro');
166
+ const debug = require("debug")("expo:start:server:metro");
171
167
  /** Default port to use for apps running in Expo Go. */ const EXPO_GO_METRO_PORT = 8081;
172
168
  /** Default port to use for apps that run in standard React Native projects or Expo Dev Clients. */ const DEV_CLIENT_METRO_PORT = 8081;
173
- class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
169
+ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
170
+ metro = null;
171
+ hmrServer = null;
172
+ ssrHmrClients = new Map();
174
173
  get name() {
175
- return 'metro';
174
+ return "metro";
176
175
  }
177
176
  async resolvePortAsync(options = {}) {
178
177
  const port = // If the manually defined port is busy then an error should be thrown...
@@ -180,26 +179,26 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
180
179
  (options.devClient ? Number(process.env.RCT_METRO_PORT) || DEV_CLIENT_METRO_PORT : await (0, _port.getFreePortAsync)(EXPO_GO_METRO_PORT));
181
180
  return port;
182
181
  }
183
- async exportExpoRouterApiRoutesAsync({ includeSourceMaps, outputDir, prerenderManifest, platform }) {
184
- const { routerRoot } = this.instanceMetroOptions;
185
- (0, _assert().default)(routerRoot != null, 'The server must be started before calling exportExpoRouterApiRoutesAsync.');
182
+ async exportExpoRouterApiRoutesAsync({ includeSourceMaps , outputDir , prerenderManifest , platform }) {
183
+ const { routerRoot } = this.instanceMetroOptions;
184
+ (0, _assert().default)(routerRoot != null, "The server must be started before calling exportExpoRouterApiRoutesAsync.");
186
185
  const appDir = _path().default.join(this.projectRoot, routerRoot);
187
186
  const manifest = await this.getExpoRouterRoutesManifestAsync({
188
187
  appDir
189
188
  });
190
189
  const files = new Map();
191
190
  // Inject RSC middleware.
192
- const rscPath = '/_flight/[...rsc]';
191
+ const rscPath = "/_flight/[...rsc]";
193
192
  if (this.isReactServerComponentsEnabled && // If the RSC route is not already in the manifest, add it.
194
- !manifest.apiRoutes.find((route)=>route.page.startsWith('/_flight/'))) {
195
- debug('Adding RSC route to the manifest:', rscPath);
193
+ !manifest.apiRoutes.find((route)=>route.page.startsWith("/_flight/"))) {
194
+ debug("Adding RSC route to the manifest:", rscPath);
196
195
  // NOTE: This might need to be sorted to the correct spot in the future.
197
196
  manifest.apiRoutes.push({
198
- file: (0, _resolvefrom().default)(this.projectRoot, '@expo/cli/static/template/[...rsc]+api.ts'),
197
+ file: (0, _resolveFrom().default)(this.projectRoot, "@expo/cli/static/template/[...rsc]+api.ts"),
199
198
  page: rscPath,
200
- namedRegex: '^/_flight(?:/(?<rsc>.+?))?(?:/)?$',
199
+ namedRegex: "^/_flight(?:/(?<rsc>.+?))?(?:/)?$",
201
200
  routeKeys: {
202
- rsc: 'rsc'
201
+ rsc: "rsc"
203
202
  }
204
203
  });
205
204
  }
@@ -208,21 +207,21 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
208
207
  const contents = await this.bundleApiRoute(filepath, {
209
208
  platform
210
209
  });
211
- const artifactFilename = route.page === rscPath ? (0, _metroOptions.convertPathToModuleSpecifier)(_path().default.join(outputDir, '.' + rscPath + '.js')) : (0, _metroOptions.convertPathToModuleSpecifier)(_path().default.join(outputDir, _path().default.relative(appDir, filepath.replace(/\.[tj]sx?$/, '.js'))));
210
+ const artifactFilename = route.page === rscPath ? (0, _metroOptions.convertPathToModuleSpecifier)(_path().default.join(outputDir, "." + rscPath + ".js")) : (0, _metroOptions.convertPathToModuleSpecifier)(_path().default.join(outputDir, _path().default.relative(appDir, filepath.replace(/\.[tj]sx?$/, ".js"))));
212
211
  if (contents) {
213
212
  let src = contents.src;
214
213
  if (includeSourceMaps && contents.map) {
215
214
  // TODO(kitten): Merge the source map transformer in the future
216
215
  // https://github.com/expo/expo/blob/0dffdb15/packages/%40expo/metro-config/src/serializer/serializeChunks.ts#L422-L439
217
216
  // Alternatively, check whether `sourcesRoot` helps here
218
- const artifactBasename = encodeURIComponent(_path().default.basename(artifactFilename) + '.map');
217
+ const artifactBasename = encodeURIComponent(_path().default.basename(artifactFilename) + ".map");
219
218
  src = src.replace(/\/\/# sourceMappingURL=.*/g, `//# sourceMappingURL=${artifactBasename}`);
220
- const parsedMap = typeof contents.map === 'string' ? JSON.parse(contents.map) : contents.map;
221
- files.set(artifactFilename + '.map', {
219
+ const parsedMap = typeof contents.map === "string" ? JSON.parse(contents.map) : contents.map;
220
+ files.set(artifactFilename + ".map", {
222
221
  contents: JSON.stringify({
223
222
  version: parsedMap.version,
224
223
  sources: parsedMap.sources.map((source)=>{
225
- source = typeof source === 'string' && source.startsWith(this.projectRoot) ? _path().default.relative(this.projectRoot, source) : source;
224
+ source = typeof source === "string" && source.startsWith(this.projectRoot) ? _path().default.relative(this.projectRoot, source) : source;
226
225
  return (0, _metroOptions.convertPathToModuleSpecifier)(source);
227
226
  }),
228
227
  sourcesContent: new Array(parsedMap.sources.length).fill(null),
@@ -230,13 +229,13 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
230
229
  mappings: parsedMap.mappings
231
230
  }),
232
231
  apiRouteId: route.page,
233
- targetDomain: 'server'
232
+ targetDomain: "server"
234
233
  });
235
234
  }
236
235
  files.set(artifactFilename, {
237
236
  contents: src,
238
237
  apiRouteId: route.page,
239
- targetDomain: 'server'
238
+ targetDomain: "server"
240
239
  });
241
240
  }
242
241
  // Remap the manifest files to represent the output files.
@@ -250,25 +249,25 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
250
249
  files
251
250
  };
252
251
  }
253
- async getExpoRouterRoutesManifestAsync({ appDir }) {
254
- var _exp_extra_router, _exp_extra;
252
+ async getExpoRouterRoutesManifestAsync({ appDir }) {
253
+ var ref, ref1;
255
254
  // getBuiltTimeServerManifest
256
- const { exp } = (0, _config().getConfig)(this.projectRoot);
255
+ const { exp } = (0, _config().getConfig)(this.projectRoot);
257
256
  const manifest = await (0, _fetchRouterManifest.fetchManifest)(this.projectRoot, {
258
- ...(_exp_extra = exp.extra) == null ? void 0 : (_exp_extra_router = _exp_extra.router) == null ? void 0 : _exp_extra_router.platformRoutes,
257
+ ...(ref = exp.extra) == null ? void 0 : (ref1 = ref.router) == null ? void 0 : ref1.platformRoutes,
259
258
  asJson: true,
260
259
  appDir
261
260
  });
262
261
  if (!manifest) {
263
- throw new _errors.CommandError('EXPO_ROUTER_SERVER_MANIFEST', 'Unexpected error: server manifest could not be fetched.');
262
+ throw new _errors.CommandError("EXPO_ROUTER_SERVER_MANIFEST", "Unexpected error: server manifest could not be fetched.");
264
263
  }
265
264
  return manifest;
266
265
  }
267
266
  async getServerManifestAsync() {
268
267
  // NOTE: This could probably be folded back into `renderStaticContent` when expo-asset and font support RSC.
269
- const { getBuildTimeServerManifestAsync, getManifest } = await this.ssrLoadModule('expo-router/build/static/getServerManifest.js', {
268
+ const { getBuildTimeServerManifestAsync , getManifest } = await this.ssrLoadModule("expo-router/build/static/getServerManifest.js", {
270
269
  // Only use react-server environment when the routes are using react-server rendering by default.
271
- environment: this.isReactServerRoutesEnabled ? 'react-server' : 'node'
270
+ environment: this.isReactServerRoutesEnabled ? "react-server" : "node"
272
271
  });
273
272
  return {
274
273
  serverManifest: await getBuildTimeServerManifestAsync(),
@@ -276,20 +275,20 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
276
275
  };
277
276
  }
278
277
  async getStaticRenderFunctionAsync() {
279
- var _exp_extra;
278
+ var ref;
280
279
  const url = this.getDevServerUrlOrAssert();
281
- const { getStaticContent, getManifest, getBuildTimeServerManifestAsync } = await this.ssrLoadModule('expo-router/node/render.js', {
280
+ const { getStaticContent , getManifest , getBuildTimeServerManifestAsync } = await this.ssrLoadModule("expo-router/node/render.js", {
282
281
  // This must always use the legacy rendering resolution (no `react-server`) because it leverages
283
282
  // the previous React SSG utilities which aren't available in React 19.
284
- environment: 'node'
283
+ environment: "node"
285
284
  });
286
- const { exp } = (0, _config().getConfig)(this.projectRoot);
285
+ const { exp } = (0, _config().getConfig)(this.projectRoot);
287
286
  return {
288
287
  serverManifest: await getBuildTimeServerManifestAsync(),
289
288
  // Get routes from Expo Router.
290
289
  manifest: await getManifest({
291
290
  preserveApiRoutes: false,
292
- ...(_exp_extra = exp.extra) == null ? void 0 : _exp_extra.router
291
+ ...(ref = exp.extra) == null ? void 0 : ref.router
293
292
  }),
294
293
  // Get route generating function
295
294
  async renderAsync (path) {
@@ -297,10 +296,10 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
297
296
  }
298
297
  };
299
298
  }
300
- async getStaticResourcesAsync({ includeSourceMaps, mainModuleName, clientBoundaries = this.instanceMetroOptions.clientBoundaries ?? [], platform = 'web' } = {}) {
301
- const { mode, minify, isExporting, baseUrl, reactCompiler, routerRoot, asyncRoutes } = this.instanceMetroOptions;
302
- (0, _assert().default)(mode != null && isExporting != null && baseUrl != null && routerRoot != null && reactCompiler != null && asyncRoutes != null, 'The server must be started before calling getStaticResourcesAsync.');
303
- const resolvedMainModuleName = mainModuleName ?? './' + (0, _ManifestMiddleware.resolveMainModuleName)(this.projectRoot, {
299
+ async getStaticResourcesAsync({ includeSourceMaps , mainModuleName , clientBoundaries =this.instanceMetroOptions.clientBoundaries ?? [] , platform ="web" } = {}) {
300
+ const { mode , minify , isExporting , baseUrl , reactCompiler , routerRoot , asyncRoutes } = this.instanceMetroOptions;
301
+ (0, _assert().default)(mode != null && isExporting != null && baseUrl != null && routerRoot != null && reactCompiler != null && asyncRoutes != null, "The server must be started before calling getStaticResourcesAsync.");
302
+ const resolvedMainModuleName = mainModuleName ?? "./" + (0, _manifestMiddleware.resolveMainModuleName)(this.projectRoot, {
304
303
  platform
305
304
  });
306
305
  return await this.metroImportAsArtifactsAsync(resolvedMainModuleName, {
@@ -308,7 +307,7 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
308
307
  platform,
309
308
  mode,
310
309
  minify,
311
- environment: 'client',
310
+ environment: "client",
312
311
  serializerIncludeMaps: includeSourceMaps,
313
312
  mainModuleName: resolvedMainModuleName,
314
313
  lazy: (0, _metroOptions.shouldEnableAsyncImports)(this.projectRoot),
@@ -322,16 +321,16 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
322
321
  });
323
322
  }
324
323
  async getStaticPageAsync(pathname) {
325
- const { mode, isExporting, clientBoundaries, baseUrl, reactCompiler, routerRoot, asyncRoutes } = this.instanceMetroOptions;
326
- (0, _assert().default)(mode != null && isExporting != null && baseUrl != null && reactCompiler != null && routerRoot != null && asyncRoutes != null, 'The server must be started before calling getStaticPageAsync.');
327
- const platform = 'web';
324
+ const { mode , isExporting , clientBoundaries , baseUrl , reactCompiler , routerRoot , asyncRoutes } = this.instanceMetroOptions;
325
+ (0, _assert().default)(mode != null && isExporting != null && baseUrl != null && reactCompiler != null && routerRoot != null && asyncRoutes != null, "The server must be started before calling getStaticPageAsync.");
326
+ const platform = "web";
328
327
  const devBundleUrlPathname = (0, _metroOptions.createBundleUrlPath)({
329
328
  splitChunks: isExporting && !_env1.env.EXPO_NO_BUNDLE_SPLITTING,
330
329
  platform,
331
330
  mode,
332
- environment: 'client',
331
+ environment: "client",
333
332
  reactCompiler,
334
- mainModuleName: (0, _ManifestMiddleware.resolveMainModuleName)(this.projectRoot, {
333
+ mainModuleName: (0, _manifestMiddleware.resolveMainModuleName)(this.projectRoot, {
335
334
  platform
336
335
  }),
337
336
  lazy: (0, _metroOptions.shouldEnableAsyncImports)(this.projectRoot),
@@ -343,10 +342,10 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
343
342
  bytecode: false
344
343
  });
345
344
  const bundleStaticHtml = async ()=>{
346
- const { getStaticContent } = await this.ssrLoadModule('expo-router/node/render.js', {
345
+ const { getStaticContent } = await this.ssrLoadModule("expo-router/node/render.js", {
347
346
  // This must always use the legacy rendering resolution (no `react-server`) because it leverages
348
347
  // the previous React SSG utilities which aren't available in React 19.
349
- environment: 'node',
348
+ environment: "node",
350
349
  minify: false,
351
350
  isExporting,
352
351
  platform
@@ -354,11 +353,11 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
354
353
  const location = new URL(pathname, this.getDevServerUrlOrAssert());
355
354
  return await getStaticContent(location);
356
355
  };
357
- const [{ artifacts: resources }, staticHtml] = await Promise.all([
356
+ const [{ artifacts: resources }, staticHtml] = await Promise.all([
358
357
  this.getStaticResourcesAsync({
359
358
  clientBoundaries: []
360
359
  }),
361
- bundleStaticHtml()
360
+ bundleStaticHtml(),
362
361
  ]);
363
362
  const content = (0, _serializeHtml.serializeHtmlWithAssets)({
364
363
  isExporting,
@@ -373,9 +372,23 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
373
372
  resources
374
373
  };
375
374
  }
375
+ // Set when the server is started.
376
+ instanceMetroOptions = {};
377
+ ssrLoadModule = async (filePath, specificOptions = {}, extras = {})=>{
378
+ const res = await this.ssrLoadModuleContents(filePath, specificOptions);
379
+ if (// TODO: hot should be a callback function for invalidating the related SSR module.
380
+ extras.hot && this.instanceMetroOptions.isExporting !== true) {
381
+ // Register SSR HMR
382
+ const serverRoot = (0, _paths().getMetroServerRoot)(this.projectRoot);
383
+ const relativePath = _path().default.relative(serverRoot, res.filename);
384
+ const url = new URL(relativePath, this.getDevServerUrlOrAssert());
385
+ this.setupHmr(url);
386
+ }
387
+ return (0, _getStaticRenderFunctions.evalMetroAndWrapFunctions)(this.projectRoot, res.src, res.filename, specificOptions.isExporting ?? this.instanceMetroOptions.isExporting);
388
+ };
376
389
  async metroImportAsArtifactsAsync(filePath, specificOptions = {}) {
377
390
  const results = await this.ssrLoadModuleContents(filePath, {
378
- serializerOutput: 'static',
391
+ serializerOutput: "static",
379
392
  ...specificOptions
380
393
  });
381
394
  // NOTE: This could potentially need more validation in the future.
@@ -388,22 +401,22 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
388
401
  map: results.map
389
402
  };
390
403
  }
391
- throw new _errors.CommandError('Invalid bundler results: ' + results);
404
+ throw new _errors.CommandError("Invalid bundler results: " + results);
392
405
  }
393
406
  async metroLoadModuleContents(filePath, specificOptions, extraOptions = {}) {
394
- const { baseUrl } = this.instanceMetroOptions;
395
- (0, _assert().default)(baseUrl != null, 'The server must be started before calling metroLoadModuleContents.');
407
+ const { baseUrl } = this.instanceMetroOptions;
408
+ (0, _assert().default)(baseUrl != null, "The server must be started before calling metroLoadModuleContents.");
396
409
  const opts = {
397
410
  // TODO: Possibly issues with using an absolute path here...
398
411
  // mainModuleName: filePath,
399
412
  lazy: false,
400
413
  asyncRoutes: false,
401
414
  inlineSourceMap: false,
402
- engine: 'hermes',
415
+ engine: "hermes",
403
416
  minify: false,
404
417
  // bytecode: false,
405
418
  // Bundle in Node.js mode for SSR.
406
- environment: 'node',
419
+ environment: "node",
407
420
  // platform: 'web',
408
421
  // mode: 'development',
409
422
  //
@@ -422,10 +435,10 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
422
435
  dev: expoBundleOptions.dev ?? true,
423
436
  hot: true,
424
437
  minify: expoBundleOptions.minify ?? false,
425
- type: 'module',
426
- unstable_transformProfile: extraOptions.unstable_transformProfile ?? expoBundleOptions.unstable_transformProfile ?? 'default',
438
+ type: "module",
439
+ unstable_transformProfile: extraOptions.unstable_transformProfile ?? expoBundleOptions.unstable_transformProfile ?? "default",
427
440
  customTransformOptions: expoBundleOptions.customTransformOptions ?? Object.create(null),
428
- platform: expoBundleOptions.platform ?? 'web',
441
+ platform: expoBundleOptions.platform ?? "web",
429
442
  // @ts-expect-error: `runtimeBytecodeVersion` does not exist in `expoBundleOptions` or `TransformInputOptions`
430
443
  runtimeBytecodeVersion: expoBundleOptions.runtimeBytecodeVersion
431
444
  };
@@ -463,21 +476,21 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
463
476
  };
464
477
  }
465
478
  async ssrLoadModuleContents(filePath, specificOptions = {}) {
466
- const { baseUrl, routerRoot, isExporting } = this.instanceMetroOptions;
467
- (0, _assert().default)(baseUrl != null && routerRoot != null && isExporting != null, 'The server must be started before calling ssrLoadModuleContents.');
479
+ const { baseUrl , routerRoot , isExporting } = this.instanceMetroOptions;
480
+ (0, _assert().default)(baseUrl != null && routerRoot != null && isExporting != null, "The server must be started before calling ssrLoadModuleContents.");
468
481
  const opts = {
469
482
  // TODO: Possibly issues with using an absolute path here...
470
483
  mainModuleName: (0, _metroOptions.convertPathToModuleSpecifier)(filePath),
471
484
  lazy: false,
472
485
  asyncRoutes: false,
473
486
  inlineSourceMap: false,
474
- engine: 'hermes',
487
+ engine: "hermes",
475
488
  minify: false,
476
489
  bytecode: false,
477
490
  // Bundle in Node.js mode for SSR unless RSC is enabled.
478
- environment: this.isReactServerComponentsEnabled ? 'react-server' : 'node',
479
- platform: 'web',
480
- mode: 'development',
491
+ environment: this.isReactServerComponentsEnabled ? "react-server" : "node",
492
+ platform: "web",
493
+ mode: "development",
481
494
  //
482
495
  ...this.instanceMetroOptions,
483
496
  // Mostly disable compiler in SSR bundles.
@@ -488,16 +501,16 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
488
501
  ...specificOptions
489
502
  };
490
503
  // https://github.com/facebook/metro/blob/2405f2f6c37a1b641cc379b9c733b1eff0c1c2a1/packages/metro/src/lib/parseOptionsFromUrl.js#L55-L87
491
- const { filename, bundle, map, ...rest } = await this.metroLoadModuleContents(filePath, opts);
504
+ const { filename , bundle , map , ...rest } = await this.metroLoadModuleContents(filePath, opts);
492
505
  const scriptContents = wrapBundle(bundle);
493
506
  if (map) {
494
- debug('Registering SSR source map for:', filename);
507
+ debug("Registering SSR source map for:", filename);
495
508
  _getStaticRenderFunctions.cachedSourceMaps.set(filename, {
496
509
  url: this.projectRoot,
497
510
  map
498
511
  });
499
512
  } else {
500
- debug('No SSR source map found for:', filename);
513
+ debug("No SSR source map found for:", filename);
501
514
  }
502
515
  return {
503
516
  ...rest,
@@ -515,20 +528,20 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
515
528
  async singlePageReactServerComponentExportAsync(options, files, extraOptions = {}) {
516
529
  const getReactServerReferences = (artifacts)=>{
517
530
  // Get the React server action boundaries from the client bundle.
518
- return unique(artifacts.filter((a)=>a.type === 'js').map((artifact)=>{
519
- var _artifact_metadata_reactServerReferences;
520
- return (_artifact_metadata_reactServerReferences = artifact.metadata.reactServerReferences) == null ? void 0 : _artifact_metadata_reactServerReferences.map((ref)=>(0, _createServerComponentsMiddleware.fileURLToFilePath)(ref));
531
+ return unique(artifacts.filter((a)=>a.type === "js").map((artifact)=>{
532
+ var ref;
533
+ return (ref = artifact.metadata.reactServerReferences) == null ? void 0 : ref.map((ref)=>(0, _createServerComponentsMiddleware.fileURLToFilePath)(ref));
521
534
  })// TODO: Segment by module for splitting.
522
535
  .flat().filter(Boolean));
523
536
  };
524
537
  // NOTE(EvanBacon): This will not support any code elimination since it's a static pass.
525
- let { reactClientReferences: clientBoundaries, reactServerReferences: serverActionReferencesInServer, cssModules } = await this.rscRenderer.getExpoRouterClientReferencesAsync({
538
+ let { reactClientReferences: clientBoundaries , reactServerReferences: serverActionReferencesInServer , cssModules , } = await this.rscRenderer.getExpoRouterClientReferencesAsync({
526
539
  platform: options.platform,
527
540
  domRoot: options.domRoot
528
541
  }, files);
529
542
  // TODO: The output keys should be in production format or use a lookup manifest.
530
543
  const processClientBoundaries = async (reactServerReferences)=>{
531
- debug('Evaluated client boundaries:', clientBoundaries);
544
+ debug("Evaluated client boundaries:", clientBoundaries);
532
545
  // Run metro bundler and create the JS bundles/source maps.
533
546
  const bundle = await this.legacySinglePageExportBundleAsync({
534
547
  ...options,
@@ -538,15 +551,15 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
538
551
  const newReactServerReferences = getReactServerReferences(bundle.artifacts);
539
552
  if (!newReactServerReferences) {
540
553
  // Possible issue with babel plugin / metro-config.
541
- throw new Error('Static server action references were not returned from the Metro client bundle');
554
+ throw new Error("Static server action references were not returned from the Metro client bundle");
542
555
  }
543
- debug('React server action boundaries from client:', newReactServerReferences);
556
+ debug("React server action boundaries from client:", newReactServerReferences);
544
557
  const allKnownReactServerReferences = unique([
545
558
  ...reactServerReferences,
546
- ...newReactServerReferences
559
+ ...newReactServerReferences,
547
560
  ]);
548
561
  // When we export the server actions that were imported from the client, we may need to re-bundle the client with the new client boundaries.
549
- const { clientBoundaries: nestedClientBoundaries } = await this.rscRenderer.exportServerActionsAsync({
562
+ const { clientBoundaries: nestedClientBoundaries } = await this.rscRenderer.exportServerActionsAsync({
550
563
  platform: options.platform,
551
564
  domRoot: options.domRoot,
552
565
  entryPoints: allKnownReactServerReferences
@@ -556,7 +569,7 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
556
569
  if (!hasUniqueClientBoundaries) {
557
570
  return bundle;
558
571
  }
559
- debug('Re-bundling client with nested client boundaries:', nestedClientBoundaries);
572
+ debug("Re-bundling client with nested client boundaries:", nestedClientBoundaries);
560
573
  clientBoundaries = unique(clientBoundaries.concat(nestedClientBoundaries));
561
574
  // Re-bundle the client with the new client boundaries that only exist in server actions that were imported from the client.
562
575
  // Run metro bundler and create the JS bundles/source maps.
@@ -570,25 +583,25 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
570
583
  const clientBoundariesAsOpaqueIds = clientBoundaries.map((boundary)=>// NOTE(cedric): relative module specifiers / IDs should always be POSIX formatted
571
584
  (0, _filePath.toPosixPath)(_path().default.relative(serverRoot, boundary)));
572
585
  const moduleIdToSplitBundle = bundle.artifacts.map((artifact)=>{
573
- var _artifact_metadata;
574
- return (artifact == null ? void 0 : (_artifact_metadata = artifact.metadata) == null ? void 0 : _artifact_metadata.paths) && Object.values(artifact.metadata.paths);
586
+ var ref;
587
+ return (artifact == null ? void 0 : (ref = artifact.metadata) == null ? void 0 : ref.paths) && Object.values(artifact.metadata.paths);
575
588
  }).filter(Boolean).flat().reduce((acc, paths)=>({
576
589
  ...acc,
577
590
  ...paths
578
591
  }), {});
579
- debug('SSR Manifest:', moduleIdToSplitBundle, clientBoundariesAsOpaqueIds);
592
+ debug("SSR Manifest:", moduleIdToSplitBundle, clientBoundariesAsOpaqueIds);
580
593
  const ssrManifest = new Map();
581
594
  if (Object.keys(moduleIdToSplitBundle).length) {
582
595
  clientBoundariesAsOpaqueIds.forEach((boundary)=>{
583
596
  if (boundary in moduleIdToSplitBundle) {
584
597
  ssrManifest.set(boundary, moduleIdToSplitBundle[boundary]);
585
598
  } else {
586
- throw new Error(`Could not find boundary "${boundary}" in the SSR manifest. Available: ${Object.keys(moduleIdToSplitBundle).join(', ')}`);
599
+ throw new Error(`Could not find boundary "${boundary}" in the SSR manifest. Available: ${Object.keys(moduleIdToSplitBundle).join(", ")}`);
587
600
  }
588
601
  });
589
602
  } else {
590
603
  // Native apps with bundle splitting disabled.
591
- debug('No split bundles');
604
+ debug("No split bundles");
592
605
  clientBoundariesAsOpaqueIds.forEach((boundary)=>{
593
606
  // @ts-expect-error
594
607
  ssrManifest.set(boundary, null);
@@ -601,14 +614,14 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
601
614
  }, files);
602
615
  // Save the SSR manifest so we can perform more replacements in the server renderer and with server actions.
603
616
  files.set(`_expo/rsc/${options.platform}/ssr-manifest.js`, {
604
- targetDomain: 'server',
605
- contents: 'module.exports = ' + JSON.stringify(// TODO: Add a less leaky version of this across the framework with just [key, value] (module ID, chunk).
617
+ targetDomain: "server",
618
+ contents: "module.exports = " + JSON.stringify(// TODO: Add a less leaky version of this across the framework with just [key, value] (module ID, chunk).
606
619
  Object.fromEntries(Array.from(ssrManifest.entries()).map(([key, value])=>[
607
620
  _path().default.join(serverRoot, key),
608
621
  [
609
622
  key,
610
623
  value
611
- ]
624
+ ],
612
625
  ])))
613
626
  });
614
627
  return {
@@ -617,21 +630,21 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
617
630
  };
618
631
  }
619
632
  async legacySinglePageExportBundleAsync(options, extraOptions = {}) {
620
- const { baseUrl, routerRoot, isExporting } = this.instanceMetroOptions;
621
- (0, _assert().default)(options.mainModuleName != null, 'mainModuleName must be provided in options.');
622
- (0, _assert().default)(baseUrl != null && routerRoot != null && isExporting != null, 'The server must be started before calling legacySinglePageExportBundleAsync.');
633
+ const { baseUrl , routerRoot , isExporting } = this.instanceMetroOptions;
634
+ (0, _assert().default)(options.mainModuleName != null, "mainModuleName must be provided in options.");
635
+ (0, _assert().default)(baseUrl != null && routerRoot != null && isExporting != null, "The server must be started before calling legacySinglePageExportBundleAsync.");
623
636
  const opts = {
624
637
  ...this.instanceMetroOptions,
625
638
  baseUrl,
626
639
  routerRoot,
627
640
  isExporting,
628
641
  ...options,
629
- environment: 'client',
630
- serializerOutput: 'static'
642
+ environment: "client",
643
+ serializerOutput: "static"
631
644
  };
632
645
  // https://github.com/facebook/metro/blob/2405f2f6c37a1b641cc379b9c733b1eff0c1c2a1/packages/metro/src/lib/parseOptionsFromUrl.js#L55-L87
633
- if (!opts.mainModuleName.startsWith('/') && !_path().default.isAbsolute(opts.mainModuleName)) {
634
- opts.mainModuleName = './' + opts.mainModuleName;
646
+ if (!opts.mainModuleName.startsWith("/") && !_path().default.isAbsolute(opts.mainModuleName)) {
647
+ opts.mainModuleName = "./" + opts.mainModuleName;
635
648
  }
636
649
  const output = await this.metroLoadModuleContents(opts.mainModuleName, opts, extraOptions);
637
650
  return {
@@ -641,12 +654,12 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
641
654
  }
642
655
  async watchEnvironmentVariables() {
643
656
  if (!this.instance) {
644
- throw new Error('Cannot observe environment variable changes without a running Metro instance.');
657
+ throw new Error("Cannot observe environment variable changes without a running Metro instance.");
645
658
  }
646
659
  if (!this.metro) {
647
660
  // This can happen when the run command is used and the server is already running in another
648
661
  // process.
649
- debug('Skipping Environment Variable observation because Metro is not running (headless).');
662
+ debug("Skipping Environment Variable observation because Metro is not running (headless).");
650
663
  return;
651
664
  }
652
665
  const envFiles = _env().getFiles(process.env.NODE_ENV).map((fileName)=>_path().default.join(this.projectRoot, fileName));
@@ -654,43 +667,44 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
654
667
  metro: this.metro,
655
668
  server: this.instance.server
656
669
  }, envFiles, ()=>{
657
- debug('Reloading environment variables...');
670
+ debug("Reloading environment variables...");
658
671
  // Force reload the environment variables.
659
672
  _env().load(this.projectRoot, {
660
673
  force: true
661
674
  });
662
675
  });
663
676
  }
677
+ rscRenderer = null;
664
678
  async startImplementationAsync(options) {
665
- var _exp_experiments, _exp_experiments1, _exp_experiments2, _exp_experiments3, _exp_experiments4, _exp_web, _exp_web1, _exp_experiments5, _exp_web2, _exp_extra_router, _exp_extra;
679
+ var ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9, ref10;
666
680
  options.port = await this.resolvePortAsync(options);
667
681
  this.urlCreator = this.getUrlCreator(options);
668
682
  const config = (0, _config().getConfig)(this.projectRoot, {
669
683
  skipSDKVersionRequirement: true
670
684
  });
671
- const { exp } = config;
685
+ const { exp } = config;
672
686
  // NOTE: This will change in the future when it's less experimental, we enable React 19, and turn on more RSC flags by default.
673
- const isReactServerComponentsEnabled = !!((_exp_experiments = exp.experiments) == null ? void 0 : _exp_experiments.reactServerComponentRoutes) || !!((_exp_experiments1 = exp.experiments) == null ? void 0 : _exp_experiments1.reactServerFunctions);
674
- const isReactServerActionsOnlyEnabled = !((_exp_experiments2 = exp.experiments) == null ? void 0 : _exp_experiments2.reactServerComponentRoutes) && !!((_exp_experiments3 = exp.experiments) == null ? void 0 : _exp_experiments3.reactServerFunctions);
687
+ const isReactServerComponentsEnabled = !!((ref = exp.experiments) == null ? void 0 : ref.reactServerComponentRoutes) || !!((ref1 = exp.experiments) == null ? void 0 : ref1.reactServerFunctions);
688
+ const isReactServerActionsOnlyEnabled = !((ref2 = exp.experiments) == null ? void 0 : ref2.reactServerComponentRoutes) && !!((ref3 = exp.experiments) == null ? void 0 : ref3.reactServerFunctions);
675
689
  this.isReactServerComponentsEnabled = isReactServerComponentsEnabled;
676
- this.isReactServerRoutesEnabled = !!((_exp_experiments4 = exp.experiments) == null ? void 0 : _exp_experiments4.reactServerComponentRoutes);
690
+ this.isReactServerRoutesEnabled = !!((ref4 = exp.experiments) == null ? void 0 : ref4.reactServerComponentRoutes);
677
691
  const useServerRendering = [
678
- 'static',
679
- 'server'
680
- ].includes(((_exp_web = exp.web) == null ? void 0 : _exp_web.output) ?? '');
681
- const hasApiRoutes = isReactServerComponentsEnabled || ((_exp_web1 = exp.web) == null ? void 0 : _exp_web1.output) === 'server';
692
+ "static",
693
+ "server"
694
+ ].includes(((ref5 = exp.web) == null ? void 0 : ref5.output) ?? "");
695
+ const hasApiRoutes = isReactServerComponentsEnabled || ((ref6 = exp.web) == null ? void 0 : ref6.output) === "server";
682
696
  const baseUrl = (0, _metroOptions.getBaseUrlFromExpoConfig)(exp);
683
- const asyncRoutes = (0, _metroOptions.getAsyncRoutesFromExpoConfig)(exp, options.mode ?? 'development', 'web');
697
+ const asyncRoutes = (0, _metroOptions.getAsyncRoutesFromExpoConfig)(exp, options.mode ?? "development", "web");
684
698
  const routerRoot = (0, _router.getRouterDirectoryModuleIdWithManifest)(this.projectRoot, exp);
685
- const reactCompiler = !!((_exp_experiments5 = exp.experiments) == null ? void 0 : _exp_experiments5.reactCompiler);
699
+ const reactCompiler = !!((ref7 = exp.experiments) == null ? void 0 : ref7.reactCompiler);
686
700
  const appDir = _path().default.join(this.projectRoot, routerRoot);
687
- const mode = options.mode ?? 'development';
688
- if (isReactServerComponentsEnabled && ((_exp_web2 = exp.web) == null ? void 0 : _exp_web2.output) === 'static') {
701
+ const mode = options.mode ?? "development";
702
+ if (isReactServerComponentsEnabled && ((ref8 = exp.web) == null ? void 0 : ref8.output) === "static") {
689
703
  throw new _errors.CommandError(`Experimental server component support does not support 'web.output: ${exp.web.output}' yet. Use 'web.output: "server"' during the experimental phase.`);
690
704
  }
691
705
  // Error early about the window.location polyfill when React Server Components are enabled.
692
- if (isReactServerComponentsEnabled && (exp == null ? void 0 : (_exp_extra = exp.extra) == null ? void 0 : (_exp_extra_router = _exp_extra.router) == null ? void 0 : _exp_extra_router.origin) === false) {
693
- const configPath = config.dynamicConfigPath ?? config.staticConfigPath ?? '/app.json';
706
+ if (isReactServerComponentsEnabled && (exp == null ? void 0 : (ref9 = exp.extra) == null ? void 0 : (ref10 = ref9.router) == null ? void 0 : ref10.origin) === false) {
707
+ const configPath = config.dynamicConfigPath ?? config.staticConfigPath ?? "/app.json";
694
708
  const configFileName = _path().default.basename(configPath);
695
709
  throw new _errors.CommandError(`The Expo Router "origin" property in the Expo config (${configFileName}) cannot be "false" when React Server Components is enabled. Remove it from the ${configFileName} file and try again.`);
696
710
  }
@@ -711,14 +725,14 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
711
725
  };
712
726
  // Required for symbolication:
713
727
  process.env.EXPO_DEV_SERVER_ORIGIN = `http://localhost:${options.port}`;
714
- const { metro, hmrServer, server, middleware, messageSocket } = await (0, _instantiateMetro.instantiateMetroAsync)(this, parsedOptions, {
728
+ const { metro , hmrServer , server , middleware , messageSocket } = await (0, _instantiateMetro.instantiateMetroAsync)(this, parsedOptions, {
715
729
  isExporting: !!options.isExporting,
716
730
  exp
717
731
  });
718
732
  if (!options.isExporting) {
719
733
  const manifestMiddleware = await this.getManifestMiddlewareAsync(options);
720
734
  // Important that we noop source maps for context modules as soon as possible.
721
- (0, _mutations.prependMiddleware)(middleware, new _ContextModuleSourceMapsMiddleware.ContextModuleSourceMapsMiddleware().getHandler());
735
+ (0, _mutations.prependMiddleware)(middleware, new _contextModuleSourceMapsMiddleware.ContextModuleSourceMapsMiddleware().getHandler());
722
736
  // We need the manifest handler to be the first middleware to run so our
723
737
  // routes take precedence over static files. For example, the manifest is
724
738
  // served from '/' and if the user has an index.html file in their project
@@ -726,41 +740,41 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
726
740
  // and serve index.html instead of the manifest.
727
741
  // https://github.com/expo/expo/issues/13114
728
742
  (0, _mutations.prependMiddleware)(middleware, manifestMiddleware.getHandler());
729
- middleware.use(new _InterstitialPageMiddleware.InterstitialPageMiddleware(this.projectRoot, {
743
+ middleware.use(new _interstitialPageMiddleware.InterstitialPageMiddleware(this.projectRoot, {
730
744
  // TODO: Prevent this from becoming stale.
731
745
  scheme: options.location.scheme ?? null
732
746
  }).getHandler());
733
- middleware.use(new _ReactDevToolsPageMiddleware.ReactDevToolsPageMiddleware(this.projectRoot).getHandler());
734
- middleware.use(new _DevToolsPluginMiddleware.DevToolsPluginMiddleware(this.projectRoot, this.devToolsPluginManager).getHandler());
735
- const deepLinkMiddleware = new _RuntimeRedirectMiddleware.RuntimeRedirectMiddleware(this.projectRoot, {
736
- getLocation: ({ runtime })=>{
737
- if (runtime === 'custom') {
738
- var _this_urlCreator;
739
- return (_this_urlCreator = this.urlCreator) == null ? void 0 : _this_urlCreator.constructDevClientUrl();
747
+ middleware.use(new _reactDevToolsPageMiddleware.ReactDevToolsPageMiddleware(this.projectRoot).getHandler());
748
+ middleware.use(new _devToolsPluginMiddleware.DevToolsPluginMiddleware(this.projectRoot, this.devToolsPluginManager).getHandler());
749
+ const deepLinkMiddleware = new _runtimeRedirectMiddleware.RuntimeRedirectMiddleware(this.projectRoot, {
750
+ getLocation: ({ runtime })=>{
751
+ if (runtime === "custom") {
752
+ var ref;
753
+ return (ref = this.urlCreator) == null ? void 0 : ref.constructDevClientUrl();
740
754
  } else {
741
- var _this_urlCreator1;
742
- return (_this_urlCreator1 = this.urlCreator) == null ? void 0 : _this_urlCreator1.constructUrl({
743
- scheme: 'exp'
755
+ var ref1;
756
+ return (ref1 = this.urlCreator) == null ? void 0 : ref1.constructUrl({
757
+ scheme: "exp"
744
758
  });
745
759
  }
746
760
  }
747
761
  });
748
762
  middleware.use(deepLinkMiddleware.getHandler());
749
763
  const serverRoot = (0, _paths().getMetroServerRoot)(this.projectRoot);
750
- const domComponentRenderer = (0, _DomComponentsMiddleware.createDomComponentsMiddleware)({
764
+ const domComponentRenderer = (0, _domComponentsMiddleware.createDomComponentsMiddleware)({
751
765
  metroRoot: serverRoot,
752
766
  projectRoot: this.projectRoot
753
767
  }, instanceMetroOptions);
754
768
  // Add support for DOM components.
755
769
  // TODO: Maybe put behind a flag for now?
756
770
  middleware.use(domComponentRenderer);
757
- middleware.use(new _CreateFileMiddleware.CreateFileMiddleware(this.projectRoot).getHandler());
771
+ middleware.use(new _createFileMiddleware.CreateFileMiddleware(this.projectRoot).getHandler());
758
772
  // Append support for redirecting unhandled requests to the index.html page on web.
759
773
  if (this.isTargetingWeb()) {
760
774
  // This MUST be after the manifest middleware so it doesn't have a chance to serve the template `public/index.html`.
761
- middleware.use(new _ServeStaticMiddleware.ServeStaticMiddleware(this.projectRoot).getHandler());
775
+ middleware.use(new _serveStaticMiddleware.ServeStaticMiddleware(this.projectRoot).getHandler());
762
776
  // This should come after the static middleware so it doesn't serve the favicon from `public/favicon.ico`.
763
- middleware.use(new _FaviconMiddleware.FaviconMiddleware(this.projectRoot).getHandler());
777
+ middleware.use(new _faviconMiddleware.FaviconMiddleware(this.projectRoot).getHandler());
764
778
  }
765
779
  if (useServerRendering || isReactServerComponentsEnabled) {
766
780
  (0, _waitForMetroToObserveTypeScriptFile.observeAnyFileChanges)({
@@ -778,8 +792,8 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
778
792
  for (const event of events){
779
793
  var // If the user did not delete a file that matches the Expo Router API Route convention, then we should warn that
780
794
  // API Routes are not enabled in the project.
781
- _event_metadata;
782
- if (((_event_metadata = event.metadata) == null ? void 0 : _event_metadata.type) !== 'd' && // Ensure the file is in the project's routes directory to prevent false positives in monorepos.
795
+ ref;
796
+ if (((ref = event.metadata) == null ? void 0 : ref.type) !== "d" && // Ensure the file is in the project's routes directory to prevent false positives in monorepos.
783
797
  event.filePath.startsWith(appDir) && (0, _router.isApiRouteConvention)(event.filePath)) {
784
798
  (0, _router.warnInvalidWebOutput)();
785
799
  }
@@ -792,7 +806,7 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
792
806
  this.bindRSCDevModuleInjectionHandler();
793
807
  const rscMiddleware = (0, _createServerComponentsMiddleware.createServerComponentsMiddleware)(this.projectRoot, {
794
808
  instanceMetroOptions: this.instanceMetroOptions,
795
- rscPath: '/_flight',
809
+ rscPath: "/_flight",
796
810
  ssrLoadModule: this.ssrLoadModule.bind(this),
797
811
  ssrLoadModuleArtifacts: this.metroImportAsArtifactsAsync.bind(this),
798
812
  useClientRouter: isReactServerActionsOnlyEnabled,
@@ -806,16 +820,16 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
806
820
  if (this.isTargetingWeb()) {
807
821
  if (!useServerRendering) {
808
822
  // This MUST run last since it's the fallback.
809
- middleware.use(new _HistoryFallbackMiddleware.HistoryFallbackMiddleware(manifestMiddleware.getHandler().internal).getHandler());
823
+ middleware.use(new _historyFallbackMiddleware.HistoryFallbackMiddleware(manifestMiddleware.getHandler().internal).getHandler());
810
824
  } else {
811
- var _config_exp_extra;
825
+ var ref11;
812
826
  middleware.use((0, _createServerRouteMiddleware.createRouteHandlerMiddleware)(this.projectRoot, {
813
827
  appDir,
814
828
  routerRoot,
815
829
  config,
816
- ...(_config_exp_extra = config.exp.extra) == null ? void 0 : _config_exp_extra.router,
830
+ ...(ref11 = config.exp.extra) == null ? void 0 : ref11.router,
817
831
  bundleApiRoute: (functionFilePath)=>this.ssrImportApiRoute(functionFilePath, {
818
- platform: 'web'
832
+ platform: "web"
819
833
  }),
820
834
  getStaticPageAsync: async (pathname)=>{
821
835
  // TODO: Add server rendering when RSC is enabled.
@@ -837,15 +851,15 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
837
851
  // If React 19 is enabled, then add RSC middleware to the dev server.
838
852
  if (isReactServerComponentsEnabled) {
839
853
  this.bindRSCDevModuleInjectionHandler();
840
- const rscMiddleware = (0, _createServerComponentsMiddleware.createServerComponentsMiddleware)(this.projectRoot, {
854
+ const rscMiddleware1 = (0, _createServerComponentsMiddleware.createServerComponentsMiddleware)(this.projectRoot, {
841
855
  instanceMetroOptions: this.instanceMetroOptions,
842
- rscPath: '/_flight',
856
+ rscPath: "/_flight",
843
857
  ssrLoadModule: this.ssrLoadModule.bind(this),
844
858
  ssrLoadModuleArtifacts: this.metroImportAsArtifactsAsync.bind(this),
845
859
  useClientRouter: isReactServerActionsOnlyEnabled,
846
860
  createModuleId: metro._createModuleId.bind(metro)
847
861
  });
848
- this.rscRenderer = rscMiddleware;
862
+ this.rscRenderer = rscMiddleware1;
849
863
  }
850
864
  }
851
865
  // Extend the close method to ensure that we clean up the local info.
@@ -868,65 +882,66 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
868
882
  // The port is the main thing we want to send back.
869
883
  port: options.port,
870
884
  // localhost isn't always correct.
871
- host: 'localhost',
885
+ host: "localhost",
872
886
  // http is the only supported protocol on native.
873
887
  url: `http://localhost:${options.port}`,
874
- protocol: 'http'
888
+ protocol: "http"
875
889
  },
876
890
  middleware,
877
891
  messageSocket
878
892
  };
879
893
  }
894
+ onReloadRscEvent = null;
880
895
  async registerSsrHmrAsync(url, onReload) {
881
896
  if (!this.hmrServer || this.ssrHmrClients.has(url)) {
882
897
  return;
883
898
  }
884
- debug('[SSR] Register HMR:', url);
899
+ debug("[SSR] Register HMR:", url);
885
900
  const sendFn = (message)=>{
886
901
  const data = JSON.parse(String(message));
887
902
  switch(data.type){
888
- case 'bundle-registered':
889
- case 'update-done':
890
- case 'update-start':
903
+ case "bundle-registered":
904
+ case "update-done":
905
+ case "update-start":
891
906
  break;
892
- case 'update':
907
+ case "update":
893
908
  {
894
909
  const update = data.body;
895
- const { isInitialUpdate, added, modified, deleted } = update;
910
+ const { isInitialUpdate , added , modified , deleted , } = update;
896
911
  const hasUpdate = added.length || modified.length || deleted.length;
897
912
  // NOTE: We throw away the updates and instead simply send a trigger to the client to re-fetch the server route.
898
913
  if (!isInitialUpdate && hasUpdate) {
899
914
  // Clear all SSR modules before sending the reload event. This ensures that the next event will rebuild the in-memory state from scratch.
900
915
  // @ts-expect-error
901
- if (typeof globalThis.__c === 'function') globalThis.__c();
916
+ if (typeof globalThis.__c === "function") globalThis.__c();
902
917
  const allModuleIds = new Set([
903
918
  ...added,
904
919
  ...modified
905
920
  ].map((m)=>m.module[0]).concat(deleted));
906
921
  const platforms = unique(Array.from(allModuleIds).map((moduleId)=>{
907
- var _moduleId_match;
908
- if (typeof moduleId !== 'string') {
922
+ var ref;
923
+ if (typeof moduleId !== "string") {
909
924
  return null;
910
925
  }
911
926
  // Extract platforms from the module IDs.
912
- return ((_moduleId_match = moduleId.match(/[?&]platform=([\w]+)/)) == null ? void 0 : _moduleId_match[1]) ?? null;
927
+ return ((ref = moduleId.match(/[?&]platform=([\w]+)/)) == null ? void 0 : ref[1]) ?? null;
913
928
  }).filter(Boolean));
914
929
  onReload(platforms);
915
930
  }
916
931
  }
917
932
  break;
918
- case 'error':
919
- var _data_body;
933
+ case "error":
934
+ var ref;
920
935
  // GraphNotFound can mean that we have an issue in metroOptions where the URL doesn't match the object props.
921
- _log.Log.error('[SSR] HMR Error: ' + JSON.stringify(data, null, 2));
922
- if (((_data_body = data.body) == null ? void 0 : _data_body.type) === 'GraphNotFoundError') {
923
- var // @ts-expect-error
924
- _this_metro;
925
- _log.Log.error('Available SSR HMR keys:', ((_this_metro = this.metro) == null ? void 0 : _this_metro._bundler._revisionsByGraphId).keys());
936
+ _log.Log.error("[SSR] HMR Error: " + JSON.stringify(data, null, 2));
937
+ if (((ref = data.body) == null ? void 0 : ref.type) === "GraphNotFoundError") {
938
+ var ref1;
939
+ _log.Log.error("Available SSR HMR keys:", // @ts-expect-error
940
+ ((ref1 = this.metro) == null ? void 0 : ref1._bundler._revisionsByGraphId).keys());
926
941
  }
927
942
  break;
928
943
  default:
929
- debug('Unknown HMR message:', data);
944
+ debug("Unknown HMR message:", data);
930
945
  break;
931
946
  }
932
947
  };
@@ -938,14 +953,14 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
938
953
  }
939
954
  async waitForTypeScriptAsync() {
940
955
  if (!this.instance) {
941
- throw new Error('Cannot wait for TypeScript without a running server.');
956
+ throw new Error("Cannot wait for TypeScript without a running server.");
942
957
  }
943
958
  return new Promise((resolve)=>{
944
959
  if (!this.metro) {
945
960
  // This can happen when the run command is used and the server is already running in another
946
961
  // process. In this case we can't wait for the TypeScript check to complete because we don't
947
962
  // have access to the Metro server.
948
- debug('Skipping TypeScript check because Metro is not running (headless).');
963
+ debug("Skipping TypeScript check because Metro is not running (headless).");
949
964
  return resolve(false);
950
965
  }
951
966
  const off = (0, _metroWatchTypeScriptFiles.metroWatchTypeScriptFiles)({
@@ -955,13 +970,13 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
955
970
  tsconfig: true,
956
971
  throttle: true,
957
972
  eventTypes: [
958
- 'change',
959
- 'add'
973
+ "change",
974
+ "add"
960
975
  ],
961
976
  callback: async ()=>{
962
977
  // Run once, this prevents the TypeScript project prerequisite from running on every file change.
963
978
  off();
964
- const { TypeScriptProjectPrerequisite } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("../../doctor/typescript/TypeScriptProjectPrerequisite.js")));
979
+ const { TypeScriptProjectPrerequisite } = await Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../../doctor/typescript/TypeScriptProjectPrerequisite.js")));
965
980
  try {
966
981
  const req = new TypeScriptProjectPrerequisite(this.projectRoot);
967
982
  await req.bootstrapAsync();
@@ -979,39 +994,41 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
979
994
  });
980
995
  }
981
996
  async startTypeScriptServices() {
982
- var _this_instance;
997
+ var ref;
983
998
  return (0, _startTypescriptTypeGeneration.startTypescriptTypeGenerationAsync)({
984
- server: (_this_instance = this.instance) == null ? void 0 : _this_instance.server,
999
+ server: (ref = this.instance) == null ? void 0 : ref.server,
985
1000
  metro: this.metro,
986
1001
  projectRoot: this.projectRoot
987
1002
  });
988
1003
  }
989
1004
  getConfigModuleIds() {
990
1005
  return [
991
- './metro.config.js',
992
- './metro.config.json',
993
- './rn-cli.config.js'
1006
+ "./metro.config.js",
1007
+ "./metro.config.json",
1008
+ "./rn-cli.config.js"
994
1009
  ];
995
1010
  }
1011
+ // API Routes
1012
+ pendingRouteOperations = new Map();
996
1013
  // Bundle the API Route with Metro and return the string contents to be evaluated in the server.
997
- async bundleApiRoute(filePath, { platform }) {
1014
+ async bundleApiRoute(filePath, { platform }) {
998
1015
  if (this.pendingRouteOperations.has(filePath)) {
999
1016
  return this.pendingRouteOperations.get(filePath);
1000
1017
  }
1001
1018
  const bundleAsync = async ()=>{
1002
1019
  try {
1003
- debug('Bundle API route:', this.instanceMetroOptions.routerRoot, filePath);
1020
+ debug("Bundle API route:", this.instanceMetroOptions.routerRoot, filePath);
1004
1021
  return await this.ssrLoadModuleContents(filePath, {
1005
1022
  isExporting: this.instanceMetroOptions.isExporting,
1006
1023
  platform
1007
1024
  });
1008
1025
  } catch (error) {
1009
- var _this_instanceMetroOptions;
1010
- const appDir = ((_this_instanceMetroOptions = this.instanceMetroOptions) == null ? void 0 : _this_instanceMetroOptions.routerRoot) ? _path().default.join(this.projectRoot, this.instanceMetroOptions.routerRoot) : undefined;
1026
+ var ref;
1027
+ const appDir = ((ref = this.instanceMetroOptions) == null ? void 0 : ref.routerRoot) ? _path().default.join(this.projectRoot, this.instanceMetroOptions.routerRoot) : undefined;
1011
1028
  const relativePath = appDir ? _path().default.relative(appDir, filePath) : filePath;
1012
1029
  // Expected errors: invalid syntax, missing resolutions.
1013
1030
  // Wrap with command error for better error messages.
1014
- const err = new _errors.CommandError('API_ROUTE', (0, _chalk().default)`Failed to bundle API Route: {bold ${relativePath}}\n\n` + error.message);
1031
+ const err = new _errors.CommandError("API_ROUTE", (0, _chalk().default)`Failed to bundle API Route: {bold ${relativePath}}\n\n` + error.message);
1015
1032
  for(const key in error){
1016
1033
  // @ts-expect-error
1017
1034
  err[key] = error[key];
@@ -1025,7 +1042,7 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1025
1042
  this.pendingRouteOperations.set(filePath, route);
1026
1043
  return route;
1027
1044
  }
1028
- async ssrImportApiRoute(filePath, { platform }) {
1045
+ async ssrImportApiRoute(filePath, { platform }) {
1029
1046
  // TODO: Cache the evaluated function.
1030
1047
  try {
1031
1048
  const apiRoute = await this.bundleApiRoute(filePath, {
@@ -1047,11 +1064,11 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1047
1064
  return new Response(htmlServerError, {
1048
1065
  status: 500,
1049
1066
  headers: {
1050
- 'Content-Type': 'text/html'
1067
+ "Content-Type": "text/html"
1051
1068
  }
1052
1069
  });
1053
1070
  } catch (internalError) {
1054
- debug('Failed to generate Metro server error UI for API Route error:', internalError);
1071
+ debug("Failed to generate Metro server error UI for API Route error:", internalError);
1055
1072
  throw error;
1056
1073
  }
1057
1074
  } else {
@@ -1070,9 +1087,9 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1070
1087
  }
1071
1088
  // NOTE: This can only target a single platform at a time (web).
1072
1089
  // used for sending RSC CSS to the root client in development.
1073
- sendClientModule({ code, id }) {
1074
- this.broadcastMessage('sendDevCommand', {
1075
- name: 'module-import',
1090
+ sendClientModule({ code , id }) {
1091
+ this.broadcastMessage("sendDevCommand", {
1092
+ name: "module-import",
1076
1093
  data: {
1077
1094
  code,
1078
1095
  id
@@ -1085,14 +1102,15 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1085
1102
  // Send reload command to client from Fast Refresh code.
1086
1103
  if (!platforms.length) {
1087
1104
  // TODO: When is this called?
1088
- this.broadcastMessage('sendDevCommand', {
1089
- name: 'rsc-reload'
1105
+ this.broadcastMessage("sendDevCommand", {
1106
+ name: "rsc-reload"
1090
1107
  });
1091
1108
  } else {
1092
1109
  for (const platform of platforms){
1093
- this.onReloadRscEvent == null ? void 0 : this.onReloadRscEvent.call(this, platform);
1094
- this.broadcastMessage('sendDevCommand', {
1095
- name: 'rsc-reload',
1110
+ var _obj, ref;
1111
+ (ref = (_obj = this).onReloadRscEvent) == null ? void 0 : ref.call(_obj, platform);
1112
+ this.broadcastMessage("sendDevCommand", {
1113
+ name: "rsc-reload",
1096
1114
  platform
1097
1115
  });
1098
1116
  }
@@ -1102,19 +1120,19 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1102
1120
  }
1103
1121
  // Direct Metro access
1104
1122
  // Emulates the Metro dev server .bundle endpoint without having to go through a server.
1105
- async _bundleDirectAsync(resolvedEntryFilePath, { transformOptions, resolverOptions, graphOptions, serializerOptions }) {
1106
- var _this_metro;
1107
- (0, _assert().default)(this.metro, 'Metro server must be running to bundle directly.');
1123
+ async _bundleDirectAsync(resolvedEntryFilePath, { transformOptions , resolverOptions , graphOptions , serializerOptions }) {
1124
+ var ref;
1125
+ (0, _assert().default)(this.metro, "Metro server must be running to bundle directly.");
1108
1126
  const config = this.metro._config;
1109
1127
  const buildNumber = this.metro.getNewBuildNumber();
1110
- const bundlePerfLogger = config.unstable_perfLoggerFactory == null ? void 0 : config.unstable_perfLoggerFactory.call(config, 'BUNDLING_REQUEST', {
1128
+ const bundlePerfLogger = config.unstable_perfLoggerFactory == null ? void 0 : config.unstable_perfLoggerFactory("BUNDLING_REQUEST", {
1111
1129
  key: buildNumber
1112
1130
  });
1113
1131
  const onProgress = (transformedFileCount, totalFileCount)=>{
1114
- var _this_metro__reporter_update, _this_metro__reporter, _this_metro;
1115
- (_this_metro = this.metro) == null ? void 0 : (_this_metro__reporter = _this_metro._reporter) == null ? void 0 : (_this_metro__reporter_update = _this_metro__reporter.update) == null ? void 0 : _this_metro__reporter_update.call(_this_metro__reporter, {
1132
+ var ref, ref1;
1133
+ (ref = this.metro) == null ? void 0 : (ref1 = ref._reporter) == null ? void 0 : ref1.update == null ? void 0 : ref1.update({
1116
1134
  buildID: getBuildID(buildNumber),
1117
- type: 'bundle_transform_progressed',
1135
+ type: "bundle_transform_progressed",
1118
1136
  transformedFileCount,
1119
1137
  totalFileCount
1120
1138
  });
@@ -1124,13 +1142,13 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1124
1142
  transformOptions,
1125
1143
  resolverOptions
1126
1144
  });
1127
- bundlePerfLogger == null ? void 0 : bundlePerfLogger.point('resolvingAndTransformingDependencies_start');
1145
+ bundlePerfLogger == null ? void 0 : bundlePerfLogger.point("resolvingAndTransformingDependencies_start");
1128
1146
  bundlePerfLogger == null ? void 0 : bundlePerfLogger.annotate({
1129
1147
  bool: {
1130
1148
  initial_build: revPromise == null
1131
1149
  }
1132
1150
  });
1133
- (_this_metro = this.metro) == null ? void 0 : _this_metro._reporter.update({
1151
+ (ref = this.metro) == null ? void 0 : ref._reporter.update({
1134
1152
  buildID: getBuildID(buildNumber),
1135
1153
  bundleDetails: {
1136
1154
  bundleType: transformOptions.type,
@@ -1142,15 +1160,15 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1142
1160
  customTransformOptions: transformOptions.customTransformOptions ?? {}
1143
1161
  },
1144
1162
  isPrefetch: false,
1145
- type: 'bundle_build_started'
1163
+ type: "bundle_build_started"
1146
1164
  });
1147
1165
  try {
1148
- var _transformOptions_customTransformOptions;
1166
+ var ref1;
1149
1167
  let delta;
1150
1168
  let revision;
1151
1169
  // TODO: Some bug in Metro/RSC causes this to break when changing imports in server components.
1152
1170
  // We should resolve the bug because it results in ~6x faster bundling to reuse the graph revision.
1153
- if (((_transformOptions_customTransformOptions = transformOptions.customTransformOptions) == null ? void 0 : _transformOptions_customTransformOptions.environment) === 'react-server') {
1171
+ if (((ref1 = transformOptions.customTransformOptions) == null ? void 0 : ref1.environment) === "react-server") {
1154
1172
  const props = await this.metro.getBundler().initializeGraph(// NOTE: Using absolute path instead of relative input path is a breaking change.
1155
1173
  // entryFile,
1156
1174
  resolvedEntryFilePath, transformOptions, resolverOptions, {
@@ -1161,30 +1179,30 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1161
1179
  delta = props.delta;
1162
1180
  revision = props.revision;
1163
1181
  } else {
1164
- const props = await (revPromise != null ? this.metro.getBundler().updateGraph(await revPromise, false) : this.metro.getBundler().initializeGraph(// NOTE: Using absolute path instead of relative input path is a breaking change.
1182
+ const props1 = await (revPromise != null ? this.metro.getBundler().updateGraph(await revPromise, false) : this.metro.getBundler().initializeGraph(// NOTE: Using absolute path instead of relative input path is a breaking change.
1165
1183
  // entryFile,
1166
1184
  resolvedEntryFilePath, transformOptions, resolverOptions, {
1167
1185
  onProgress,
1168
1186
  shallow: graphOptions.shallow,
1169
1187
  lazy: graphOptions.lazy
1170
1188
  }));
1171
- delta = props.delta;
1172
- revision = props.revision;
1189
+ delta = props1.delta;
1190
+ revision = props1.revision;
1173
1191
  }
1174
1192
  bundlePerfLogger == null ? void 0 : bundlePerfLogger.annotate({
1175
1193
  int: {
1176
1194
  graph_node_count: revision.graph.dependencies.size
1177
1195
  }
1178
1196
  });
1179
- bundlePerfLogger == null ? void 0 : bundlePerfLogger.point('resolvingAndTransformingDependencies_end');
1180
- bundlePerfLogger == null ? void 0 : bundlePerfLogger.point('serializingBundle_start');
1197
+ bundlePerfLogger == null ? void 0 : bundlePerfLogger.point("resolvingAndTransformingDependencies_end");
1198
+ bundlePerfLogger == null ? void 0 : bundlePerfLogger.point("serializingBundle_start");
1181
1199
  const shouldAddToIgnoreList = this.metro._shouldAddModuleToIgnoreList.bind(this.metro);
1182
1200
  const serializer = this.getMetroSerializer();
1183
1201
  const bundle = await serializer(// NOTE: Using absolute path instead of relative input path is a breaking change.
1184
1202
  // entryFile,
1185
1203
  resolvedEntryFilePath, revision.prepend, revision.graph, {
1186
1204
  asyncRequireModulePath: await this.metro._resolveRelativePath(config.transformer.asyncRequireModulePath, {
1187
- relativeTo: 'project',
1205
+ relativeTo: "project",
1188
1206
  resolverOptions,
1189
1207
  transformOptions
1190
1208
  }),
@@ -1208,45 +1226,45 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1208
1226
  });
1209
1227
  this.metro._reporter.update({
1210
1228
  buildID: getBuildID(buildNumber),
1211
- type: 'bundle_build_done'
1229
+ type: "bundle_build_done"
1212
1230
  });
1213
- bundlePerfLogger == null ? void 0 : bundlePerfLogger.point('serializingBundle_end');
1231
+ bundlePerfLogger == null ? void 0 : bundlePerfLogger.point("serializingBundle_end");
1214
1232
  let bundleCode = null;
1215
1233
  let bundleMap = null;
1216
1234
  // @ts-expect-error: If the output is multi-bundle...
1217
- if (serializerOptions.output === 'static') {
1235
+ if (serializerOptions.output === "static") {
1218
1236
  try {
1219
- var _artifacts_filter_, _artifacts_filter;
1220
- const parsed = typeof bundle === 'string' ? JSON.parse(bundle) : bundle;
1221
- (0, _assert().default)('artifacts' in parsed && Array.isArray(parsed.artifacts), 'Expected serializer to return an object with key artifacts to contain an array of serial assets.');
1237
+ var ref2, ref3;
1238
+ const parsed = typeof bundle === "string" ? JSON.parse(bundle) : bundle;
1239
+ (0, _assert().default)("artifacts" in parsed && Array.isArray(parsed.artifacts), "Expected serializer to return an object with key artifacts to contain an array of serial assets.");
1222
1240
  const artifacts = parsed.artifacts;
1223
1241
  const assets = parsed.assets;
1224
- const bundleCode = artifacts.filter((asset)=>asset.type === 'js')[0];
1225
- const bundleMap = ((_artifacts_filter = artifacts.filter((asset)=>asset.type === 'map')) == null ? void 0 : (_artifacts_filter_ = _artifacts_filter[0]) == null ? void 0 : _artifacts_filter_.source) ?? '';
1242
+ const bundleCode1 = artifacts.filter((asset)=>asset.type === "js")[0];
1243
+ const bundleMap1 = ((ref2 = artifacts.filter((asset)=>asset.type === "map")) == null ? void 0 : (ref3 = ref2[0]) == null ? void 0 : ref3.source) ?? "";
1226
1244
  return {
1227
1245
  numModifiedFiles: delta.reset ? delta.added.size + revision.prepend.length : delta.added.size + delta.modified.size + delta.deleted.size,
1228
1246
  lastModifiedDate: revision.date,
1229
1247
  nextRevId: revision.id,
1230
- bundle: bundleCode.source,
1231
- map: bundleMap,
1248
+ bundle: bundleCode1.source,
1249
+ map: bundleMap1,
1232
1250
  artifacts,
1233
1251
  assets
1234
1252
  };
1235
1253
  } catch (error) {
1236
- throw new Error('Serializer did not return expected format. The project copy of `expo/metro-config` may be out of date. Error: ' + error.message);
1254
+ throw new Error("Serializer did not return expected format. The project copy of `expo/metro-config` may be out of date. Error: " + error.message);
1237
1255
  }
1238
1256
  }
1239
- if (typeof bundle === 'string') {
1257
+ if (typeof bundle === "string") {
1240
1258
  bundleCode = bundle;
1241
1259
  // Create the source map in a second pass...
1242
- let { prepend, graph } = revision;
1260
+ let { prepend , graph } = revision;
1243
1261
  if (serializerOptions.modulesOnly) {
1244
1262
  prepend = [];
1245
1263
  }
1246
1264
  bundleMap = await sourceMapStringAsync([
1247
1265
  //
1248
1266
  ...prepend,
1249
- ...this.metro._getSortedModules(graph)
1267
+ ...this.metro._getSortedModules(graph),
1250
1268
  ], {
1251
1269
  excludeSource: serializerOptions.excludeSource,
1252
1270
  processModuleFilter: config.serializer.processModuleFilter,
@@ -1263,23 +1281,23 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1263
1281
  bundle: bundleCode,
1264
1282
  map: bundleMap
1265
1283
  };
1266
- } catch (error) {
1284
+ } catch (error1) {
1267
1285
  // Mark the error so we know how to format and return it later.
1268
1286
  // @ts-expect-error
1269
- error[_metroErrorInterface.IS_METRO_BUNDLE_ERROR_SYMBOL] = true;
1287
+ error1[_metroErrorInterface.IS_METRO_BUNDLE_ERROR_SYMBOL] = true;
1270
1288
  this.metro._reporter.update({
1271
1289
  buildID: getBuildID(buildNumber),
1272
- type: 'bundle_build_failed'
1290
+ type: "bundle_build_failed"
1273
1291
  });
1274
- throw error;
1292
+ throw error1;
1275
1293
  }
1276
1294
  }
1277
1295
  getMetroSerializer() {
1278
- var _this_metro__config, _this_metro;
1279
- return ((_this_metro = this.metro) == null ? void 0 : (_this_metro__config = _this_metro._config) == null ? void 0 : _this_metro__config.serializer.customSerializer) || ((entryPoint, preModules, graph, options)=>(0, _bundleToString().default)((0, _baseJSBundle().default)(entryPoint, preModules, graph, options)).code);
1296
+ var ref, ref1;
1297
+ return ((ref = this.metro) == null ? void 0 : (ref1 = ref._config) == null ? void 0 : ref1.serializer.customSerializer) || ((entryPoint, preModules, graph, options)=>(0, _bundleToString().default)((0, _baseJSBundle().default)(entryPoint, preModules, graph, options)).code);
1280
1298
  }
1281
- getMetroRevision(resolvedEntryFilePath, { graphOptions, transformOptions, resolverOptions }) {
1282
- (0, _assert().default)(this.metro, 'Metro server must be running to bundle directly.');
1299
+ getMetroRevision(resolvedEntryFilePath, { graphOptions , transformOptions , resolverOptions }) {
1300
+ (0, _assert().default)(this.metro, "Metro server must be running to bundle directly.");
1283
1301
  const config = this.metro._config;
1284
1302
  const graphId = (0, _getGraphId().default)(resolvedEntryFilePath, transformOptions, {
1285
1303
  unstable_allowRequireContext: config.transformer.unstable_allowRequireContext,
@@ -1289,30 +1307,14 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1289
1307
  });
1290
1308
  return this.metro.getBundler().getRevisionByGraphId(graphId);
1291
1309
  }
1292
- async resolveRelativePathAsync(moduleId, { resolverOptions, transformOptions }) {
1293
- (0, _assert().default)(this.metro, 'cannot invoke resolveRelativePathAsync without metro instance');
1310
+ async resolveRelativePathAsync(moduleId, { resolverOptions , transformOptions }) {
1311
+ (0, _assert().default)(this.metro, "cannot invoke resolveRelativePathAsync without metro instance");
1294
1312
  return await this.metro._resolveRelativePath((0, _metroOptions.convertPathToModuleSpecifier)(moduleId), {
1295
- relativeTo: 'server',
1313
+ relativeTo: "server",
1296
1314
  resolverOptions,
1297
1315
  transformOptions
1298
1316
  });
1299
1317
  }
1300
- constructor(...args){
1301
- super(...args), this.metro = null, this.hmrServer = null, this.ssrHmrClients = new Map(), // Set when the server is started.
1302
- this.instanceMetroOptions = {}, this.ssrLoadModule = async (filePath, specificOptions = {}, extras = {})=>{
1303
- const res = await this.ssrLoadModuleContents(filePath, specificOptions);
1304
- if (// TODO: hot should be a callback function for invalidating the related SSR module.
1305
- extras.hot && this.instanceMetroOptions.isExporting !== true) {
1306
- // Register SSR HMR
1307
- const serverRoot = (0, _paths().getMetroServerRoot)(this.projectRoot);
1308
- const relativePath = _path().default.relative(serverRoot, res.filename);
1309
- const url = new URL(relativePath, this.getDevServerUrlOrAssert());
1310
- this.setupHmr(url);
1311
- }
1312
- return (0, _getStaticRenderFunctions.evalMetroAndWrapFunctions)(this.projectRoot, res.src, res.filename, specificOptions.isExporting ?? this.instanceMetroOptions.isExporting);
1313
- }, this.rscRenderer = null, this.onReloadRscEvent = null, // API Routes
1314
- this.pendingRouteOperations = new Map();
1315
- }
1316
1318
  }
1317
1319
  function getBuildID(buildNumber) {
1318
1320
  return buildNumber.toString(36);
@@ -1321,7 +1323,7 @@ function wrapBundle(str) {
1321
1323
  // Skip the metro runtime so debugging is a bit easier.
1322
1324
  // Replace the __r() call with an export statement.
1323
1325
  // Use gm to apply to the last require line. This is needed when the bundle has side-effects.
1324
- return str.replace(/^(__r\(.*\);)$/gm, 'module.exports = $1');
1326
+ return str.replace(/^(__r\(.*\);)$/gm, "module.exports = $1");
1325
1327
  }
1326
1328
  async function sourceMapStringAsync(modules, options) {
1327
1329
  return (await (0, _sourceMapGenerator().sourceMapGeneratorNonBlocking)(modules, options)).toString(undefined, {