@depup/expo__cli 55.0.23-depup.0 → 57.0.9-depup.0

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 (594) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +13 -15
  3. package/build/bin/cli +4 -4
  4. package/build/bin/cli.map +1 -1
  5. package/build/src/api/endpoint.js +4 -4
  6. package/build/src/api/endpoint.js.map +1 -1
  7. package/build/src/api/getExpoSchema.js +3 -3
  8. package/build/src/api/getExpoSchema.js.map +1 -1
  9. package/build/src/api/graphql/client.js +26 -14
  10. package/build/src/api/graphql/client.js.map +1 -1
  11. package/build/src/api/graphql/mutations/TunnelMutation.js +31 -0
  12. package/build/src/api/graphql/mutations/TunnelMutation.js.map +1 -0
  13. package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
  14. package/build/src/api/rest/cache/ResponseCache.js +5 -5
  15. package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
  16. package/build/src/api/rest/client.js +35 -20
  17. package/build/src/api/rest/client.js.map +1 -1
  18. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  19. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  20. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  21. package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
  22. package/build/src/api/updateDevelopmentSession.js +6 -5
  23. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  24. package/build/src/api/user/UserSettings.js +28 -15
  25. package/build/src/api/user/UserSettings.js.map +1 -1
  26. package/build/src/api/user/actions.js +10 -3
  27. package/build/src/api/user/actions.js.map +1 -1
  28. package/build/src/api/user/expoSsoLauncher.js +76 -24
  29. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  30. package/build/src/api/user/otp.js +4 -4
  31. package/build/src/api/user/otp.js.map +1 -1
  32. package/build/src/api/user/user.js +19 -7
  33. package/build/src/api/user/user.js.map +1 -1
  34. package/build/src/config/configAsync.js +3 -3
  35. package/build/src/config/configAsync.js.map +1 -1
  36. package/build/src/config/index.js.map +1 -1
  37. package/build/src/customize/customizeAsync.js.map +1 -1
  38. package/build/src/customize/generate.js +7 -4
  39. package/build/src/customize/generate.js.map +1 -1
  40. package/build/src/customize/index.js.map +1 -1
  41. package/build/src/customize/templates.js +4 -6
  42. package/build/src/customize/templates.js.map +1 -1
  43. package/build/src/customize/typescript.js.map +1 -1
  44. package/build/src/events/index.js +19 -15
  45. package/build/src/events/index.js.map +1 -1
  46. package/build/src/events/stream.js +94 -24
  47. package/build/src/events/stream.js.map +1 -1
  48. package/build/src/expoUpdatesExports.js +4 -4
  49. package/build/src/expoUpdatesExports.js.map +1 -1
  50. package/build/src/export/createMetadataJson.js +2 -1
  51. package/build/src/export/createMetadataJson.js.map +1 -1
  52. package/build/src/export/embed/exportEmbedAsync.js +45 -20
  53. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  54. package/build/src/export/embed/exportServer.js +1 -1
  55. package/build/src/export/embed/exportServer.js.map +1 -1
  56. package/build/src/export/embed/index.js.map +1 -1
  57. package/build/src/export/embed/resolveOptions.js +7 -6
  58. package/build/src/export/embed/resolveOptions.js.map +1 -1
  59. package/build/src/export/embed/xcodeCompilerLogger.js +7 -7
  60. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  61. package/build/src/export/exportApp.js +32 -28
  62. package/build/src/export/exportApp.js.map +1 -1
  63. package/build/src/export/exportAssets.js +5 -5
  64. package/build/src/export/exportAssets.js.map +1 -1
  65. package/build/src/export/exportAsync.js.map +1 -1
  66. package/build/src/export/exportDomComponents.js +5 -5
  67. package/build/src/export/exportDomComponents.js.map +1 -1
  68. package/build/src/export/exportHermes.js +23 -13
  69. package/build/src/export/exportHermes.js.map +1 -1
  70. package/build/src/export/exportStaticAsync.js +30 -21
  71. package/build/src/export/exportStaticAsync.js.map +1 -1
  72. package/build/src/export/favicon.js +26 -34
  73. package/build/src/export/favicon.js.map +1 -1
  74. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  75. package/build/src/export/getResolvedLocales.js.map +1 -1
  76. package/build/src/export/html.js +3 -3
  77. package/build/src/export/html.js.map +1 -1
  78. package/build/src/export/index.js +2 -0
  79. package/build/src/export/index.js.map +1 -1
  80. package/build/src/export/metroAssetLocalPath.js +4 -4
  81. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  82. package/build/src/export/persistMetroAssets.js +6 -6
  83. package/build/src/export/persistMetroAssets.js.map +1 -1
  84. package/build/src/export/publicFolder.js +16 -4
  85. package/build/src/export/publicFolder.js.map +1 -1
  86. package/build/src/export/resolveOptions.js +12 -13
  87. package/build/src/export/resolveOptions.js.map +1 -1
  88. package/build/src/export/saveAssets.js +3 -3
  89. package/build/src/export/saveAssets.js.map +1 -1
  90. package/build/src/export/static.js +6 -0
  91. package/build/src/export/static.js.map +1 -0
  92. package/build/src/export/web/exportWebAsync.js.map +1 -1
  93. package/build/src/export/web/index.js.map +1 -1
  94. package/build/src/export/writeContents.js.map +1 -1
  95. package/build/src/install/checkPackages.js +1 -28
  96. package/build/src/install/checkPackages.js.map +1 -1
  97. package/build/src/install/fixPackages.js.map +1 -1
  98. package/build/src/install/index.js.map +1 -1
  99. package/build/src/install/installAsync.js +3 -3
  100. package/build/src/install/installAsync.js.map +1 -1
  101. package/build/src/install/installExpoPackage.js.map +1 -1
  102. package/build/src/install/resolveOptions.js.map +1 -1
  103. package/build/src/install/utils/autoAddConfigPlugins.js +3 -3
  104. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  105. package/build/src/install/utils/checkPackagesCompatibility.js +32 -16
  106. package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
  107. package/build/src/lint/ESlintPrerequisite.js.map +1 -1
  108. package/build/src/log.js +32 -14
  109. package/build/src/log.js.map +1 -1
  110. package/build/src/login/index.js +25 -5
  111. package/build/src/login/index.js.map +1 -1
  112. package/build/src/logout/index.js.map +1 -1
  113. package/build/src/prebuild/clearNativeFolder.js +49 -14
  114. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  115. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  116. package/build/src/prebuild/copyTemplateFiles.js +3 -3
  117. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  118. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  119. package/build/src/prebuild/index.js +3 -2
  120. package/build/src/prebuild/index.js.map +1 -1
  121. package/build/src/prebuild/prebuildAsync.js +31 -6
  122. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  123. package/build/src/prebuild/renameTemplateAppName.js +8 -5
  124. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  125. package/build/src/prebuild/resolveOptions.js +7 -7
  126. package/build/src/prebuild/resolveOptions.js.map +1 -1
  127. package/build/src/prebuild/resolveTemplate.js +10 -5
  128. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  129. package/build/src/prebuild/updateFromTemplate.js +3 -3
  130. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  131. package/build/src/prebuild/updatePackageJson.js +7 -7
  132. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  133. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  134. package/build/src/register/index.js.map +1 -1
  135. package/build/src/run/android/index.js.map +1 -1
  136. package/build/src/run/android/resolveGradlePropsAsync.js +3 -4
  137. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  138. package/build/src/run/android/resolveInstallApkName.js +48 -1
  139. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  140. package/build/src/run/android/resolveLaunchProps.js +4 -1
  141. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  142. package/build/src/run/android/resolveOptions.js.map +1 -1
  143. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  144. package/build/src/run/ensureNativeProject.js.map +1 -1
  145. package/build/src/run/hints.js +4 -4
  146. package/build/src/run/hints.js.map +1 -1
  147. package/build/src/run/index.js.map +1 -1
  148. package/build/src/run/ios/XcodeBuild.js +163 -23
  149. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  150. package/build/src/run/ios/appleDevice/AppleDevice.js +6 -5
  151. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  152. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  153. package/build/src/run/ios/appleDevice/client/AFCClient.js +10 -16
  154. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  155. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +1 -1
  156. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  157. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +2 -1
  158. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  159. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +1 -1
  160. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  161. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  162. package/build/src/run/ios/appleDevice/client/ServiceClient.js +3 -3
  163. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  164. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  165. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +3 -3
  166. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  167. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +16 -13
  168. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  169. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +6 -6
  170. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  171. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +5 -5
  172. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  173. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +7 -7
  174. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  175. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +5 -5
  176. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  177. package/build/src/run/ios/codeSigning/Security.js +8 -8
  178. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  179. package/build/src/run/ios/codeSigning/configureCodeSigning.js +5 -3
  180. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  181. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +7 -5
  182. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  183. package/build/src/run/ios/codeSigning/settings.js +3 -3
  184. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  185. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +4 -4
  186. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  187. package/build/src/run/ios/index.js +8 -1
  188. package/build/src/run/ios/index.js.map +1 -1
  189. package/build/src/run/ios/launchApp.js +3 -3
  190. package/build/src/run/ios/launchApp.js.map +1 -1
  191. package/build/src/run/ios/options/appleDestinations.js.map +1 -1
  192. package/build/src/run/ios/options/promptDevice.js +3 -3
  193. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  194. package/build/src/run/ios/options/resolveDevice.js +8 -3
  195. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  196. package/build/src/run/ios/options/resolveNativeScheme.js +4 -4
  197. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  198. package/build/src/run/ios/options/resolveOptions.js +9 -4
  199. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  200. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  201. package/build/src/run/ios/runIosAsync.js +39 -0
  202. package/build/src/run/ios/runIosAsync.js.map +1 -1
  203. package/build/src/run/ios/validateExternalBinary.js.map +1 -1
  204. package/build/src/run/startBundler.js +4 -0
  205. package/build/src/run/startBundler.js.map +1 -1
  206. package/build/src/serve/index.js +4 -1
  207. package/build/src/serve/index.js.map +1 -1
  208. package/build/src/serve/serveAsync.js +23 -11
  209. package/build/src/serve/serveAsync.js.map +1 -1
  210. package/build/src/serve/static.js +69 -0
  211. package/build/src/serve/static.js.map +1 -0
  212. package/build/src/start/checkDependenciesOnStart.js +131 -0
  213. package/build/src/start/checkDependenciesOnStart.js.map +1 -0
  214. package/build/src/start/detectDevClient.js +3 -3
  215. package/build/src/start/detectDevClient.js.map +1 -1
  216. package/build/src/start/doctor/Prerequisite.js +4 -4
  217. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  218. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +53 -91
  219. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  220. package/build/src/start/doctor/apple/XcodePrerequisite.js +3 -3
  221. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  222. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +3 -3
  223. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  224. package/build/src/start/doctor/dependencies/getMissingPackages.js +5 -5
  225. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  226. package/build/src/start/doctor/dependencies/getVersionedPackages.js +5 -5
  227. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  228. package/build/src/start/doctor/dependencies/reactNativeTv.js +149 -0
  229. package/build/src/start/doctor/dependencies/reactNativeTv.js.map +1 -0
  230. package/build/src/start/doctor/dependencies/resolvePackages.js +4 -4
  231. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  232. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +33 -8
  233. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  234. package/build/src/start/doctor/ngrok/ExternalModule.js +3 -3
  235. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  236. package/build/src/start/doctor/ngrok/NgrokResolver.js +3 -3
  237. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  238. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  239. package/build/src/start/doctor/typescript/updateTSConfig.js +3 -3
  240. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  241. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +5 -12
  242. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  243. package/build/src/start/index.js +2 -0
  244. package/build/src/start/index.js.map +1 -1
  245. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  246. package/build/src/start/interface/cliExtensionMenuItemHandler.js.map +1 -1
  247. package/build/src/start/interface/commandsTable.js +6 -6
  248. package/build/src/start/interface/commandsTable.js.map +1 -1
  249. package/build/src/start/interface/createDevToolsMenuItems.js.map +1 -1
  250. package/build/src/start/interface/interactiveActions.js +49 -6
  251. package/build/src/start/interface/interactiveActions.js.map +1 -1
  252. package/build/src/start/interface/startInterface.js +13 -4
  253. package/build/src/start/interface/startInterface.js.map +1 -1
  254. package/build/src/start/platforms/AppIdResolver.js +4 -0
  255. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  256. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  257. package/build/src/start/platforms/ExpoGoInstaller.js +13 -4
  258. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  259. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  260. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  261. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  262. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  263. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  264. package/build/src/start/platforms/android/adb.js +36 -34
  265. package/build/src/start/platforms/android/adb.js.map +1 -1
  266. package/build/src/start/platforms/android/adbReverse.js +4 -4
  267. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  268. package/build/src/start/platforms/android/emulator.js +5 -5
  269. package/build/src/start/platforms/android/emulator.js.map +1 -1
  270. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  271. package/build/src/start/platforms/android/gradle.js +5 -5
  272. package/build/src/start/platforms/android/gradle.js.map +1 -1
  273. package/build/src/start/platforms/android/promptAndroidDevice.js +3 -3
  274. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  275. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  276. package/build/src/start/platforms/ios/AppleDeviceManager.js +20 -6
  277. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  278. package/build/src/start/platforms/ios/ApplePlatformManager.js +11 -0
  279. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  280. package/build/src/start/platforms/ios/devicectl.js +7 -7
  281. package/build/src/start/platforms/ios/devicectl.js.map +1 -1
  282. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +26 -11
  283. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  284. package/build/src/start/platforms/ios/getBestSimulator.js +5 -5
  285. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  286. package/build/src/start/platforms/ios/promptAppleDevice.js +5 -4
  287. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  288. package/build/src/start/platforms/ios/simctl.js +25 -19
  289. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  290. package/build/src/start/platforms/ios/simctlLogging.js +3 -3
  291. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  292. package/build/src/start/platforms/ios/xcrun.js +3 -3
  293. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  294. package/build/src/start/project/devices.js +6 -6
  295. package/build/src/start/project/devices.js.map +1 -1
  296. package/build/src/start/project/dotExpo.js +4 -3
  297. package/build/src/start/project/dotExpo.js.map +1 -1
  298. package/build/src/start/resolveOptions.js +7 -7
  299. package/build/src/start/resolveOptions.js.map +1 -1
  300. package/build/src/start/server/AsyncNgrok.js +1 -1
  301. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  302. package/build/src/start/server/AsyncWsTunnel.js +120 -35
  303. package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
  304. package/build/src/start/server/Bonjour.js +8 -3
  305. package/build/src/start/server/Bonjour.js.map +1 -1
  306. package/build/src/start/server/BundlerDevServer.js +23 -9
  307. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  308. package/build/src/start/server/DevServerManager.js.map +1 -1
  309. package/build/src/start/server/DevToolsPlugin.js +63 -3
  310. package/build/src/start/server/DevToolsPlugin.js.map +1 -1
  311. package/build/src/start/server/DevToolsPlugin.schema.js +8 -3
  312. package/build/src/start/server/DevToolsPlugin.schema.js.map +1 -1
  313. package/build/src/start/server/DevToolsPluginCliExtensionExecutor.js +58 -23
  314. package/build/src/start/server/DevToolsPluginCliExtensionExecutor.js.map +1 -1
  315. package/build/src/start/server/DevToolsPluginCliExtensionResults.js +29 -0
  316. package/build/src/start/server/DevToolsPluginCliExtensionResults.js.map +1 -1
  317. package/build/src/start/server/DevToolsPluginManager.js +20 -6
  318. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  319. package/build/src/start/server/DevToolsPluginServerHelpers.js +83 -0
  320. package/build/src/start/server/DevToolsPluginServerHelpers.js.map +1 -0
  321. package/build/src/start/server/DevelopmentSession.js +41 -24
  322. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  323. package/build/src/start/server/MCP.js +10 -3
  324. package/build/src/start/server/MCP.js.map +1 -1
  325. package/build/src/start/server/MCPDevToolsPluginCLIExtensions.js +15 -5
  326. package/build/src/start/server/MCPDevToolsPluginCLIExtensions.js.map +1 -1
  327. package/build/src/start/server/UrlCreator.js +14 -1
  328. package/build/src/start/server/UrlCreator.js.map +1 -1
  329. package/build/src/start/server/createMCPDevToolsExtensionSchema.js +18 -4
  330. package/build/src/start/server/createMCPDevToolsExtensionSchema.js.map +1 -1
  331. package/build/src/start/server/getStaticRenderFunctions.js +13 -24
  332. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  333. package/build/src/start/server/metro/MetroBundlerDevServer.js +239 -108
  334. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  335. package/build/src/start/server/metro/MetroTerminalReporter.js +67 -16
  336. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  337. package/build/src/start/server/metro/TerminalReporter.js +22 -4
  338. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  339. package/build/src/start/server/metro/createExpoAutolinkingResolver.js +25 -12
  340. package/build/src/start/server/metro/createExpoAutolinkingResolver.js.map +1 -1
  341. package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -1
  342. package/build/src/start/server/metro/createFileMap-fork.js +196 -0
  343. package/build/src/start/server/metro/createFileMap-fork.js.map +1 -0
  344. package/build/src/start/server/metro/createServerComponentsMiddleware.js +22 -22
  345. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  346. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  347. package/build/src/start/server/metro/createTypescriptResolver.js +410 -0
  348. package/build/src/start/server/metro/createTypescriptResolver.js.map +1 -0
  349. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  350. package/build/src/start/server/metro/debugging/attachAtlas.js +3 -3
  351. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
  352. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +6 -5
  353. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  354. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  355. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +20 -4
  356. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  357. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  358. package/build/src/start/server/metro/dev-server/compression.js.map +1 -1
  359. package/build/src/start/server/metro/dev-server/createMessageSocket.js +13 -2
  360. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
  361. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +9 -2
  362. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
  363. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +3 -3
  364. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
  365. package/build/src/start/server/metro/errors/FailedToResolveNativeOnlyModuleError.js.map +1 -1
  366. package/build/src/start/server/metro/externals.js +4 -4
  367. package/build/src/start/server/metro/externals.js.map +1 -1
  368. package/build/src/start/server/metro/fetchRouterManifest.js +3 -3
  369. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  370. package/build/src/start/server/metro/getCssModulesFromBundler.js +3 -3
  371. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  372. package/build/src/start/server/metro/instantiateMetro.js +141 -57
  373. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  374. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
  375. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +4 -4
  376. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
  377. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +3 -3
  378. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
  379. package/build/src/start/server/metro/metroErrorInterface.js +16 -13
  380. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  381. package/build/src/start/server/metro/metroErrors.js +3 -3
  382. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  383. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +48 -16
  384. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  385. package/build/src/start/server/metro/resolveLoader.js +3 -3
  386. package/build/src/start/server/metro/resolveLoader.js.map +1 -1
  387. package/build/src/start/server/metro/router.js +23 -14
  388. package/build/src/start/server/metro/router.js.map +1 -1
  389. package/build/src/start/server/metro/runServer-fork.js +13 -10
  390. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  391. package/build/src/start/server/metro/serializeHtml.js +29 -13
  392. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  393. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +36 -34
  394. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  395. package/build/src/start/server/metro/withMetroErrorReportingResolver.js +53 -30
  396. package/build/src/start/server/metro/withMetroErrorReportingResolver.js.map +1 -1
  397. package/build/src/start/server/metro/withMetroMultiPlatform.js +187 -126
  398. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  399. package/build/src/start/server/metro/withMetroResolvers.js +4 -4
  400. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  401. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  402. package/build/src/start/server/middleware/CorsMiddleware.js +3 -3
  403. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  404. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  405. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +60 -9
  406. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  407. package/build/src/start/server/middleware/DomComponentsMiddleware.js +16 -12
  408. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  409. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +6 -4
  410. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  411. package/build/src/start/server/middleware/ExpoMiddleware.js +3 -3
  412. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  413. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  414. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  415. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +13 -8
  416. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  417. package/build/src/start/server/middleware/ManifestMiddleware.js +15 -6
  418. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  419. package/build/src/start/server/middleware/OpenMiddleware.js +150 -0
  420. package/build/src/start/server/middleware/OpenMiddleware.js.map +1 -0
  421. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +13 -4
  422. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  423. package/build/src/start/server/middleware/ServeStaticMiddleware.js +2 -9
  424. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  425. package/build/src/start/server/middleware/domPolyfills.js +60 -0
  426. package/build/src/start/server/middleware/domPolyfills.js.map +1 -0
  427. package/build/src/start/server/middleware/inspector/JsInspector.js +6 -31
  428. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  429. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +14 -24
  430. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  431. package/build/src/start/server/middleware/inspector/middlwareMutations.js +3 -3
  432. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  433. package/build/src/start/server/middleware/metroOptions.js +15 -14
  434. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  435. package/build/src/start/server/middleware/mutations.js +3 -3
  436. package/build/src/start/server/middleware/mutations.js.map +1 -1
  437. package/build/src/start/server/middleware/openHandlers.js +157 -0
  438. package/build/src/start/server/middleware/openHandlers.js.map +1 -0
  439. package/build/src/start/server/middleware/resolveAssets.js +4 -4
  440. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  441. package/build/src/start/server/middleware/resolvePlatform.js +9 -7
  442. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  443. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
  444. package/build/src/start/server/openPlatforms.js.map +1 -1
  445. package/build/src/start/server/platformBundlers.js +3 -1
  446. package/build/src/start/server/platformBundlers.js.map +1 -1
  447. package/build/src/start/server/serverLogLikeMetro.js +13 -36
  448. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  449. package/build/src/start/server/type-generation/expo-env.js +3 -3
  450. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  451. package/build/src/start/server/type-generation/routes.js +14 -55
  452. package/build/src/start/server/type-generation/routes.js.map +1 -1
  453. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  454. package/build/src/start/server/type-generation/tsconfig.js +5 -5
  455. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  456. package/build/src/start/server/webTemplate.js +12 -10
  457. package/build/src/start/server/webTemplate.js.map +1 -1
  458. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +3 -3
  459. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  460. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  461. package/build/src/start/server/webpack/resolveFromProject.js +4 -4
  462. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  463. package/build/src/start/server/webpack/tls.js +3 -3
  464. package/build/src/start/server/webpack/tls.js.map +1 -1
  465. package/build/src/start/startAsync.js +21 -11
  466. package/build/src/start/startAsync.js.map +1 -1
  467. package/build/src/types.d.ts +2 -0
  468. package/build/src/utils/FileNotifier.js +1 -1
  469. package/build/src/utils/FileNotifier.js.map +1 -1
  470. package/build/src/utils/args.js +5 -5
  471. package/build/src/utils/args.js.map +1 -1
  472. package/build/src/utils/array.js +8 -8
  473. package/build/src/utils/array.js.map +1 -1
  474. package/build/src/utils/build-cache-providers/helpers.js +4 -4
  475. package/build/src/utils/build-cache-providers/helpers.js.map +1 -1
  476. package/build/src/utils/build-cache-providers/index.js +5 -5
  477. package/build/src/utils/build-cache-providers/index.js.map +1 -1
  478. package/build/src/utils/cocoapods.js +5 -5
  479. package/build/src/utils/cocoapods.js.map +1 -1
  480. package/build/src/utils/codesigning.js +12 -6
  481. package/build/src/utils/codesigning.js.map +1 -1
  482. package/build/src/utils/composeMetroIgnorePatterns.js +69 -0
  483. package/build/src/utils/composeMetroIgnorePatterns.js.map +1 -0
  484. package/build/src/utils/createTempPath.js +3 -3
  485. package/build/src/utils/createTempPath.js.map +1 -1
  486. package/build/src/utils/delay.js +4 -4
  487. package/build/src/utils/delay.js.map +1 -1
  488. package/build/src/utils/dir.js +21 -11
  489. package/build/src/utils/dir.js.map +1 -1
  490. package/build/src/utils/downloadAppAsync.js.map +1 -1
  491. package/build/src/utils/downloadExpoGoAsync.js +4 -4
  492. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  493. package/build/src/utils/editor.js +4 -4
  494. package/build/src/utils/editor.js.map +1 -1
  495. package/build/src/utils/env.js +39 -13
  496. package/build/src/utils/env.js.map +1 -1
  497. package/build/src/utils/errors.js +6 -6
  498. package/build/src/utils/errors.js.map +1 -1
  499. package/build/src/utils/exit.js +15 -19
  500. package/build/src/utils/exit.js.map +1 -1
  501. package/build/src/utils/expoUpdatesCli.js +5 -5
  502. package/build/src/utils/expoUpdatesCli.js.map +1 -1
  503. package/build/src/utils/fetch.js +4 -4
  504. package/build/src/utils/fetch.js.map +1 -1
  505. package/build/src/utils/findUp.js +3 -3
  506. package/build/src/utils/findUp.js.map +1 -1
  507. package/build/src/utils/fn.js +3 -3
  508. package/build/src/utils/fn.js.map +1 -1
  509. package/build/src/utils/freeport.js +3 -3
  510. package/build/src/utils/freeport.js.map +1 -1
  511. package/build/src/utils/getOrPromptApplicationId.js +3 -5
  512. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  513. package/build/src/utils/getRunningProcess.js +5 -5
  514. package/build/src/utils/getRunningProcess.js.map +1 -1
  515. package/build/src/utils/git.js +3 -3
  516. package/build/src/utils/git.js.map +1 -1
  517. package/build/src/utils/glob.js +3 -3
  518. package/build/src/utils/glob.js.map +1 -1
  519. package/build/src/utils/ip.js +4 -4
  520. package/build/src/utils/ip.js.map +1 -1
  521. package/build/src/utils/link.js +3 -3
  522. package/build/src/utils/link.js.map +1 -1
  523. package/build/src/utils/mergeGitIgnorePaths.js +10 -10
  524. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  525. package/build/src/utils/modifyConfigAsync.js +3 -3
  526. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  527. package/build/src/utils/net.js +23 -4
  528. package/build/src/utils/net.js.map +1 -1
  529. package/build/src/utils/nodeEnv.js +6 -6
  530. package/build/src/utils/nodeEnv.js.map +1 -1
  531. package/build/src/utils/npm.js +10 -9
  532. package/build/src/utils/npm.js.map +1 -1
  533. package/build/src/utils/obj.js +4 -4
  534. package/build/src/utils/obj.js.map +1 -1
  535. package/build/src/utils/open.js +240 -11
  536. package/build/src/utils/open.js.map +1 -1
  537. package/build/src/utils/ora.js +4 -4
  538. package/build/src/utils/ora.js.map +1 -1
  539. package/build/src/utils/plist.js +5 -4
  540. package/build/src/utils/plist.js.map +1 -1
  541. package/build/src/utils/port.js +12 -5
  542. package/build/src/utils/port.js.map +1 -1
  543. package/build/src/utils/progress.js +4 -4
  544. package/build/src/utils/progress.js.map +1 -1
  545. package/build/src/utils/prompts.js +11 -11
  546. package/build/src/utils/prompts.js.map +1 -1
  547. package/build/src/utils/qr.js +5 -4
  548. package/build/src/utils/qr.js.map +1 -1
  549. package/build/src/utils/resolveArgs.js +10 -9
  550. package/build/src/utils/resolveArgs.js.map +1 -1
  551. package/build/src/utils/scheme.js +4 -4
  552. package/build/src/utils/scheme.js.map +1 -1
  553. package/build/src/utils/strings.js.map +1 -1
  554. package/build/src/utils/tar.js +8 -7
  555. package/build/src/utils/tar.js.map +1 -1
  556. package/build/src/utils/telemetry/Telemetry.js +5 -0
  557. package/build/src/utils/telemetry/Telemetry.js.map +1 -1
  558. package/build/src/utils/telemetry/clients/FetchClient.js +1 -1
  559. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
  560. package/build/src/utils/telemetry/clients/flushFetchDetached.js +5 -1
  561. package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
  562. package/build/src/utils/telemetry/index.js +4 -4
  563. package/build/src/utils/telemetry/index.js.map +1 -1
  564. package/build/src/utils/telemetry/utils/agent.js +42 -0
  565. package/build/src/utils/telemetry/utils/agent.js.map +1 -0
  566. package/build/src/utils/telemetry/utils/constants.js +3 -3
  567. package/build/src/utils/telemetry/utils/constants.js.map +1 -1
  568. package/build/src/utils/telemetry/utils/context.js +3 -2
  569. package/build/src/utils/telemetry/utils/context.js.map +1 -1
  570. package/build/src/utils/url.js +5 -17
  571. package/build/src/utils/url.js.map +1 -1
  572. package/build/src/utils/validateApplicationId.js +12 -12
  573. package/build/src/utils/validateApplicationId.js.map +1 -1
  574. package/build/src/utils/variadic.js +4 -4
  575. package/build/src/utils/variadic.js.map +1 -1
  576. package/build/src/whoami/index.js.map +1 -1
  577. package/changes.json +18 -26
  578. package/main.js +3 -0
  579. package/package.json +88 -80
  580. package/static/loading-page/index.html +45 -3
  581. package/static/template/+html.tsx +14 -5
  582. package/add-module.js +0 -8
  583. package/build/src/start/server/middleware/inspector/CdpClient.js +0 -81
  584. package/build/src/start/server/middleware/inspector/CdpClient.js.map +0 -1
  585. package/build/src/utils/resolveWatchFolders.js +0 -67
  586. package/build/src/utils/resolveWatchFolders.js.map +0 -1
  587. package/build/src/utils/tsconfig/evaluateTsConfig.js +0 -87
  588. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +0 -1
  589. package/build/src/utils/tsconfig/loadTsConfigPaths.js +0 -84
  590. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +0 -1
  591. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +0 -94
  592. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +0 -1
  593. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +0 -62
  594. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +0 -1
@@ -10,14 +10,14 @@ Object.defineProperty(exports, "__esModule", {
10
10
  function _export(target, all) {
11
11
  for(var name in all)Object.defineProperty(target, name, {
12
12
  enumerable: true,
13
- get: all[name]
13
+ get: Object.getOwnPropertyDescriptor(all, name).get
14
14
  });
15
15
  }
16
16
  _export(exports, {
17
- MetroBundlerDevServer: function() {
17
+ get MetroBundlerDevServer () {
18
18
  return MetroBundlerDevServer;
19
19
  },
20
- event: function() {
20
+ get event () {
21
21
  return event;
22
22
  }
23
23
  });
@@ -42,13 +42,6 @@ function _baseJSBundle() {
42
42
  };
43
43
  return data;
44
44
  }
45
- function _sourceMapGenerator() {
46
- const data = require("@expo/metro/metro/DeltaBundler/Serializers/sourceMapGenerator");
47
- _sourceMapGenerator = function() {
48
- return data;
49
- };
50
- return data;
51
- }
52
45
  function _bundleToString() {
53
46
  const data = /*#__PURE__*/ _interop_require_default(require("@expo/metro/metro/lib/bundleToString"));
54
47
  _bundleToString = function() {
@@ -63,6 +56,13 @@ function _getGraphId() {
63
56
  };
64
57
  return data;
65
58
  }
59
+ function _sourceMap() {
60
+ const data = require("@expo/metro-config/build/serializer/sourceMap");
61
+ _sourceMap = function() {
62
+ return data;
63
+ };
64
+ return data;
65
+ }
66
66
  function _assert() {
67
67
  const data = /*#__PURE__*/ _interop_require_default(require("assert"));
68
68
  _assert = function() {
@@ -84,13 +84,6 @@ function _private() {
84
84
  };
85
85
  return data;
86
86
  }
87
- function _https() {
88
- const data = /*#__PURE__*/ _interop_require_default(require("https"));
89
- _https = function() {
90
- return data;
91
- };
92
- return data;
93
- }
94
87
  function _path() {
95
88
  const data = /*#__PURE__*/ _interop_require_default(require("path"));
96
89
  _path = function() {
@@ -114,6 +107,8 @@ const _errors = require("../../../utils/errors");
114
107
  const _filePath = require("../../../utils/filePath");
115
108
  const _nodeEnv = require("../../../utils/nodeEnv");
116
109
  const _port = require("../../../utils/port");
110
+ const _AndroidAppIdResolver = require("../../platforms/android/AndroidAppIdResolver");
111
+ const _AppleAppIdResolver = require("../../platforms/ios/AppleAppIdResolver");
117
112
  const _BundlerDevServer = require("../BundlerDevServer");
118
113
  const _getStaticRenderFunctions = require("../getStaticRenderFunctions");
119
114
  const _resolveLoader = require("./resolveLoader");
@@ -124,10 +119,12 @@ const _DomComponentsMiddleware = require("../middleware/DomComponentsMiddleware"
124
119
  const _FaviconMiddleware = require("../middleware/FaviconMiddleware");
125
120
  const _HistoryFallbackMiddleware = require("../middleware/HistoryFallbackMiddleware");
126
121
  const _InterstitialPageMiddleware = require("../middleware/InterstitialPageMiddleware");
122
+ const _OpenMiddleware = require("../middleware/OpenMiddleware");
127
123
  const _RuntimeRedirectMiddleware = require("../middleware/RuntimeRedirectMiddleware");
128
124
  const _ServeStaticMiddleware = require("../middleware/ServeStaticMiddleware");
129
125
  const _metroOptions = require("../middleware/metroOptions");
130
126
  const _mutations = require("../middleware/mutations");
127
+ const _openHandlers = require("../middleware/openHandlers");
131
128
  const _startTypescriptTypeGeneration = require("../type-generation/startTypescriptTypeGeneration");
132
129
  function _interop_require_default(obj) {
133
130
  return obj && obj.__esModule ? obj : {
@@ -449,9 +446,48 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
449
446
  bytecode: false
450
447
  });
451
448
  }
449
+ async getDevServerRenderOptionsAsync({ location, route, request, resolveMetadata }) {
450
+ var _exp_extra_router, _exp_extra;
451
+ const { exp } = (0, _config().getConfig)(this.projectRoot);
452
+ const resolvedLoaderRoute = (0, _resolveLoader.fromServerManifestRoute)(location.pathname, route);
453
+ const params = (resolvedLoaderRoute == null ? void 0 : resolvedLoaderRoute.params) ?? {};
454
+ const renderOptions = {
455
+ params
456
+ };
457
+ if (resolveMetadata) {
458
+ // TODO(@hassankhan): Revisit if we support request-less `generateMetadata()` during SSG
459
+ if (!request) {
460
+ throw new _errors.CommandError('SSR_STREAMING_REQUEST_REQUIRED', 'Invariant violation: development streaming SSR requires a request to resolve metadata.');
461
+ }
462
+ renderOptions.metadata = await resolveMetadata({
463
+ route: {
464
+ file: route.file,
465
+ page: route.page
466
+ },
467
+ request,
468
+ params
469
+ });
470
+ }
471
+ const useServerDataLoaders = ((_exp_extra = exp.extra) == null ? void 0 : (_exp_extra_router = _exp_extra.router) == null ? void 0 : _exp_extra_router.unstable_useServerDataLoaders) === true;
472
+ if (!useServerDataLoaders || !resolvedLoaderRoute) {
473
+ return renderOptions;
474
+ }
475
+ const loaderResult = await this.executeServerDataLoaderAsync(location, resolvedLoaderRoute, request);
476
+ if (!loaderResult) {
477
+ return renderOptions;
478
+ }
479
+ const loaderData = loaderResult instanceof Response ? await loaderResult.json() : loaderResult;
480
+ const resolvedLoaderKey = (0, _private().resolveLoaderContextKey)(resolvedLoaderRoute.contextKey, resolvedLoaderRoute.params);
481
+ renderOptions.loader = {
482
+ data: loaderData ?? null,
483
+ key: resolvedLoaderKey
484
+ };
485
+ return renderOptions;
486
+ }
452
487
  /**
453
488
  * This function is invoked when running in development via `expo start`
454
489
  */ async getStaticPageAsync(pathname, route, request) {
490
+ var _exp_web, _exp_extra_router, _exp_extra;
455
491
  const { exp } = (0, _config().getConfig)(this.projectRoot);
456
492
  const { mode, isExporting, clientBoundaries, baseUrl, reactCompiler, routerRoot, asyncRoutes } = this.instanceMetroOptions;
457
493
  (0, _assert().default)(mode != null && isExporting != null && baseUrl != null && reactCompiler != null && routerRoot != null && asyncRoutes != null, 'The server must be started before calling getStaticPageAsync.');
@@ -473,8 +509,47 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
473
509
  clientBoundaries,
474
510
  bytecode: false
475
511
  });
512
+ const isSSREnabled = ((_exp_web = exp.web) == null ? void 0 : _exp_web.output) === 'server' && ((_exp_extra = exp.extra) == null ? void 0 : (_exp_extra_router = _exp_extra.router) == null ? void 0 : _exp_extra_router.unstable_useServerRendering) === true;
513
+ const location = new URL(pathname, this.getDevServerUrlOrAssert());
514
+ if (isSSREnabled) {
515
+ if (!request) {
516
+ throw new _errors.CommandError('SSR_STREAMING_REQUEST_REQUIRED', 'Invariant violation: development streaming SSR requires a request.');
517
+ }
518
+ const { getStreamingContent, resolveMetadata } = await this.ssrLoadModule(require.resolve('@expo/router-server/node/render.js'), {
519
+ // Development streaming SSR intentionally stays on the non-RSC server renderer.
520
+ environment: 'node',
521
+ minify: false,
522
+ isExporting,
523
+ platform
524
+ });
525
+ const { artifacts: resources } = await this.getStaticResourcesAsync({
526
+ clientBoundaries: []
527
+ });
528
+ const { cssHrefs, externalCss, inlineCss } = getStreamingCssAssetsFromSerialAssets(resources);
529
+ const { loader, metadata } = await this.getDevServerRenderOptionsAsync({
530
+ location,
531
+ route,
532
+ request,
533
+ resolveMetadata
534
+ });
535
+ const content = await getStreamingContent(location, {
536
+ loader,
537
+ metadata,
538
+ request: request,
539
+ assets: {
540
+ css: cssHrefs,
541
+ externalCss,
542
+ inlineCss,
543
+ js: [
544
+ devBundleUrlPathname
545
+ ]
546
+ }
547
+ });
548
+ return {
549
+ content
550
+ };
551
+ }
476
552
  const bundleStaticHtml = async ()=>{
477
- var _exp_extra_router, _exp_extra;
478
553
  const { getStaticContent } = await this.ssrLoadModule(require.resolve('@expo/router-server/node/render.js'), {
479
554
  // This must always use the legacy rendering resolution (no `react-server`) because it leverages
480
555
  // the previous React SSG utilities which aren't available in React 19.
@@ -483,27 +558,14 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
483
558
  isExporting,
484
559
  platform
485
560
  });
486
- const location = new URL(pathname, this.getDevServerUrlOrAssert());
487
- const useServerDataLoaders = (_exp_extra = exp.extra) == null ? void 0 : (_exp_extra_router = _exp_extra.router) == null ? void 0 : _exp_extra_router.unstable_useServerDataLoaders;
488
- if (!useServerDataLoaders) {
489
- return await getStaticContent(location);
490
- }
491
- const resolvedLoaderRoute = (0, _resolveLoader.fromServerManifestRoute)(location.pathname, route);
492
- if (!resolvedLoaderRoute) {
493
- return await getStaticContent(location);
494
- }
495
- const loaderResult = await this.executeServerDataLoaderAsync(location, resolvedLoaderRoute, request);
496
- if (!loaderResult) {
497
- return await getStaticContent(location);
498
- }
499
- const loaderData = await loaderResult.json();
500
- const resolvedLoaderKey = (0, _private().resolveLoaderContextKey)(resolvedLoaderRoute.contextKey, resolvedLoaderRoute.params);
501
- return await getStaticContent(location, {
502
- loader: {
503
- data: loaderData,
504
- key: resolvedLoaderKey
505
- }
561
+ const { loader } = await this.getDevServerRenderOptionsAsync({
562
+ location,
563
+ route,
564
+ request
506
565
  });
566
+ return await getStaticContent(location, loader ? {
567
+ loader
568
+ } : undefined);
507
569
  };
508
570
  const [{ artifacts: resources }, staticHtml] = await Promise.all([
509
571
  this.getStaticResourcesAsync({
@@ -602,7 +664,8 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
602
664
  modulesOnly: expoBundleOptions.modulesOnly ?? false,
603
665
  runModule: expoBundleOptions.runModule ?? true,
604
666
  sourceUrl: expoBundleOptions.sourceUrl,
605
- sourceMapUrl: extraOptions.sourceMapUrl ?? expoBundleOptions.sourceMapUrl
667
+ sourceMapUrl: extraOptions.sourceMapUrl ?? expoBundleOptions.sourceMapUrl,
668
+ excludeSource: expoBundleOptions.serializerOptions.excludeSource ?? false
606
669
  },
607
670
  transformOptions
608
671
  });
@@ -639,15 +702,6 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
639
702
  // https://github.com/facebook/metro/blob/2405f2f6c37a1b641cc379b9c733b1eff0c1c2a1/packages/metro/src/lib/parseOptionsFromUrl.js#L55-L87
640
703
  const { filename, bundle, map, ...rest } = await this.metroLoadModuleContents(filePath, opts);
641
704
  const scriptContents = wrapBundle(bundle);
642
- if (map) {
643
- debug('Registering SSR source map for:', filename);
644
- _getStaticRenderFunctions.cachedSourceMaps.set(filename, {
645
- url: this.projectRoot,
646
- map
647
- });
648
- } else {
649
- debug('No SSR source map found for:', filename);
650
- }
651
705
  return {
652
706
  ...rest,
653
707
  src: scriptContents,
@@ -872,13 +926,14 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
872
926
  apiRoutes: hasApiRoutes,
873
927
  exporting: !!options.isExporting
874
928
  });
875
- const { metro, hmrServer, server, middleware, messageSocket } = await (0, _instantiateMetro.instantiateMetroAsync)(this, parsedOptions, {
929
+ const { metro, hmrServer, address, server, middleware, messageSocket } = await (0, _instantiateMetro.instantiateMetroAsync)(this, parsedOptions, {
876
930
  isExporting: !!options.isExporting,
877
- exp
931
+ exp,
932
+ devToolsPluginManager: this.devToolsPluginManager
878
933
  });
879
- const protocol = server instanceof _https().default.Server ? 'https' : 'http';
880
934
  // Required for symbolication:
881
- process.env.EXPO_DEV_SERVER_ORIGIN = `${protocol}://localhost:${options.port}`;
935
+ const serverBaseUrl = `${(address == null ? void 0 : address.protocol) ?? 'http'}://localhost:${(address == null ? void 0 : address.port) ?? options.port}`;
936
+ process.env.EXPO_DEV_SERVER_ORIGIN = serverBaseUrl;
882
937
  if (!options.isExporting) {
883
938
  var _metro__config_server, _metro__config;
884
939
  const manifestMiddleware = await this.getManifestMiddlewareAsync(options);
@@ -910,6 +965,46 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
910
965
  }
911
966
  });
912
967
  middleware.use(deepLinkMiddleware.getHandler());
968
+ const getHostSupport = (platform)=>{
969
+ if (platform === 'ios' && process.platform !== 'darwin') {
970
+ return {
971
+ canOpen: false,
972
+ reason: `iOS simulators require macOS with Xcode installed; this dev server is running on ${process.platform}.`
973
+ };
974
+ }
975
+ return {
976
+ canOpen: true
977
+ };
978
+ };
979
+ // Read all dev-server state live — pressing `s` in the terminal toggles `isDevClient`
980
+ // and the scheme, and `expo-dev-client` can be installed mid-run (re-resolved by
981
+ // isRedirectPageEnabled on every call).
982
+ const openMiddleware = new _OpenMiddleware.OpenMiddleware(this.projectRoot, {
983
+ serverBaseUrl,
984
+ getHostSupport,
985
+ getInfo: (0, _openHandlers.createInfoHandler)({
986
+ urlCreator: this.getUrlCreator(),
987
+ getIsDevClient: ()=>this.isDevClient,
988
+ getIsRedirectPageEnabled: ()=>this.isRedirectPageEnabled(),
989
+ getAppId: async (platform)=>{
990
+ if (platform === 'web') return null;
991
+ const resolver = platform === 'ios' ? new _AppleAppIdResolver.AppleAppIdResolver(this.projectRoot) : new _AndroidAppIdResolver.AndroidAppIdResolver(this.projectRoot);
992
+ try {
993
+ return await resolver.getAppIdAsync();
994
+ } catch {
995
+ // Surfacing the error would block the dry-run; consumers can detect the missing id
996
+ // from `appId: null` and prompt the user to configure ios.bundleIdentifier /
997
+ // android.package.
998
+ return null;
999
+ }
1000
+ }
1001
+ }),
1002
+ open: (0, _openHandlers.createOpen)({
1003
+ getIsDevClient: ()=>this.isDevClient,
1004
+ openPlatformAsync: (target, resolver)=>this.openPlatformAsync(target, resolver)
1005
+ })
1006
+ });
1007
+ middleware.use(openMiddleware.getHandler());
913
1008
  const domComponentRenderer = (0, _DomComponentsMiddleware.createDomComponentsMiddleware)({
914
1009
  projectRoot: this.projectRoot
915
1010
  }, instanceMetroOptions);
@@ -950,8 +1045,7 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
950
1045
  (0, _waitForMetroToObserveTypeScriptFile.observeAnyFileChanges)({
951
1046
  metro,
952
1047
  server
953
- }, (events)=>{
954
- var _exp_extra_router, _exp_extra;
1048
+ }, ({ changes })=>{
955
1049
  if (hasApiRoutes) {
956
1050
  // NOTE(EvanBacon): We aren't sure what files the API routes are using so we'll just invalidate
957
1051
  // aggressively to ensure we always have the latest. The only caching we really get here is for
@@ -960,25 +1054,15 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
960
1054
  // up for a lot of the overhead.
961
1055
  this.invalidateApiRouteCache();
962
1056
  } else if (!(0, _router.hasWarnedAboutApiRoutes)()) {
963
- for (const event of events){
964
- var // If the user did not delete a file that matches the Expo Router API Route convention, then we should warn that
1057
+ for (const change of changes.addedFiles){
1058
+ if (// If the user did not delete a file that matches the Expo Router API Route convention, then we should warn that
965
1059
  // API Routes are not enabled in the project.
966
- _event_metadata;
967
- 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.
968
- event.filePath.startsWith(appDir) && (0, _router.isApiRouteConvention)(event.filePath)) {
1060
+ // Ensure the file is in the project's routes directory to prevent false positives in monorepos.
1061
+ change[0].startsWith(appDir) && (0, _router.isApiRouteConvention)(change[0])) {
969
1062
  (0, _router.warnInvalidWebOutput)();
970
1063
  }
971
1064
  }
972
1065
  }
973
- // Handle loader file changes for HMR
974
- if ((_exp_extra = exp.extra) == null ? void 0 : (_exp_extra_router = _exp_extra.router) == null ? void 0 : _exp_extra_router.unstable_useServerDataLoaders) {
975
- for (const event of events){
976
- var _event_metadata1;
977
- if (((_event_metadata1 = event.metadata) == null ? void 0 : _event_metadata1.type) !== 'd') {
978
- this.handleLoaderFileChange(event.filePath);
979
- }
980
- }
981
- }
982
1066
  });
983
1067
  }
984
1068
  // If React 19 is enabled, then add RSC middleware to the dev server.
@@ -1026,8 +1110,9 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1026
1110
  return this.executeServerDataLoaderAsync(url, resolvedLoaderRoute, isSSREnabled ? request : undefined);
1027
1111
  },
1028
1112
  getStaticPageAsync: async (pathname, route, request)=>{
1029
- // TODO: Add server rendering when RSC is enabled.
1030
1113
  if (isReactServerComponentsEnabled) {
1114
+ // RSC development HTML intentionally stays on the existing temporary SPA/template path.
1115
+ // Non-RSC streaming SSR is handled by `MetroBundlerDevServer#getStaticPageAsync()`.
1031
1116
  // NOTE: This is a temporary hack to return the SPA/template index.html in development when RSC is enabled.
1032
1117
  // While this technically works, it doesn't provide the correct experience of server rendering the React code to HTML first.
1033
1118
  const html = await manifestMiddleware.getSingleHtmlTemplateAsync();
@@ -1069,6 +1154,11 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1069
1154
  this.metro = null;
1070
1155
  this.hmrServer = null;
1071
1156
  this.ssrHmrClients = new Map();
1157
+ for (const unlisten of this.loaderGraphListeners.values()){
1158
+ unlisten();
1159
+ }
1160
+ this.loaderGraphListeners.clear();
1161
+ this.pendingLoaderInvalidationChangeIds.clear();
1072
1162
  callback == null ? void 0 : callback(err);
1073
1163
  });
1074
1164
  };
@@ -1078,11 +1168,11 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1078
1168
  server,
1079
1169
  location: {
1080
1170
  // The port is the main thing we want to send back.
1081
- port: options.port,
1171
+ port: (address == null ? void 0 : address.port) ?? options.port,
1082
1172
  // localhost isn't always correct.
1083
1173
  host: 'localhost',
1084
- url: `${protocol}://localhost:${options.port}`,
1085
- protocol
1174
+ url: serverBaseUrl,
1175
+ protocol: (address == null ? void 0 : address.protocol) ?? 'http'
1086
1176
  },
1087
1177
  middleware,
1088
1178
  messageSocket
@@ -1157,6 +1247,8 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1157
1247
  debug('Skipping TypeScript check because Metro is not running (headless).');
1158
1248
  return resolve(false);
1159
1249
  }
1250
+ // TODO(@kitten): This is highly inefficient. We shouldn't watch all changes to determine this
1251
+ // and instead use startup heuristic and do a pre-bundling check
1160
1252
  const off = (0, _metroWatchTypeScriptFiles.metroWatchTypeScriptFiles)({
1161
1253
  projectRoot: this.projectRoot,
1162
1254
  server: this.instance.server,
@@ -1242,7 +1334,7 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1242
1334
  if (!(apiRoute == null ? void 0 : apiRoute.src)) {
1243
1335
  return null;
1244
1336
  }
1245
- return (0, _getStaticRenderFunctions.evalMetroNoHandling)(this.projectRoot, apiRoute.src, apiRoute.filename);
1337
+ return (0, _getStaticRenderFunctions.evalMetroNoHandling)(this.projectRoot, apiRoute.src, apiRoute.filename, apiRoute.map);
1246
1338
  } catch (error) {
1247
1339
  // Format any errors that were thrown in the global scope of the evaluation.
1248
1340
  if (error instanceof Error) {
@@ -1300,8 +1392,6 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1300
1392
  isLoaderBundle: true
1301
1393
  });
1302
1394
  if (routeModule.loader) {
1303
- // Register this module for loader HMR
1304
- this.setupLoaderHmr(modulePath);
1305
1395
  const maybeResponse = await routeModule.loader(request, route.params);
1306
1396
  let data;
1307
1397
  if (maybeResponse instanceof Response) {
@@ -1378,29 +1468,48 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1378
1468
  };
1379
1469
  this.registerSsrHmrAsync(url.toString(), onReload);
1380
1470
  }
1381
- setupLoaderHmr(modulePath) {
1382
- if (this.watchedLoaderFiles.has(modulePath)) {
1471
+ // Subscribe to a loader bundle's Metro graph so we can broadcast `loader-invalidate` and
1472
+ // drop the SSR module eval cache when the loader's dependency graph is dirtied. This avoids
1473
+ // the full-page reload the old stub used and keeps client state across loader edits.
1474
+ setupLoaderGraphListener(graphId, resolvedEntryFilePath, graph) {
1475
+ if (this.loaderGraphListeners.has(graphId) || !this.metro) {
1383
1476
  return;
1384
1477
  }
1385
- this.watchedLoaderFiles.add(modulePath);
1386
- debug('[Loader HMR] Registering loader file for HMR:', modulePath);
1387
- }
1388
- handleLoaderFileChange(changedFilePath) {
1389
- for (const loaderPath of this.watchedLoaderFiles){
1390
- const possibleExtensions = [
1391
- '.tsx',
1392
- '.ts',
1393
- '.jsx',
1394
- '.js'
1395
- ];
1396
- const isLoaderFile = possibleExtensions.some((ext)=>changedFilePath === loaderPath + ext || changedFilePath === loaderPath);
1397
- if (isLoaderFile) {
1398
- debug('[Loader HMR] Loader file changed, triggering reload:', changedFilePath);
1399
- this.broadcastMessage('sendDevCommand', {
1400
- name: 'reload'
1401
- });
1478
+ const deltaBundler = this.metro.getBundler().getDeltaBundler();
1479
+ const onChange = async (changeEvent)=>{
1480
+ debug('[Loader HMR] Graph change detected for:', resolvedEntryFilePath);
1481
+ if (!this.shouldBroadcastLoaderInvalidation(changeEvent == null ? void 0 : changeEvent.changeId)) {
1482
+ return;
1402
1483
  }
1484
+ if (typeof globalThis.__c === 'function') {
1485
+ globalThis.__c();
1486
+ }
1487
+ this.broadcastMessage('sendDevCommand', {
1488
+ name: 'loader-invalidate',
1489
+ data: {
1490
+ scope: 'all'
1491
+ }
1492
+ });
1493
+ };
1494
+ const unlisten = deltaBundler.listen(graph, onChange);
1495
+ this.loaderGraphListeners.set(graphId, unlisten);
1496
+ }
1497
+ shouldBroadcastLoaderInvalidation(changeId) {
1498
+ if (!changeId) {
1499
+ return true;
1500
+ }
1501
+ if (this.pendingLoaderInvalidationChangeIds.has(changeId)) {
1502
+ return false;
1403
1503
  }
1504
+ this.pendingLoaderInvalidationChangeIds.add(changeId);
1505
+ // All listeners for a single filesystem change are dispatched synchronously from one
1506
+ // DeltaCalculator EventEmitter.emit(), so dedupe collisions resolve within microseconds.
1507
+ // The timeout exists only to bound memory: without it, this Set would accumulate one entry
1508
+ // per change for the lifetime of the dev server.
1509
+ setTimeout(()=>{
1510
+ this.pendingLoaderInvalidationChangeIds.delete(changeId);
1511
+ }, 500);
1512
+ return true;
1404
1513
  }
1405
1514
  // Direct Metro access
1406
1515
  // Emulates the Metro dev server .bundle endpoint without having to go through a server.
@@ -1447,13 +1556,14 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1447
1556
  type: 'bundle_build_started'
1448
1557
  });
1449
1558
  try {
1559
+ var _transformOptions_customTransformOptions;
1450
1560
  let delta;
1451
1561
  let revision;
1452
1562
  try {
1453
- var _transformOptions_customTransformOptions;
1563
+ var _transformOptions_customTransformOptions1;
1454
1564
  // TODO: Some bug in Metro/RSC causes this to break when changing imports in server components.
1455
1565
  // We should resolve the bug because it results in ~6x faster bundling to reuse the graph revision.
1456
- if (((_transformOptions_customTransformOptions = transformOptions.customTransformOptions) == null ? void 0 : _transformOptions_customTransformOptions.environment) === 'react-server') {
1566
+ if (((_transformOptions_customTransformOptions1 = transformOptions.customTransformOptions) == null ? void 0 : _transformOptions_customTransformOptions1.environment) === 'react-server') {
1457
1567
  const props = await this.metro.getBundler().initializeGraph(// NOTE: Using absolute path instead of relative input path is a breaking change.
1458
1568
  // entryFile,
1459
1569
  resolvedEntryFilePath, transformOptions, resolverOptions, {
@@ -1479,6 +1589,9 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1479
1589
  (0, _metroErrorInterface.dropStackIfContainsCodeFrame)(error);
1480
1590
  throw error;
1481
1591
  }
1592
+ if (!this.instanceMetroOptions.isExporting && transformOptions.dev !== false && ((_transformOptions_customTransformOptions = transformOptions.customTransformOptions) == null ? void 0 : _transformOptions_customTransformOptions.isLoaderBundle) === 'true') {
1593
+ this.setupLoaderGraphListener(revision.graphId, resolvedEntryFilePath, revision.graph);
1594
+ }
1482
1595
  bundlePerfLogger == null ? void 0 : bundlePerfLogger.annotate({
1483
1596
  int: {
1484
1597
  graph_node_count: revision.graph.dependencies.size
@@ -1527,13 +1640,13 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1527
1640
  let bundleMap = null;
1528
1641
  if (serializerOptions.output === 'static') {
1529
1642
  try {
1530
- var _artifacts_filter_, _artifacts_filter;
1643
+ var _artifacts_find;
1531
1644
  const parsed = typeof bundle === 'string' ? JSON.parse(bundle) : bundle;
1532
1645
  (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.');
1533
1646
  const artifacts = parsed.artifacts;
1534
1647
  const assets = parsed.assets;
1535
- const bundleCode = artifacts.filter((asset)=>asset.type === 'js')[0];
1536
- const bundleMap = ((_artifacts_filter = artifacts.filter((asset)=>asset.type === 'map')) == null ? void 0 : (_artifacts_filter_ = _artifacts_filter[0]) == null ? void 0 : _artifacts_filter_.source) ?? '';
1648
+ const bundleCode = artifacts.find((asset)=>asset.type === 'js');
1649
+ const bundleMap = ((_artifacts_find = artifacts.find((asset)=>asset.type === 'map')) == null ? void 0 : _artifacts_find.source) ?? '';
1537
1650
  return {
1538
1651
  numModifiedFiles: delta.reset ? delta.added.size + revision.prepend.length : delta.added.size + delta.modified.size + delta.deleted.size,
1539
1652
  lastModifiedDate: revision.date,
@@ -1554,7 +1667,7 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1554
1667
  if (serializerOptions.modulesOnly) {
1555
1668
  prepend = [];
1556
1669
  }
1557
- bundleMap = await sourceMapStringAsync([
1670
+ bundleMap = await (0, _sourceMap().sourceMapStringNonBlocking)([
1558
1671
  //
1559
1672
  ...prepend,
1560
1673
  ...this.metro._getSortedModules(graph)
@@ -1610,7 +1723,7 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1610
1723
  });
1611
1724
  }
1612
1725
  constructor(...args){
1613
- super(...args), this.metro = null, this.hmrServer = null, this.ssrHmrClients = new Map(), // Set when the server is started.
1726
+ super(...args), this.metro = null, this.hmrServer = null, this.ssrHmrClients = new Map(), this.loaderGraphListeners = new Map(), this.pendingLoaderInvalidationChangeIds = new Set(), // Set when the server is started.
1614
1727
  this.instanceMetroOptions = {}, this.ssrLoadModule = async (filePath, specificOptions = {}, extras = {})=>{
1615
1728
  // NOTE(@kitten): We don't properly initialize the server-side modules
1616
1729
  // Instead, we first load an entrypoint with an empty bundle to initialize the runtime instead
@@ -1628,9 +1741,9 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
1628
1741
  const url = new URL(relativePath, this.getDevServerUrlOrAssert());
1629
1742
  this.setupHmr(url);
1630
1743
  }
1631
- return (0, _getStaticRenderFunctions.evalMetroAndWrapFunctions)(this.projectRoot, res.src, res.filename, specificOptions.isExporting ?? this.instanceMetroOptions.isExporting);
1744
+ return (0, _getStaticRenderFunctions.evalMetroAndWrapFunctions)(this.projectRoot, res.src, res.filename, res.map, specificOptions.isExporting ?? this.instanceMetroOptions.isExporting);
1632
1745
  }, this.rscRenderer = null, this.onReloadRscEvent = null, // API Routes
1633
- this.pendingRouteOperations = new Map(), this.watchedLoaderFiles = new Set();
1746
+ this.pendingRouteOperations = new Map();
1634
1747
  }
1635
1748
  }
1636
1749
  function getBuildID(buildNumber) {
@@ -1642,13 +1755,31 @@ function wrapBundle(str) {
1642
1755
  // Use gm to apply to the last require line. This is needed when the bundle has side-effects.
1643
1756
  return str.replace(/^(__r\(.*\);)$/gm, 'module.exports = $1');
1644
1757
  }
1645
- async function sourceMapStringAsync(modules, options) {
1646
- return (await (0, _sourceMapGenerator().sourceMapGeneratorNonBlocking)(modules, options)).toString(undefined, {
1647
- excludeSource: options.excludeSource
1648
- });
1649
- }
1650
1758
  function unique(array) {
1651
1759
  return Array.from(new Set(array));
1652
1760
  }
1761
+ function getStreamingCssAssetsFromSerialAssets(resources) {
1762
+ const cssHrefs = [];
1763
+ const externalCss = [];
1764
+ const inlineCss = [];
1765
+ for (const asset of resources){
1766
+ if (asset.type === 'css') {
1767
+ inlineCss.push({
1768
+ source: asset.source,
1769
+ hmrId: asset.metadata.hmrId
1770
+ });
1771
+ } else if (asset.type === 'css-external') {
1772
+ externalCss.push({
1773
+ href: asset.filename,
1774
+ media: asset.metadata.media
1775
+ });
1776
+ }
1777
+ }
1778
+ return {
1779
+ cssHrefs,
1780
+ externalCss,
1781
+ inlineCss
1782
+ };
1783
+ }
1653
1784
 
1654
1785
  //# sourceMappingURL=MetroBundlerDevServer.js.map