@expo/cli 0.22.24 → 0.22.25

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