@expo/cli 1.0.0-canary-20250320-7a205d3 → 1.0.0-canary-20250331-817737a

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 (719) 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 +36 -32
  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 +55 -37
  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 +53 -31
  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 +34 -26
  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 +75 -53
  96. package/build/src/export/exportHermes.js.map +1 -1
  97. package/build/src/export/exportStaticAsync.js +73 -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 +64 -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 +705 -479
  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 +14 -12
  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 +43 -37
  172. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  173. package/build/src/prebuild/resolveOptions.js +70 -53
  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 +80 -60
  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 +88 -74
  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 +37 -33
  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 +30 -22
  405. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  406. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +9 -5
  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/createExpoFallbackResolver.js +13 -11
  416. package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -1
  417. package/build/src/start/server/metro/createExpoMetroResolver.js +47 -41
  418. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  419. package/build/src/start/server/metro/createJResolver.js +31 -27
  420. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  421. package/build/src/start/server/metro/createServerComponentsMiddleware.js +96 -92
  422. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  423. package/build/src/start/server/metro/createServerRouteMiddleware.js +31 -29
  424. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  425. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +13 -11
  426. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
  427. package/build/src/start/server/metro/debugging/MessageHandler.js +3 -1
  428. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  429. package/build/src/start/server/metro/debugging/attachAtlas.js +26 -22
  430. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
  431. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +19 -17
  432. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  433. package/build/src/start/server/metro/debugging/createHandlersFactory.js +25 -31
  434. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  435. package/build/src/start/server/metro/debugging/getDebuggerType.js +6 -4
  436. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  437. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +14 -8
  438. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  439. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -5
  440. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  441. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +8 -6
  442. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  443. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -5
  444. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  445. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +14 -12
  446. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
  447. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +14 -10
  448. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  449. package/build/src/start/server/metro/debugging/pageIsSupported.js +6 -4
  450. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  451. package/build/src/start/server/metro/debugging/types.js.map +1 -1
  452. package/build/src/start/server/metro/dev-server/createEventSocket.js +18 -16
  453. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
  454. package/build/src/start/server/metro/dev-server/createMessageSocket.js +23 -21
  455. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
  456. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +23 -21
  457. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
  458. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +4 -2
  459. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
  460. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +4 -2
  461. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
  462. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +8 -4
  463. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
  464. package/build/src/start/server/metro/externals.js +33 -25
  465. package/build/src/start/server/metro/externals.js.map +1 -1
  466. package/build/src/start/server/metro/fetchRouterManifest.js +16 -12
  467. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  468. package/build/src/start/server/metro/formatFileCandidates.js +11 -9
  469. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  470. package/build/src/start/server/metro/getCssModulesFromBundler.js +24 -20
  471. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  472. package/build/src/start/server/metro/instantiateMetro.js +87 -81
  473. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  474. package/build/src/start/server/metro/log-box/LogBoxLog.js +40 -36
  475. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
  476. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +20 -14
  477. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
  478. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +10 -6
  479. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
  480. package/build/src/start/server/metro/metroErrorInterface.js +88 -78
  481. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  482. package/build/src/start/server/metro/metroErrors.js +8 -4
  483. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  484. package/build/src/start/server/metro/metroPrivateServer.js +9 -7
  485. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
  486. package/build/src/start/server/metro/metroVirtualModules.js +10 -8
  487. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  488. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +24 -22
  489. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  490. package/build/src/start/server/metro/router.js +48 -32
  491. package/build/src/start/server/metro/router.js.map +1 -1
  492. package/build/src/start/server/metro/runServer-fork.js +24 -22
  493. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  494. package/build/src/start/server/metro/serializeHtml.js +24 -22
  495. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  496. package/build/src/start/server/metro/symbolicate.js.map +1 -1
  497. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +35 -29
  498. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  499. package/build/src/start/server/metro/withMetroMultiPlatform.js +150 -140
  500. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  501. package/build/src/start/server/metro/withMetroResolvers.js +49 -39
  502. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  503. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +8 -6
  504. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  505. package/build/src/start/server/middleware/CorsMiddleware.js +17 -15
  506. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  507. package/build/src/start/server/middleware/CreateFileMiddleware.js +32 -31
  508. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  509. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +22 -19
  510. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  511. package/build/src/start/server/middleware/DomComponentsMiddleware.js +33 -27
  512. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  513. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +61 -57
  514. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  515. package/build/src/start/server/middleware/ExpoMiddleware.js +15 -9
  516. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  517. package/build/src/start/server/middleware/FaviconMiddleware.js +16 -15
  518. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  519. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +4 -2
  520. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  521. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +34 -31
  522. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  523. package/build/src/start/server/middleware/ManifestMiddleware.js +64 -56
  524. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  525. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +23 -19
  526. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  527. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +20 -19
  528. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  529. package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -9
  530. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  531. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +17 -11
  532. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
  533. package/build/src/start/server/middleware/inspector/CdpClient.js +12 -10
  534. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
  535. package/build/src/start/server/middleware/inspector/JsInspector.js +35 -27
  536. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  537. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +21 -19
  538. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  539. package/build/src/start/server/middleware/inspector/middlwareMutations.js +6 -2
  540. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  541. package/build/src/start/server/middleware/metroOptions.js +120 -96
  542. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  543. package/build/src/start/server/middleware/mutations.js +7 -3
  544. package/build/src/start/server/middleware/mutations.js.map +1 -1
  545. package/build/src/start/server/middleware/resolveAssets.js +26 -18
  546. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  547. package/build/src/start/server/middleware/resolvePlatform.js +23 -15
  548. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  549. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +11 -9
  550. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
  551. package/build/src/start/server/middleware/server.types.js.map +1 -1
  552. package/build/src/start/server/openPlatforms.js +10 -8
  553. package/build/src/start/server/openPlatforms.js.map +1 -1
  554. package/build/src/start/server/platformBundlers.js +13 -11
  555. package/build/src/start/server/platformBundlers.js.map +1 -1
  556. package/build/src/start/server/serverLogLikeMetro.js +58 -50
  557. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  558. package/build/src/start/server/type-generation/expo-env.js +11 -7
  559. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  560. package/build/src/start/server/type-generation/routes.js +72 -50
  561. package/build/src/start/server/type-generation/routes.js.map +1 -1
  562. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +21 -19
  563. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  564. package/build/src/start/server/type-generation/tsconfig.js +36 -28
  565. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  566. package/build/src/start/server/webTemplate.js +28 -24
  567. package/build/src/start/server/webTemplate.js.map +1 -1
  568. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +52 -46
  569. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  570. package/build/src/start/server/webpack/compile.js +15 -11
  571. package/build/src/start/server/webpack/compile.js.map +1 -1
  572. package/build/src/start/server/webpack/formatWebpackMessages.js +28 -26
  573. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  574. package/build/src/start/server/webpack/resolveFromProject.js +18 -12
  575. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  576. package/build/src/start/server/webpack/tls.js +18 -12
  577. package/build/src/start/server/webpack/tls.js.map +1 -1
  578. package/build/src/start/startAsync.js +31 -27
  579. package/build/src/start/startAsync.js.map +1 -1
  580. package/build/src/utils/FileNotifier.js +20 -17
  581. package/build/src/utils/FileNotifier.js.map +1 -1
  582. package/build/src/utils/ansi.js +7 -5
  583. package/build/src/utils/ansi.js.map +1 -1
  584. package/build/src/utils/args.js +24 -14
  585. package/build/src/utils/args.js.map +1 -1
  586. package/build/src/utils/array.js +18 -6
  587. package/build/src/utils/array.js.map +1 -1
  588. package/build/src/utils/cocoapods.js +54 -46
  589. package/build/src/utils/cocoapods.js.map +1 -1
  590. package/build/src/utils/codesigning.js +79 -69
  591. package/build/src/utils/codesigning.js.map +1 -1
  592. package/build/src/utils/createFileTransform.js +16 -12
  593. package/build/src/utils/createFileTransform.js.map +1 -1
  594. package/build/src/utils/createTempPath.js +12 -8
  595. package/build/src/utils/createTempPath.js.map +1 -1
  596. package/build/src/utils/delay.js +12 -6
  597. package/build/src/utils/delay.js.map +1 -1
  598. package/build/src/utils/dir.js +40 -22
  599. package/build/src/utils/dir.js.map +1 -1
  600. package/build/src/utils/downloadAppAsync.js +10 -8
  601. package/build/src/utils/downloadAppAsync.js.map +1 -1
  602. package/build/src/utils/downloadExpoGoAsync.js +27 -23
  603. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  604. package/build/src/utils/editor.js +41 -35
  605. package/build/src/utils/editor.js.map +1 -1
  606. package/build/src/utils/env.js +63 -59
  607. package/build/src/utils/env.js.map +1 -1
  608. package/build/src/utils/errors.js +37 -30
  609. package/build/src/utils/errors.js.map +1 -1
  610. package/build/src/utils/exit.js +35 -31
  611. package/build/src/utils/exit.js.map +1 -1
  612. package/build/src/utils/expoUpdatesCli.js +32 -22
  613. package/build/src/utils/expoUpdatesCli.js.map +1 -1
  614. package/build/src/utils/fetch.js +8 -4
  615. package/build/src/utils/fetch.js.map +1 -1
  616. package/build/src/utils/filePath.js +10 -6
  617. package/build/src/utils/filePath.js.map +1 -1
  618. package/build/src/utils/findUp.js +13 -9
  619. package/build/src/utils/findUp.js.map +1 -1
  620. package/build/src/utils/fn.js +6 -2
  621. package/build/src/utils/fn.js.map +1 -1
  622. package/build/src/utils/getOrPromptApplicationId.js +41 -35
  623. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  624. package/build/src/utils/getRunningProcess.js +29 -21
  625. package/build/src/utils/getRunningProcess.js.map +1 -1
  626. package/build/src/utils/git.js +26 -20
  627. package/build/src/utils/git.js.map +1 -1
  628. package/build/src/utils/glob.js +8 -4
  629. package/build/src/utils/glob.js.map +1 -1
  630. package/build/src/utils/interactive.js +3 -1
  631. package/build/src/utils/interactive.js.map +1 -1
  632. package/build/src/utils/ip.js +21 -19
  633. package/build/src/utils/ip.js.map +1 -1
  634. package/build/src/utils/isModuleSymlinked.js +11 -9
  635. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  636. package/build/src/utils/jsonSchemaDeref.js +20 -18
  637. package/build/src/utils/jsonSchemaDeref.js.map +1 -1
  638. package/build/src/utils/link.js +17 -13
  639. package/build/src/utils/link.js.map +1 -1
  640. package/build/src/utils/mergeGitIgnorePaths.js +46 -28
  641. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  642. package/build/src/utils/modifyConfigAsync.js +16 -10
  643. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  644. package/build/src/utils/modifyConfigPlugins.js +10 -6
  645. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  646. package/build/src/utils/multipartMixed.js +13 -11
  647. package/build/src/utils/multipartMixed.js.map +1 -1
  648. package/build/src/utils/nodeEnv.js +12 -6
  649. package/build/src/utils/nodeEnv.js.map +1 -1
  650. package/build/src/utils/nodeModules.js +10 -8
  651. package/build/src/utils/nodeModules.js.map +1 -1
  652. package/build/src/utils/npm.js +49 -35
  653. package/build/src/utils/npm.js.map +1 -1
  654. package/build/src/utils/obj.js +11 -5
  655. package/build/src/utils/obj.js.map +1 -1
  656. package/build/src/utils/open.js +10 -8
  657. package/build/src/utils/open.js.map +1 -1
  658. package/build/src/utils/ora.js +13 -7
  659. package/build/src/utils/ora.js.map +1 -1
  660. package/build/src/utils/plist.js +21 -15
  661. package/build/src/utils/plist.js.map +1 -1
  662. package/build/src/utils/port.js +43 -33
  663. package/build/src/utils/port.js.map +1 -1
  664. package/build/src/utils/profile.js +11 -7
  665. package/build/src/utils/profile.js.map +1 -1
  666. package/build/src/utils/progress.js +11 -5
  667. package/build/src/utils/progress.js.map +1 -1
  668. package/build/src/utils/prompts.js +47 -29
  669. package/build/src/utils/prompts.js.map +1 -1
  670. package/build/src/utils/resolveArgs.js +36 -24
  671. package/build/src/utils/resolveArgs.js.map +1 -1
  672. package/build/src/utils/scheme.js +40 -32
  673. package/build/src/utils/scheme.js.map +1 -1
  674. package/build/src/utils/stream.js +5 -3
  675. package/build/src/utils/stream.js.map +1 -1
  676. package/build/src/utils/strings.js +6 -4
  677. package/build/src/utils/strings.js.map +1 -1
  678. package/build/src/utils/tar.js +18 -14
  679. package/build/src/utils/tar.js.map +1 -1
  680. package/build/src/utils/telemetry/Telemetry.js +29 -27
  681. package/build/src/utils/telemetry/Telemetry.js.map +1 -1
  682. package/build/src/utils/telemetry/clients/FetchClient.js +15 -13
  683. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
  684. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +26 -22
  685. package/build/src/utils/telemetry/clients/FetchDetachedClient.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/events.js +4 -2
  689. package/build/src/utils/telemetry/events.js.map +1 -1
  690. package/build/src/utils/telemetry/index.js +25 -29
  691. package/build/src/utils/telemetry/index.js.map +1 -1
  692. package/build/src/utils/telemetry/types.js.map +1 -1
  693. package/build/src/utils/telemetry/utils/constants.js +8 -4
  694. package/build/src/utils/telemetry/utils/constants.js.map +1 -1
  695. package/build/src/utils/telemetry/utils/context.js +18 -14
  696. package/build/src/utils/telemetry/utils/context.js.map +1 -1
  697. package/build/src/utils/template.js +6 -4
  698. package/build/src/utils/template.js.map +1 -1
  699. package/build/src/utils/terminal.js +4 -2
  700. package/build/src/utils/terminal.js.map +1 -1
  701. package/build/src/utils/tsconfig/evaluateTsConfig.js +21 -17
  702. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  703. package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -14
  704. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  705. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +7 -5
  706. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  707. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +14 -12
  708. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  709. package/build/src/utils/url.js +23 -13
  710. package/build/src/utils/url.js.map +1 -1
  711. package/build/src/utils/validateApplicationId.js +108 -86
  712. package/build/src/utils/validateApplicationId.js.map +1 -1
  713. package/build/src/utils/variadic.js +22 -16
  714. package/build/src/utils/variadic.js.map +1 -1
  715. package/build/src/whoami/index.js +11 -7
  716. package/build/src/whoami/index.js.map +1 -1
  717. package/build/src/whoami/whoamiAsync.js +11 -7
  718. package/build/src/whoami/whoamiAsync.js.map +1 -1
  719. package/package.json +15 -15
@@ -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
  };
@@ -475,21 +462,21 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
475
462
  };
476
463
  }
477
464
  async ssrLoadModuleContents(filePath, specificOptions = {}) {
478
- const { baseUrl , routerRoot , isExporting } = this.instanceMetroOptions;
479
- (0, _assert().default)(baseUrl != null && routerRoot != null && isExporting != null, "The server must be started before calling ssrLoadModuleContents.");
465
+ const { baseUrl, routerRoot, isExporting } = this.instanceMetroOptions;
466
+ (0, _assert().default)(baseUrl != null && routerRoot != null && isExporting != null, 'The server must be started before calling ssrLoadModuleContents.');
480
467
  const opts = {
481
468
  // TODO: Possibly issues with using an absolute path here...
482
469
  mainModuleName: (0, _metroOptions.convertPathToModuleSpecifier)(filePath),
483
470
  lazy: false,
484
471
  asyncRoutes: false,
485
472
  inlineSourceMap: false,
486
- engine: "hermes",
473
+ engine: 'hermes',
487
474
  minify: false,
488
475
  bytecode: false,
489
476
  // Bundle in Node.js mode for SSR unless RSC is enabled.
490
- environment: this.isReactServerComponentsEnabled ? "react-server" : "node",
491
- platform: "web",
492
- mode: "development",
477
+ environment: this.isReactServerComponentsEnabled ? 'react-server' : 'node',
478
+ platform: 'web',
479
+ mode: 'development',
493
480
  //
494
481
  ...this.instanceMetroOptions,
495
482
  // Mostly disable compiler in SSR bundles.
@@ -500,16 +487,16 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
500
487
  ...specificOptions
501
488
  };
502
489
  // https://github.com/facebook/metro/blob/2405f2f6c37a1b641cc379b9c733b1eff0c1c2a1/packages/metro/src/lib/parseOptionsFromUrl.js#L55-L87
503
- const { filename , bundle , map , ...rest } = await this.metroLoadModuleContents(filePath, opts);
490
+ const { filename, bundle, map, ...rest } = await this.metroLoadModuleContents(filePath, opts);
504
491
  const scriptContents = wrapBundle(bundle);
505
492
  if (map) {
506
- debug("Registering SSR source map for:", filename);
493
+ debug('Registering SSR source map for:', filename);
507
494
  _getStaticRenderFunctions.cachedSourceMaps.set(filename, {
508
495
  url: this.projectRoot,
509
496
  map
510
497
  });
511
498
  } else {
512
- debug("No SSR source map found for:", filename);
499
+ debug('No SSR source map found for:', filename);
513
500
  }
514
501
  return {
515
502
  ...rest,
@@ -527,20 +514,20 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
527
514
  async singlePageReactServerComponentExportAsync(options, files, extraOptions = {}) {
528
515
  const getReactServerReferences = (artifacts)=>{
529
516
  // Get the React server action boundaries from the client bundle.
530
- return unique(artifacts.filter((a)=>a.type === "js").map((artifact)=>{
531
- var ref;
532
- return (ref = artifact.metadata.reactServerReferences) == null ? void 0 : ref.map((ref)=>(0, _createServerComponentsMiddleware.fileURLToFilePath)(ref));
517
+ return unique(artifacts.filter((a)=>a.type === 'js').map((artifact)=>{
518
+ var _artifact_metadata_reactServerReferences;
519
+ return (_artifact_metadata_reactServerReferences = artifact.metadata.reactServerReferences) == null ? void 0 : _artifact_metadata_reactServerReferences.map((ref)=>(0, _createServerComponentsMiddleware.fileURLToFilePath)(ref));
533
520
  })// TODO: Segment by module for splitting.
534
521
  .flat().filter(Boolean));
535
522
  };
536
523
  // NOTE(EvanBacon): This will not support any code elimination since it's a static pass.
537
- let { reactClientReferences: clientBoundaries , reactServerReferences: serverActionReferencesInServer , cssModules , } = await this.rscRenderer.getExpoRouterClientReferencesAsync({
524
+ let { reactClientReferences: clientBoundaries, reactServerReferences: serverActionReferencesInServer, cssModules } = await this.rscRenderer.getExpoRouterClientReferencesAsync({
538
525
  platform: options.platform,
539
526
  domRoot: options.domRoot
540
527
  }, files);
541
528
  // TODO: The output keys should be in production format or use a lookup manifest.
542
529
  const processClientBoundaries = async (reactServerReferences)=>{
543
- debug("Evaluated client boundaries:", clientBoundaries);
530
+ debug('Evaluated client boundaries:', clientBoundaries);
544
531
  // Run metro bundler and create the JS bundles/source maps.
545
532
  const bundle = await this.legacySinglePageExportBundleAsync({
546
533
  ...options,
@@ -550,15 +537,15 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
550
537
  const newReactServerReferences = getReactServerReferences(bundle.artifacts);
551
538
  if (!newReactServerReferences) {
552
539
  // Possible issue with babel plugin / metro-config.
553
- throw new Error("Static server action references were not returned from the Metro client bundle");
540
+ throw new Error('Static server action references were not returned from the Metro client bundle');
554
541
  }
555
- debug("React server action boundaries from client:", newReactServerReferences);
542
+ debug('React server action boundaries from client:', newReactServerReferences);
556
543
  const allKnownReactServerReferences = unique([
557
544
  ...reactServerReferences,
558
- ...newReactServerReferences,
545
+ ...newReactServerReferences
559
546
  ]);
560
547
  // 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.
561
- const { clientBoundaries: nestedClientBoundaries } = await this.rscRenderer.exportServerActionsAsync({
548
+ const { clientBoundaries: nestedClientBoundaries } = await this.rscRenderer.exportServerActionsAsync({
562
549
  platform: options.platform,
563
550
  domRoot: options.domRoot,
564
551
  entryPoints: allKnownReactServerReferences
@@ -568,7 +555,7 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
568
555
  if (!hasUniqueClientBoundaries) {
569
556
  return bundle;
570
557
  }
571
- debug("Re-bundling client with nested client boundaries:", nestedClientBoundaries);
558
+ debug('Re-bundling client with nested client boundaries:', nestedClientBoundaries);
572
559
  clientBoundaries = unique(clientBoundaries.concat(nestedClientBoundaries));
573
560
  // Re-bundle the client with the new client boundaries that only exist in server actions that were imported from the client.
574
561
  // Run metro bundler and create the JS bundles/source maps.
@@ -582,25 +569,25 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
582
569
  const clientBoundariesAsOpaqueIds = clientBoundaries.map((boundary)=>// NOTE(cedric): relative module specifiers / IDs should always be POSIX formatted
583
570
  (0, _filePath.toPosixPath)(_path().default.relative(serverRoot, boundary)));
584
571
  const moduleIdToSplitBundle = bundle.artifacts.map((artifact)=>{
585
- var ref;
586
- return (artifact == null ? void 0 : (ref = artifact.metadata) == null ? void 0 : ref.paths) && Object.values(artifact.metadata.paths);
572
+ var _artifact_metadata;
573
+ return (artifact == null ? void 0 : (_artifact_metadata = artifact.metadata) == null ? void 0 : _artifact_metadata.paths) && Object.values(artifact.metadata.paths);
587
574
  }).filter(Boolean).flat().reduce((acc, paths)=>({
588
575
  ...acc,
589
576
  ...paths
590
577
  }), {});
591
- debug("SSR Manifest:", moduleIdToSplitBundle, clientBoundariesAsOpaqueIds);
578
+ debug('SSR Manifest:', moduleIdToSplitBundle, clientBoundariesAsOpaqueIds);
592
579
  const ssrManifest = new Map();
593
580
  if (Object.keys(moduleIdToSplitBundle).length) {
594
581
  clientBoundariesAsOpaqueIds.forEach((boundary)=>{
595
582
  if (boundary in moduleIdToSplitBundle) {
596
583
  ssrManifest.set(boundary, moduleIdToSplitBundle[boundary]);
597
584
  } else {
598
- throw new Error(`Could not find boundary "${boundary}" in the SSR manifest. Available: ${Object.keys(moduleIdToSplitBundle).join(", ")}`);
585
+ throw new Error(`Could not find boundary "${boundary}" in the SSR manifest. Available: ${Object.keys(moduleIdToSplitBundle).join(', ')}`);
599
586
  }
600
587
  });
601
588
  } else {
602
589
  // Native apps with bundle splitting disabled.
603
- debug("No split bundles");
590
+ debug('No split bundles');
604
591
  clientBoundariesAsOpaqueIds.forEach((boundary)=>{
605
592
  // @ts-expect-error
606
593
  ssrManifest.set(boundary, null);
@@ -613,14 +600,14 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
613
600
  }, files);
614
601
  // Save the SSR manifest so we can perform more replacements in the server renderer and with server actions.
615
602
  files.set(`_expo/rsc/${options.platform}/ssr-manifest.js`, {
616
- targetDomain: "server",
617
- contents: "module.exports = " + JSON.stringify(// TODO: Add a less leaky version of this across the framework with just [key, value] (module ID, chunk).
603
+ targetDomain: 'server',
604
+ contents: 'module.exports = ' + JSON.stringify(// TODO: Add a less leaky version of this across the framework with just [key, value] (module ID, chunk).
618
605
  Object.fromEntries(Array.from(ssrManifest.entries()).map(([key, value])=>[
619
606
  _path().default.join(serverRoot, key),
620
607
  [
621
608
  key,
622
609
  value
623
- ],
610
+ ]
624
611
  ])))
625
612
  });
626
613
  return {
@@ -629,21 +616,21 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
629
616
  };
630
617
  }
631
618
  async legacySinglePageExportBundleAsync(options, extraOptions = {}) {
632
- const { baseUrl , routerRoot , isExporting } = this.instanceMetroOptions;
633
- (0, _assert().default)(options.mainModuleName != null, "mainModuleName must be provided in options.");
634
- (0, _assert().default)(baseUrl != null && routerRoot != null && isExporting != null, "The server must be started before calling legacySinglePageExportBundleAsync.");
619
+ const { baseUrl, routerRoot, isExporting } = this.instanceMetroOptions;
620
+ (0, _assert().default)(options.mainModuleName != null, 'mainModuleName must be provided in options.');
621
+ (0, _assert().default)(baseUrl != null && routerRoot != null && isExporting != null, 'The server must be started before calling legacySinglePageExportBundleAsync.');
635
622
  const opts = {
636
623
  ...this.instanceMetroOptions,
637
624
  baseUrl,
638
625
  routerRoot,
639
626
  isExporting,
640
627
  ...options,
641
- environment: "client",
642
- serializerOutput: "static"
628
+ environment: 'client',
629
+ serializerOutput: 'static'
643
630
  };
644
631
  // https://github.com/facebook/metro/blob/2405f2f6c37a1b641cc379b9c733b1eff0c1c2a1/packages/metro/src/lib/parseOptionsFromUrl.js#L55-L87
645
- if (!opts.mainModuleName.startsWith("/") && !_path().default.isAbsolute(opts.mainModuleName)) {
646
- opts.mainModuleName = "./" + opts.mainModuleName;
632
+ if (!opts.mainModuleName.startsWith('/') && !_path().default.isAbsolute(opts.mainModuleName)) {
633
+ opts.mainModuleName = './' + opts.mainModuleName;
647
634
  }
648
635
  const output = await this.metroLoadModuleContents(opts.mainModuleName, opts, extraOptions);
649
636
  return {
@@ -653,12 +640,12 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
653
640
  }
654
641
  async watchEnvironmentVariables() {
655
642
  if (!this.instance) {
656
- throw new Error("Cannot observe environment variable changes without a running Metro instance.");
643
+ throw new Error('Cannot observe environment variable changes without a running Metro instance.');
657
644
  }
658
645
  if (!this.metro) {
659
646
  // This can happen when the run command is used and the server is already running in another
660
647
  // process.
661
- debug("Skipping Environment Variable observation because Metro is not running (headless).");
648
+ debug('Skipping Environment Variable observation because Metro is not running (headless).');
662
649
  return;
663
650
  }
664
651
  const envFiles = _env().getFiles(process.env.NODE_ENV).map((fileName)=>_path().default.join(this.projectRoot, fileName));
@@ -666,44 +653,43 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
666
653
  metro: this.metro,
667
654
  server: this.instance.server
668
655
  }, envFiles, ()=>{
669
- debug("Reloading environment variables...");
656
+ debug('Reloading environment variables...');
670
657
  // Force reload the environment variables.
671
658
  _env().load(this.projectRoot, {
672
659
  force: true
673
660
  });
674
661
  });
675
662
  }
676
- rscRenderer = null;
677
663
  async startImplementationAsync(options) {
678
- var ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9, ref10;
664
+ var _exp_experiments, _exp_experiments1, _exp_experiments2, _exp_experiments3, _exp_experiments4, _exp_web, _exp_web1, _exp_experiments5, _exp_web2, _exp_extra_router, _exp_extra;
679
665
  options.port = await this.resolvePortAsync(options);
680
666
  this.urlCreator = this.getUrlCreator(options);
681
667
  const config = (0, _config().getConfig)(this.projectRoot, {
682
668
  skipSDKVersionRequirement: true
683
669
  });
684
- const { exp } = config;
670
+ const { exp } = config;
685
671
  // NOTE: This will change in the future when it's less experimental, we enable React 19, and turn on more RSC flags by default.
686
- const isReactServerComponentsEnabled = !!((ref = exp.experiments) == null ? void 0 : ref.reactServerComponentRoutes) || !!((ref1 = exp.experiments) == null ? void 0 : ref1.reactServerFunctions);
687
- const isReactServerActionsOnlyEnabled = !((ref2 = exp.experiments) == null ? void 0 : ref2.reactServerComponentRoutes) && !!((ref3 = exp.experiments) == null ? void 0 : ref3.reactServerFunctions);
672
+ const isReactServerComponentsEnabled = !!((_exp_experiments = exp.experiments) == null ? void 0 : _exp_experiments.reactServerComponentRoutes) || !!((_exp_experiments1 = exp.experiments) == null ? void 0 : _exp_experiments1.reactServerFunctions);
673
+ const isReactServerActionsOnlyEnabled = !((_exp_experiments2 = exp.experiments) == null ? void 0 : _exp_experiments2.reactServerComponentRoutes) && !!((_exp_experiments3 = exp.experiments) == null ? void 0 : _exp_experiments3.reactServerFunctions);
688
674
  this.isReactServerComponentsEnabled = isReactServerComponentsEnabled;
689
- this.isReactServerRoutesEnabled = !!((ref4 = exp.experiments) == null ? void 0 : ref4.reactServerComponentRoutes);
675
+ this.isReactServerRoutesEnabled = !!((_exp_experiments4 = exp.experiments) == null ? void 0 : _exp_experiments4.reactServerComponentRoutes);
690
676
  const useServerRendering = [
691
- "static",
692
- "server"
693
- ].includes(((ref5 = exp.web) == null ? void 0 : ref5.output) ?? "");
694
- const hasApiRoutes = isReactServerComponentsEnabled || ((ref6 = exp.web) == null ? void 0 : ref6.output) === "server";
677
+ 'static',
678
+ 'server'
679
+ ].includes(((_exp_web = exp.web) == null ? void 0 : _exp_web.output) ?? '');
680
+ const hasApiRoutes = isReactServerComponentsEnabled || ((_exp_web1 = exp.web) == null ? void 0 : _exp_web1.output) === 'server';
695
681
  const baseUrl = (0, _metroOptions.getBaseUrlFromExpoConfig)(exp);
696
- const asyncRoutes = (0, _metroOptions.getAsyncRoutesFromExpoConfig)(exp, options.mode ?? "development", "web");
682
+ const asyncRoutes = (0, _metroOptions.getAsyncRoutesFromExpoConfig)(exp, options.mode ?? 'development', 'web');
697
683
  const routerRoot = (0, _router.getRouterDirectoryModuleIdWithManifest)(this.projectRoot, exp);
698
- const reactCompiler = !!((ref7 = exp.experiments) == null ? void 0 : ref7.reactCompiler);
684
+ const reactCompiler = !!((_exp_experiments5 = exp.experiments) == null ? void 0 : _exp_experiments5.reactCompiler);
699
685
  const appDir = _path().default.join(this.projectRoot, routerRoot);
700
- const mode = options.mode ?? "development";
701
- if (isReactServerComponentsEnabled && ((ref8 = exp.web) == null ? void 0 : ref8.output) === "static") {
686
+ const mode = options.mode ?? 'development';
687
+ if (isReactServerComponentsEnabled && ((_exp_web2 = exp.web) == null ? void 0 : _exp_web2.output) === 'static') {
702
688
  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.`);
703
689
  }
704
690
  // Error early about the window.location polyfill when React Server Components are enabled.
705
- if (isReactServerComponentsEnabled && (exp == null ? void 0 : (ref9 = exp.extra) == null ? void 0 : (ref10 = ref9.router) == null ? void 0 : ref10.origin) === false) {
706
- const configPath = config.dynamicConfigPath ?? config.staticConfigPath ?? "/app.json";
691
+ 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) {
692
+ const configPath = config.dynamicConfigPath ?? config.staticConfigPath ?? '/app.json';
707
693
  const configFileName = _path().default.basename(configPath);
708
694
  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.`);
709
695
  }
@@ -724,14 +710,14 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
724
710
  };
725
711
  // Required for symbolication:
726
712
  process.env.EXPO_DEV_SERVER_ORIGIN = `http://localhost:${options.port}`;
727
- const { metro , hmrServer , server , middleware , messageSocket } = await (0, _instantiateMetro.instantiateMetroAsync)(this, parsedOptions, {
713
+ const { metro, hmrServer, server, middleware, messageSocket } = await (0, _instantiateMetro.instantiateMetroAsync)(this, parsedOptions, {
728
714
  isExporting: !!options.isExporting,
729
715
  exp
730
716
  });
731
717
  if (!options.isExporting) {
732
718
  const manifestMiddleware = await this.getManifestMiddlewareAsync(options);
733
719
  // Important that we noop source maps for context modules as soon as possible.
734
- (0, _mutations.prependMiddleware)(middleware, new _contextModuleSourceMapsMiddleware.ContextModuleSourceMapsMiddleware().getHandler());
720
+ (0, _mutations.prependMiddleware)(middleware, new _ContextModuleSourceMapsMiddleware.ContextModuleSourceMapsMiddleware().getHandler());
735
721
  // We need the manifest handler to be the first middleware to run so our
736
722
  // routes take precedence over static files. For example, the manifest is
737
723
  // served from '/' and if the user has an index.html file in their project
@@ -739,41 +725,41 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
739
725
  // and serve index.html instead of the manifest.
740
726
  // https://github.com/expo/expo/issues/13114
741
727
  (0, _mutations.prependMiddleware)(middleware, manifestMiddleware.getHandler());
742
- middleware.use(new _interstitialPageMiddleware.InterstitialPageMiddleware(this.projectRoot, {
728
+ middleware.use(new _InterstitialPageMiddleware.InterstitialPageMiddleware(this.projectRoot, {
743
729
  // TODO: Prevent this from becoming stale.
744
730
  scheme: options.location.scheme ?? null
745
731
  }).getHandler());
746
- middleware.use(new _reactDevToolsPageMiddleware.ReactDevToolsPageMiddleware(this.projectRoot).getHandler());
747
- middleware.use(new _devToolsPluginMiddleware.DevToolsPluginMiddleware(this.projectRoot, this.devToolsPluginManager).getHandler());
748
- const deepLinkMiddleware = new _runtimeRedirectMiddleware.RuntimeRedirectMiddleware(this.projectRoot, {
749
- getLocation: ({ runtime })=>{
750
- if (runtime === "custom") {
751
- var ref;
752
- return (ref = this.urlCreator) == null ? void 0 : ref.constructDevClientUrl();
732
+ middleware.use(new _ReactDevToolsPageMiddleware.ReactDevToolsPageMiddleware(this.projectRoot).getHandler());
733
+ middleware.use(new _DevToolsPluginMiddleware.DevToolsPluginMiddleware(this.projectRoot, this.devToolsPluginManager).getHandler());
734
+ const deepLinkMiddleware = new _RuntimeRedirectMiddleware.RuntimeRedirectMiddleware(this.projectRoot, {
735
+ getLocation: ({ runtime })=>{
736
+ if (runtime === 'custom') {
737
+ var _this_urlCreator;
738
+ return (_this_urlCreator = this.urlCreator) == null ? void 0 : _this_urlCreator.constructDevClientUrl();
753
739
  } else {
754
- var ref1;
755
- return (ref1 = this.urlCreator) == null ? void 0 : ref1.constructUrl({
756
- scheme: "exp"
740
+ var _this_urlCreator1;
741
+ return (_this_urlCreator1 = this.urlCreator) == null ? void 0 : _this_urlCreator1.constructUrl({
742
+ scheme: 'exp'
757
743
  });
758
744
  }
759
745
  }
760
746
  });
761
747
  middleware.use(deepLinkMiddleware.getHandler());
762
748
  const serverRoot = (0, _paths().getMetroServerRoot)(this.projectRoot);
763
- const domComponentRenderer = (0, _domComponentsMiddleware.createDomComponentsMiddleware)({
749
+ const domComponentRenderer = (0, _DomComponentsMiddleware.createDomComponentsMiddleware)({
764
750
  metroRoot: serverRoot,
765
751
  projectRoot: this.projectRoot
766
752
  }, instanceMetroOptions);
767
753
  // Add support for DOM components.
768
754
  // TODO: Maybe put behind a flag for now?
769
755
  middleware.use(domComponentRenderer);
770
- middleware.use(new _createFileMiddleware.CreateFileMiddleware(this.projectRoot).getHandler());
756
+ middleware.use(new _CreateFileMiddleware.CreateFileMiddleware(this.projectRoot).getHandler());
771
757
  // Append support for redirecting unhandled requests to the index.html page on web.
772
758
  if (this.isTargetingWeb()) {
773
759
  // This MUST be after the manifest middleware so it doesn't have a chance to serve the template `public/index.html`.
774
- middleware.use(new _serveStaticMiddleware.ServeStaticMiddleware(this.projectRoot).getHandler());
760
+ middleware.use(new _ServeStaticMiddleware.ServeStaticMiddleware(this.projectRoot).getHandler());
775
761
  // This should come after the static middleware so it doesn't serve the favicon from `public/favicon.ico`.
776
- middleware.use(new _faviconMiddleware.FaviconMiddleware(this.projectRoot).getHandler());
762
+ middleware.use(new _FaviconMiddleware.FaviconMiddleware(this.projectRoot).getHandler());
777
763
  }
778
764
  if (useServerRendering || isReactServerComponentsEnabled) {
779
765
  (0, _waitForMetroToObserveTypeScriptFile.observeAnyFileChanges)({
@@ -791,8 +777,8 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
791
777
  for (const event of events){
792
778
  var // If the user did not delete a file that matches the Expo Router API Route convention, then we should warn that
793
779
  // API Routes are not enabled in the project.
794
- ref;
795
- 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.
780
+ _event_metadata;
781
+ 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.
796
782
  event.filePath.startsWith(appDir) && (0, _router.isApiRouteConvention)(event.filePath)) {
797
783
  (0, _router.warnInvalidWebOutput)();
798
784
  }
@@ -805,7 +791,7 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
805
791
  this.bindRSCDevModuleInjectionHandler();
806
792
  const rscMiddleware = (0, _createServerComponentsMiddleware.createServerComponentsMiddleware)(this.projectRoot, {
807
793
  instanceMetroOptions: this.instanceMetroOptions,
808
- rscPath: "/_flight",
794
+ rscPath: '/_flight',
809
795
  ssrLoadModule: this.ssrLoadModule.bind(this),
810
796
  ssrLoadModuleArtifacts: this.metroImportAsArtifactsAsync.bind(this),
811
797
  useClientRouter: isReactServerActionsOnlyEnabled,
@@ -819,16 +805,16 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
819
805
  if (this.isTargetingWeb()) {
820
806
  if (!useServerRendering) {
821
807
  // This MUST run last since it's the fallback.
822
- middleware.use(new _historyFallbackMiddleware.HistoryFallbackMiddleware(manifestMiddleware.getHandler().internal).getHandler());
808
+ middleware.use(new _HistoryFallbackMiddleware.HistoryFallbackMiddleware(manifestMiddleware.getHandler().internal).getHandler());
823
809
  } else {
824
- var ref11;
810
+ var _config_exp_extra;
825
811
  middleware.use((0, _createServerRouteMiddleware.createRouteHandlerMiddleware)(this.projectRoot, {
826
812
  appDir,
827
813
  routerRoot,
828
814
  config,
829
- ...(ref11 = config.exp.extra) == null ? void 0 : ref11.router,
815
+ ...(_config_exp_extra = config.exp.extra) == null ? void 0 : _config_exp_extra.router,
830
816
  bundleApiRoute: (functionFilePath)=>this.ssrImportApiRoute(functionFilePath, {
831
- platform: "web"
817
+ platform: 'web'
832
818
  }),
833
819
  getStaticPageAsync: async (pathname)=>{
834
820
  // TODO: Add server rendering when RSC is enabled.
@@ -850,15 +836,15 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
850
836
  // If React 19 is enabled, then add RSC middleware to the dev server.
851
837
  if (isReactServerComponentsEnabled) {
852
838
  this.bindRSCDevModuleInjectionHandler();
853
- const rscMiddleware1 = (0, _createServerComponentsMiddleware.createServerComponentsMiddleware)(this.projectRoot, {
839
+ const rscMiddleware = (0, _createServerComponentsMiddleware.createServerComponentsMiddleware)(this.projectRoot, {
854
840
  instanceMetroOptions: this.instanceMetroOptions,
855
- rscPath: "/_flight",
841
+ rscPath: '/_flight',
856
842
  ssrLoadModule: this.ssrLoadModule.bind(this),
857
843
  ssrLoadModuleArtifacts: this.metroImportAsArtifactsAsync.bind(this),
858
844
  useClientRouter: isReactServerActionsOnlyEnabled,
859
845
  createModuleId: metro._createModuleId.bind(metro)
860
846
  });
861
- this.rscRenderer = rscMiddleware1;
847
+ this.rscRenderer = rscMiddleware;
862
848
  }
863
849
  }
864
850
  // Extend the close method to ensure that we clean up the local info.
@@ -881,66 +867,65 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
881
867
  // The port is the main thing we want to send back.
882
868
  port: options.port,
883
869
  // localhost isn't always correct.
884
- host: "localhost",
870
+ host: 'localhost',
885
871
  // http is the only supported protocol on native.
886
872
  url: `http://localhost:${options.port}`,
887
- protocol: "http"
873
+ protocol: 'http'
888
874
  },
889
875
  middleware,
890
876
  messageSocket
891
877
  };
892
878
  }
893
- onReloadRscEvent = null;
894
879
  async registerSsrHmrAsync(url, onReload) {
895
880
  if (!this.hmrServer || this.ssrHmrClients.has(url)) {
896
881
  return;
897
882
  }
898
- debug("[SSR] Register HMR:", url);
883
+ debug('[SSR] Register HMR:', url);
899
884
  const sendFn = (message)=>{
900
885
  const data = JSON.parse(String(message));
901
886
  switch(data.type){
902
- case "bundle-registered":
903
- case "update-done":
904
- case "update-start":
887
+ case 'bundle-registered':
888
+ case 'update-done':
889
+ case 'update-start':
905
890
  break;
906
- case "update":
891
+ case 'update':
907
892
  {
908
893
  const update = data.body;
909
- const { isInitialUpdate , added , modified , deleted , } = update;
894
+ const { isInitialUpdate, added, modified, deleted } = update;
910
895
  const hasUpdate = added.length || modified.length || deleted.length;
911
896
  // NOTE: We throw away the updates and instead simply send a trigger to the client to re-fetch the server route.
912
897
  if (!isInitialUpdate && hasUpdate) {
913
898
  // Clear all SSR modules before sending the reload event. This ensures that the next event will rebuild the in-memory state from scratch.
914
899
  // @ts-expect-error
915
- if (typeof globalThis.__c === "function") globalThis.__c();
900
+ if (typeof globalThis.__c === 'function') globalThis.__c();
916
901
  const allModuleIds = new Set([
917
902
  ...added,
918
903
  ...modified
919
904
  ].map((m)=>m.module[0]).concat(deleted));
920
905
  const platforms = unique(Array.from(allModuleIds).map((moduleId)=>{
921
- var ref;
922
- if (typeof moduleId !== "string") {
906
+ var _moduleId_match;
907
+ if (typeof moduleId !== 'string') {
923
908
  return null;
924
909
  }
925
910
  // Extract platforms from the module IDs.
926
- return ((ref = moduleId.match(/[?&]platform=([\w]+)/)) == null ? void 0 : ref[1]) ?? null;
911
+ return ((_moduleId_match = moduleId.match(/[?&]platform=([\w]+)/)) == null ? void 0 : _moduleId_match[1]) ?? null;
927
912
  }).filter(Boolean));
928
913
  onReload(platforms);
929
914
  }
930
915
  }
931
916
  break;
932
- case "error":
933
- var ref;
917
+ case 'error':
918
+ var _data_body;
934
919
  // GraphNotFound can mean that we have an issue in metroOptions where the URL doesn't match the object props.
935
- _log.Log.error("[SSR] HMR Error: " + JSON.stringify(data, null, 2));
936
- if (((ref = data.body) == null ? void 0 : ref.type) === "GraphNotFoundError") {
937
- var ref1;
938
- _log.Log.error("Available SSR HMR keys:", // @ts-expect-error
939
- ((ref1 = this.metro) == null ? void 0 : ref1._bundler._revisionsByGraphId).keys());
920
+ _log.Log.error('[SSR] HMR Error: ' + JSON.stringify(data, null, 2));
921
+ if (((_data_body = data.body) == null ? void 0 : _data_body.type) === 'GraphNotFoundError') {
922
+ var // @ts-expect-error
923
+ _this_metro;
924
+ _log.Log.error('Available SSR HMR keys:', ((_this_metro = this.metro) == null ? void 0 : _this_metro._bundler._revisionsByGraphId).keys());
940
925
  }
941
926
  break;
942
927
  default:
943
- debug("Unknown HMR message:", data);
928
+ debug('Unknown HMR message:', data);
944
929
  break;
945
930
  }
946
931
  };
@@ -952,14 +937,14 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
952
937
  }
953
938
  async waitForTypeScriptAsync() {
954
939
  if (!this.instance) {
955
- throw new Error("Cannot wait for TypeScript without a running server.");
940
+ throw new Error('Cannot wait for TypeScript without a running server.');
956
941
  }
957
942
  return new Promise((resolve)=>{
958
943
  if (!this.metro) {
959
944
  // This can happen when the run command is used and the server is already running in another
960
945
  // process. In this case we can't wait for the TypeScript check to complete because we don't
961
946
  // have access to the Metro server.
962
- debug("Skipping TypeScript check because Metro is not running (headless).");
947
+ debug('Skipping TypeScript check because Metro is not running (headless).');
963
948
  return resolve(false);
964
949
  }
965
950
  const off = (0, _metroWatchTypeScriptFiles.metroWatchTypeScriptFiles)({
@@ -969,13 +954,13 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
969
954
  tsconfig: true,
970
955
  throttle: true,
971
956
  eventTypes: [
972
- "change",
973
- "add"
957
+ 'change',
958
+ 'add'
974
959
  ],
975
960
  callback: async ()=>{
976
961
  // Run once, this prevents the TypeScript project prerequisite from running on every file change.
977
962
  off();
978
- const { TypeScriptProjectPrerequisite } = await Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../../doctor/typescript/TypeScriptProjectPrerequisite.js")));
963
+ const { TypeScriptProjectPrerequisite } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("../../doctor/typescript/TypeScriptProjectPrerequisite.js")));
979
964
  try {
980
965
  const req = new TypeScriptProjectPrerequisite(this.projectRoot);
981
966
  await req.bootstrapAsync();
@@ -993,41 +978,39 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
993
978
  });
994
979
  }
995
980
  async startTypeScriptServices() {
996
- var ref;
981
+ var _this_instance;
997
982
  return (0, _startTypescriptTypeGeneration.startTypescriptTypeGenerationAsync)({
998
- server: (ref = this.instance) == null ? void 0 : ref.server,
983
+ server: (_this_instance = this.instance) == null ? void 0 : _this_instance.server,
999
984
  metro: this.metro,
1000
985
  projectRoot: this.projectRoot
1001
986
  });
1002
987
  }
1003
988
  getConfigModuleIds() {
1004
989
  return [
1005
- "./metro.config.js",
1006
- "./metro.config.json",
1007
- "./rn-cli.config.js"
990
+ './metro.config.js',
991
+ './metro.config.json',
992
+ './rn-cli.config.js'
1008
993
  ];
1009
994
  }
1010
- // API Routes
1011
- pendingRouteOperations = new Map();
1012
995
  // Bundle the API Route with Metro and return the string contents to be evaluated in the server.
1013
- async bundleApiRoute(filePath, { platform }) {
996
+ async bundleApiRoute(filePath, { platform }) {
1014
997
  if (this.pendingRouteOperations.has(filePath)) {
1015
998
  return this.pendingRouteOperations.get(filePath);
1016
999
  }
1017
1000
  const bundleAsync = async ()=>{
1018
1001
  try {
1019
- debug("Bundle API route:", this.instanceMetroOptions.routerRoot, filePath);
1002
+ debug('Bundle API route:', this.instanceMetroOptions.routerRoot, filePath);
1020
1003
  return await this.ssrLoadModuleContents(filePath, {
1021
1004
  isExporting: this.instanceMetroOptions.isExporting,
1022
1005
  platform
1023
1006
  });
1024
1007
  } catch (error) {
1025
- var ref;
1026
- const appDir = ((ref = this.instanceMetroOptions) == null ? void 0 : ref.routerRoot) ? _path().default.join(this.projectRoot, this.instanceMetroOptions.routerRoot) : undefined;
1008
+ var _this_instanceMetroOptions;
1009
+ const appDir = ((_this_instanceMetroOptions = this.instanceMetroOptions) == null ? void 0 : _this_instanceMetroOptions.routerRoot) ? _path().default.join(this.projectRoot, this.instanceMetroOptions.routerRoot) : undefined;
1027
1010
  const relativePath = appDir ? _path().default.relative(appDir, filePath) : filePath;
1028
1011
  // Expected errors: invalid syntax, missing resolutions.
1029
1012
  // Wrap with command error for better error messages.
1030
- const err = new _errors.CommandError("API_ROUTE", (0, _chalk().default)`Failed to bundle API Route: {bold ${relativePath}}\n\n` + error.message);
1013
+ const err = new _errors.CommandError('API_ROUTE', (0, _chalk().default)`Failed to bundle API Route: {bold ${relativePath}}\n\n` + error.message);
1031
1014
  for(const key in error){
1032
1015
  // @ts-expect-error
1033
1016
  err[key] = error[key];
@@ -1041,7 +1024,7 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
1041
1024
  this.pendingRouteOperations.set(filePath, route);
1042
1025
  return route;
1043
1026
  }
1044
- async ssrImportApiRoute(filePath, { platform }) {
1027
+ async ssrImportApiRoute(filePath, { platform }) {
1045
1028
  // TODO: Cache the evaluated function.
1046
1029
  try {
1047
1030
  const apiRoute = await this.bundleApiRoute(filePath, {
@@ -1063,11 +1046,11 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
1063
1046
  return new Response(htmlServerError, {
1064
1047
  status: 500,
1065
1048
  headers: {
1066
- "Content-Type": "text/html"
1049
+ 'Content-Type': 'text/html'
1067
1050
  }
1068
1051
  });
1069
1052
  } catch (internalError) {
1070
- debug("Failed to generate Metro server error UI for API Route error:", internalError);
1053
+ debug('Failed to generate Metro server error UI for API Route error:', internalError);
1071
1054
  throw error;
1072
1055
  }
1073
1056
  } else {
@@ -1086,9 +1069,9 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
1086
1069
  }
1087
1070
  // NOTE: This can only target a single platform at a time (web).
1088
1071
  // used for sending RSC CSS to the root client in development.
1089
- sendClientModule({ code , id }) {
1090
- this.broadcastMessage("sendDevCommand", {
1091
- name: "module-import",
1072
+ sendClientModule({ code, id }) {
1073
+ this.broadcastMessage('sendDevCommand', {
1074
+ name: 'module-import',
1092
1075
  data: {
1093
1076
  code,
1094
1077
  id
@@ -1101,15 +1084,14 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
1101
1084
  // Send reload command to client from Fast Refresh code.
1102
1085
  if (!platforms.length) {
1103
1086
  // TODO: When is this called?
1104
- this.broadcastMessage("sendDevCommand", {
1105
- name: "rsc-reload"
1087
+ this.broadcastMessage('sendDevCommand', {
1088
+ name: 'rsc-reload'
1106
1089
  });
1107
1090
  } else {
1108
1091
  for (const platform of platforms){
1109
- var _obj, ref;
1110
- (ref = (_obj = this).onReloadRscEvent) == null ? void 0 : ref.call(_obj, platform);
1111
- this.broadcastMessage("sendDevCommand", {
1112
- name: "rsc-reload",
1092
+ this.onReloadRscEvent == null ? void 0 : this.onReloadRscEvent.call(this, platform);
1093
+ this.broadcastMessage('sendDevCommand', {
1094
+ name: 'rsc-reload',
1113
1095
  platform
1114
1096
  });
1115
1097
  }
@@ -1119,19 +1101,19 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
1119
1101
  }
1120
1102
  // Direct Metro access
1121
1103
  // Emulates the Metro dev server .bundle endpoint without having to go through a server.
1122
- async _bundleDirectAsync(resolvedEntryFilePath, { transformOptions , resolverOptions , graphOptions , serializerOptions }) {
1123
- var ref;
1124
- (0, _assert().default)(this.metro, "Metro server must be running to bundle directly.");
1104
+ async _bundleDirectAsync(resolvedEntryFilePath, { transformOptions, resolverOptions, graphOptions, serializerOptions }) {
1105
+ var _this_metro;
1106
+ (0, _assert().default)(this.metro, 'Metro server must be running to bundle directly.');
1125
1107
  const config = this.metro._config;
1126
1108
  const buildNumber = this.metro.getNewBuildNumber();
1127
- const bundlePerfLogger = config.unstable_perfLoggerFactory == null ? void 0 : config.unstable_perfLoggerFactory("BUNDLING_REQUEST", {
1109
+ const bundlePerfLogger = config.unstable_perfLoggerFactory == null ? void 0 : config.unstable_perfLoggerFactory.call(config, 'BUNDLING_REQUEST', {
1128
1110
  key: buildNumber
1129
1111
  });
1130
1112
  const onProgress = (transformedFileCount, totalFileCount)=>{
1131
- var ref, ref1;
1132
- (ref = this.metro) == null ? void 0 : (ref1 = ref._reporter) == null ? void 0 : ref1.update == null ? void 0 : ref1.update({
1113
+ var _this_metro__reporter_update, _this_metro__reporter, _this_metro;
1114
+ (_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, {
1133
1115
  buildID: getBuildID(buildNumber),
1134
- type: "bundle_transform_progressed",
1116
+ type: 'bundle_transform_progressed',
1135
1117
  transformedFileCount,
1136
1118
  totalFileCount
1137
1119
  });
@@ -1141,13 +1123,13 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
1141
1123
  transformOptions,
1142
1124
  resolverOptions
1143
1125
  });
1144
- bundlePerfLogger == null ? void 0 : bundlePerfLogger.point("resolvingAndTransformingDependencies_start");
1126
+ bundlePerfLogger == null ? void 0 : bundlePerfLogger.point('resolvingAndTransformingDependencies_start');
1145
1127
  bundlePerfLogger == null ? void 0 : bundlePerfLogger.annotate({
1146
1128
  bool: {
1147
1129
  initial_build: revPromise == null
1148
1130
  }
1149
1131
  });
1150
- (ref = this.metro) == null ? void 0 : ref._reporter.update({
1132
+ (_this_metro = this.metro) == null ? void 0 : _this_metro._reporter.update({
1151
1133
  buildID: getBuildID(buildNumber),
1152
1134
  bundleDetails: {
1153
1135
  bundleType: transformOptions.type,
@@ -1159,15 +1141,15 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
1159
1141
  customTransformOptions: transformOptions.customTransformOptions ?? {}
1160
1142
  },
1161
1143
  isPrefetch: false,
1162
- type: "bundle_build_started"
1144
+ type: 'bundle_build_started'
1163
1145
  });
1164
1146
  try {
1165
- var ref1;
1147
+ var _transformOptions_customTransformOptions;
1166
1148
  let delta;
1167
1149
  let revision;
1168
1150
  // TODO: Some bug in Metro/RSC causes this to break when changing imports in server components.
1169
1151
  // We should resolve the bug because it results in ~6x faster bundling to reuse the graph revision.
1170
- if (((ref1 = transformOptions.customTransformOptions) == null ? void 0 : ref1.environment) === "react-server") {
1152
+ if (((_transformOptions_customTransformOptions = transformOptions.customTransformOptions) == null ? void 0 : _transformOptions_customTransformOptions.environment) === 'react-server') {
1171
1153
  const props = await this.metro.getBundler().initializeGraph(// NOTE: Using absolute path instead of relative input path is a breaking change.
1172
1154
  // entryFile,
1173
1155
  resolvedEntryFilePath, transformOptions, resolverOptions, {
@@ -1178,30 +1160,30 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
1178
1160
  delta = props.delta;
1179
1161
  revision = props.revision;
1180
1162
  } else {
1181
- 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.
1163
+ const props = await (revPromise != null ? this.metro.getBundler().updateGraph(await revPromise, false) : this.metro.getBundler().initializeGraph(// NOTE: Using absolute path instead of relative input path is a breaking change.
1182
1164
  // entryFile,
1183
1165
  resolvedEntryFilePath, transformOptions, resolverOptions, {
1184
1166
  onProgress,
1185
1167
  shallow: graphOptions.shallow,
1186
1168
  lazy: graphOptions.lazy
1187
1169
  }));
1188
- delta = props1.delta;
1189
- revision = props1.revision;
1170
+ delta = props.delta;
1171
+ revision = props.revision;
1190
1172
  }
1191
1173
  bundlePerfLogger == null ? void 0 : bundlePerfLogger.annotate({
1192
1174
  int: {
1193
1175
  graph_node_count: revision.graph.dependencies.size
1194
1176
  }
1195
1177
  });
1196
- bundlePerfLogger == null ? void 0 : bundlePerfLogger.point("resolvingAndTransformingDependencies_end");
1197
- bundlePerfLogger == null ? void 0 : bundlePerfLogger.point("serializingBundle_start");
1178
+ bundlePerfLogger == null ? void 0 : bundlePerfLogger.point('resolvingAndTransformingDependencies_end');
1179
+ bundlePerfLogger == null ? void 0 : bundlePerfLogger.point('serializingBundle_start');
1198
1180
  const shouldAddToIgnoreList = this.metro._shouldAddModuleToIgnoreList.bind(this.metro);
1199
1181
  const serializer = this.getMetroSerializer();
1200
1182
  const bundle = await serializer(// NOTE: Using absolute path instead of relative input path is a breaking change.
1201
1183
  // entryFile,
1202
1184
  resolvedEntryFilePath, revision.prepend, revision.graph, {
1203
1185
  asyncRequireModulePath: await this.metro._resolveRelativePath(config.transformer.asyncRequireModulePath, {
1204
- relativeTo: "project",
1186
+ relativeTo: 'project',
1205
1187
  resolverOptions,
1206
1188
  transformOptions
1207
1189
  }),
@@ -1225,45 +1207,45 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
1225
1207
  });
1226
1208
  this.metro._reporter.update({
1227
1209
  buildID: getBuildID(buildNumber),
1228
- type: "bundle_build_done"
1210
+ type: 'bundle_build_done'
1229
1211
  });
1230
- bundlePerfLogger == null ? void 0 : bundlePerfLogger.point("serializingBundle_end");
1212
+ bundlePerfLogger == null ? void 0 : bundlePerfLogger.point('serializingBundle_end');
1231
1213
  let bundleCode = null;
1232
1214
  let bundleMap = null;
1233
1215
  // @ts-expect-error: If the output is multi-bundle...
1234
- if (serializerOptions.output === "static") {
1216
+ if (serializerOptions.output === 'static') {
1235
1217
  try {
1236
- var ref2, ref3;
1237
- const parsed = typeof bundle === "string" ? JSON.parse(bundle) : bundle;
1238
- (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.");
1218
+ var _artifacts_filter_, _artifacts_filter;
1219
+ const parsed = typeof bundle === 'string' ? JSON.parse(bundle) : bundle;
1220
+ (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.');
1239
1221
  const artifacts = parsed.artifacts;
1240
1222
  const assets = parsed.assets;
1241
- const bundleCode1 = artifacts.filter((asset)=>asset.type === "js")[0];
1242
- const bundleMap1 = ((ref2 = artifacts.filter((asset)=>asset.type === "map")) == null ? void 0 : (ref3 = ref2[0]) == null ? void 0 : ref3.source) ?? "";
1223
+ const bundleCode = artifacts.filter((asset)=>asset.type === 'js')[0];
1224
+ const bundleMap = ((_artifacts_filter = artifacts.filter((asset)=>asset.type === 'map')) == null ? void 0 : (_artifacts_filter_ = _artifacts_filter[0]) == null ? void 0 : _artifacts_filter_.source) ?? '';
1243
1225
  return {
1244
1226
  numModifiedFiles: delta.reset ? delta.added.size + revision.prepend.length : delta.added.size + delta.modified.size + delta.deleted.size,
1245
1227
  lastModifiedDate: revision.date,
1246
1228
  nextRevId: revision.id,
1247
- bundle: bundleCode1.source,
1248
- map: bundleMap1,
1229
+ bundle: bundleCode.source,
1230
+ map: bundleMap,
1249
1231
  artifacts,
1250
1232
  assets
1251
1233
  };
1252
1234
  } catch (error) {
1253
- throw new Error("Serializer did not return expected format. The project copy of `expo/metro-config` may be out of date. Error: " + error.message);
1235
+ throw new Error('Serializer did not return expected format. The project copy of `expo/metro-config` may be out of date. Error: ' + error.message);
1254
1236
  }
1255
1237
  }
1256
- if (typeof bundle === "string") {
1238
+ if (typeof bundle === 'string') {
1257
1239
  bundleCode = bundle;
1258
1240
  // Create the source map in a second pass...
1259
- let { prepend , graph } = revision;
1241
+ let { prepend, graph } = revision;
1260
1242
  if (serializerOptions.modulesOnly) {
1261
1243
  prepend = [];
1262
1244
  }
1263
1245
  bundleMap = await sourceMapStringAsync([
1264
1246
  //
1265
1247
  ...prepend,
1266
- ...this.metro._getSortedModules(graph),
1248
+ ...this.metro._getSortedModules(graph)
1267
1249
  ], {
1268
1250
  excludeSource: serializerOptions.excludeSource,
1269
1251
  processModuleFilter: config.serializer.processModuleFilter,
@@ -1280,23 +1262,23 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
1280
1262
  bundle: bundleCode,
1281
1263
  map: bundleMap
1282
1264
  };
1283
- } catch (error1) {
1265
+ } catch (error) {
1284
1266
  // Mark the error so we know how to format and return it later.
1285
1267
  // @ts-expect-error
1286
- error1[_metroErrorInterface.IS_METRO_BUNDLE_ERROR_SYMBOL] = true;
1268
+ error[_metroErrorInterface.IS_METRO_BUNDLE_ERROR_SYMBOL] = true;
1287
1269
  this.metro._reporter.update({
1288
1270
  buildID: getBuildID(buildNumber),
1289
- type: "bundle_build_failed"
1271
+ type: 'bundle_build_failed'
1290
1272
  });
1291
- throw error1;
1273
+ throw error;
1292
1274
  }
1293
1275
  }
1294
1276
  getMetroSerializer() {
1295
- var ref, ref1;
1296
- 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);
1277
+ var _this_metro__config, _this_metro;
1278
+ 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);
1297
1279
  }
1298
- getMetroRevision(resolvedEntryFilePath, { graphOptions , transformOptions , resolverOptions }) {
1299
- (0, _assert().default)(this.metro, "Metro server must be running to bundle directly.");
1280
+ getMetroRevision(resolvedEntryFilePath, { graphOptions, transformOptions, resolverOptions }) {
1281
+ (0, _assert().default)(this.metro, 'Metro server must be running to bundle directly.');
1300
1282
  const config = this.metro._config;
1301
1283
  const graphId = (0, _getGraphId().default)(resolvedEntryFilePath, transformOptions, {
1302
1284
  unstable_allowRequireContext: config.transformer.unstable_allowRequireContext,
@@ -1306,14 +1288,30 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
1306
1288
  });
1307
1289
  return this.metro.getBundler().getRevisionByGraphId(graphId);
1308
1290
  }
1309
- async resolveRelativePathAsync(moduleId, { resolverOptions , transformOptions }) {
1310
- (0, _assert().default)(this.metro, "cannot invoke resolveRelativePathAsync without metro instance");
1291
+ async resolveRelativePathAsync(moduleId, { resolverOptions, transformOptions }) {
1292
+ (0, _assert().default)(this.metro, 'cannot invoke resolveRelativePathAsync without metro instance');
1311
1293
  return await this.metro._resolveRelativePath((0, _metroOptions.convertPathToModuleSpecifier)(moduleId), {
1312
- relativeTo: "server",
1294
+ relativeTo: 'server',
1313
1295
  resolverOptions,
1314
1296
  transformOptions
1315
1297
  });
1316
1298
  }
1299
+ constructor(...args){
1300
+ super(...args), this.metro = null, this.hmrServer = null, this.ssrHmrClients = new Map(), // Set when the server is started.
1301
+ this.instanceMetroOptions = {}, this.ssrLoadModule = async (filePath, specificOptions = {}, extras = {})=>{
1302
+ const res = await this.ssrLoadModuleContents(filePath, specificOptions);
1303
+ if (// TODO: hot should be a callback function for invalidating the related SSR module.
1304
+ extras.hot && this.instanceMetroOptions.isExporting !== true) {
1305
+ // Register SSR HMR
1306
+ const serverRoot = (0, _paths().getMetroServerRoot)(this.projectRoot);
1307
+ const relativePath = _path().default.relative(serverRoot, res.filename);
1308
+ const url = new URL(relativePath, this.getDevServerUrlOrAssert());
1309
+ this.setupHmr(url);
1310
+ }
1311
+ return (0, _getStaticRenderFunctions.evalMetroAndWrapFunctions)(this.projectRoot, res.src, res.filename, specificOptions.isExporting ?? this.instanceMetroOptions.isExporting);
1312
+ }, this.rscRenderer = null, this.onReloadRscEvent = null, // API Routes
1313
+ this.pendingRouteOperations = new Map();
1314
+ }
1317
1315
  }
1318
1316
  function getBuildID(buildNumber) {
1319
1317
  return buildNumber.toString(36);
@@ -1322,7 +1320,7 @@ function wrapBundle(str) {
1322
1320
  // Skip the metro runtime so debugging is a bit easier.
1323
1321
  // Replace the __r() call with an export statement.
1324
1322
  // Use gm to apply to the last require line. This is needed when the bundle has side-effects.
1325
- return str.replace(/^(__r\(.*\);)$/gm, "module.exports = $1");
1323
+ return str.replace(/^(__r\(.*\);)$/gm, 'module.exports = $1');
1326
1324
  }
1327
1325
  async function sourceMapStringAsync(modules, options) {
1328
1326
  return (await (0, _sourceMapGenerator().sourceMapGeneratorNonBlocking)(modules, options)).toString(undefined, {