@expo/cli 1.0.0-canary-20250320-7a205d3 → 1.0.0-canary-20250402-161f57b

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 +72 -62
  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 +68 -64
  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 +293 -280
  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 +110 -98
  422. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  423. package/build/src/start/server/metro/createServerRouteMiddleware.js +34 -30
  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 +28 -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 +17 -16
@@ -9,22 +9,46 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- isServerEnvironment: ()=>isServerEnvironment,
13
- shouldEnableAsyncImports: ()=>shouldEnableAsyncImports,
14
- getBaseUrlFromExpoConfig: ()=>getBaseUrlFromExpoConfig,
15
- getAsyncRoutesFromExpoConfig: ()=>getAsyncRoutesFromExpoConfig,
16
- getMetroDirectBundleOptionsForExpoConfig: ()=>getMetroDirectBundleOptionsForExpoConfig,
17
- getMetroDirectBundleOptions: ()=>getMetroDirectBundleOptions,
18
- createBundleUrlPathFromExpoConfig: ()=>createBundleUrlPathFromExpoConfig,
19
- createBundleUrlPath: ()=>createBundleUrlPath,
20
- createBundleOsPath: ()=>createBundleOsPath,
21
- createBundleUrlSearchParams: ()=>createBundleUrlSearchParams,
22
- convertPathToModuleSpecifier: ()=>convertPathToModuleSpecifier,
23
- getMetroOptionsFromUrl: ()=>getMetroOptionsFromUrl
12
+ convertPathToModuleSpecifier: function() {
13
+ return convertPathToModuleSpecifier;
14
+ },
15
+ createBundleOsPath: function() {
16
+ return createBundleOsPath;
17
+ },
18
+ createBundleUrlPath: function() {
19
+ return createBundleUrlPath;
20
+ },
21
+ createBundleUrlPathFromExpoConfig: function() {
22
+ return createBundleUrlPathFromExpoConfig;
23
+ },
24
+ createBundleUrlSearchParams: function() {
25
+ return createBundleUrlSearchParams;
26
+ },
27
+ getAsyncRoutesFromExpoConfig: function() {
28
+ return getAsyncRoutesFromExpoConfig;
29
+ },
30
+ getBaseUrlFromExpoConfig: function() {
31
+ return getBaseUrlFromExpoConfig;
32
+ },
33
+ getMetroDirectBundleOptions: function() {
34
+ return getMetroDirectBundleOptions;
35
+ },
36
+ getMetroDirectBundleOptionsForExpoConfig: function() {
37
+ return getMetroDirectBundleOptionsForExpoConfig;
38
+ },
39
+ getMetroOptionsFromUrl: function() {
40
+ return getMetroOptionsFromUrl;
41
+ },
42
+ isServerEnvironment: function() {
43
+ return isServerEnvironment;
44
+ },
45
+ shouldEnableAsyncImports: function() {
46
+ return shouldEnableAsyncImports;
47
+ }
24
48
  });
25
- function _resolveFrom() {
26
- const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
27
- _resolveFrom = function() {
49
+ function _resolvefrom() {
50
+ const data = /*#__PURE__*/ _interop_require_default(require("resolve-from"));
51
+ _resolvefrom = function() {
28
52
  return data;
29
53
  };
30
54
  return data;
@@ -33,14 +57,14 @@ const _env = require("../../../utils/env");
33
57
  const _errors = require("../../../utils/errors");
34
58
  const _filePath = require("../../../utils/filePath");
35
59
  const _router = require("../metro/router");
36
- function _interopRequireDefault(obj) {
60
+ function _interop_require_default(obj) {
37
61
  return obj && obj.__esModule ? obj : {
38
62
  default: obj
39
63
  };
40
64
  }
41
- const debug = require("debug")("expo:metro:options");
65
+ const debug = require('debug')('expo:metro:options');
42
66
  function isServerEnvironment(environment) {
43
- return environment === "node" || environment === "react-server";
67
+ return environment === 'node' || environment === 'react-server';
44
68
  }
45
69
  function shouldEnableAsyncImports(projectRoot) {
46
70
  if (_env.env.EXPO_NO_METRO_LAZY) {
@@ -50,18 +74,18 @@ function shouldEnableAsyncImports(projectRoot) {
50
74
  // to support async imports. If it's not installed, we can't support async imports.
51
75
  // If it is installed, the user MUST import it somewhere in their project.
52
76
  // Expo Router automatically pulls this in, so we can check for it.
53
- return _resolveFrom().default.silent(projectRoot, "@expo/metro-runtime/package.json") != null;
77
+ return _resolvefrom().default.silent(projectRoot, '@expo/metro-runtime/package.json') != null;
54
78
  }
55
- function withDefaults({ mode ="development" , minify =mode === "production" , preserveEnvVars =mode !== "development" && _env.env.EXPO_NO_CLIENT_ENV_VARS , lazy , environment , ...props }) {
79
+ function withDefaults({ mode = 'development', minify = mode === 'production', preserveEnvVars = mode !== 'development' && _env.env.EXPO_NO_CLIENT_ENV_VARS, lazy, environment, ...props }) {
56
80
  if (props.bytecode) {
57
- if (props.platform === "web") {
58
- throw new _errors.CommandError("Cannot use bytecode with the web platform");
81
+ if (props.platform === 'web') {
82
+ throw new _errors.CommandError('Cannot use bytecode with the web platform');
59
83
  }
60
- if (props.engine !== "hermes") {
61
- throw new _errors.CommandError("Bytecode is only supported with the Hermes engine");
84
+ if (props.engine !== 'hermes') {
85
+ throw new _errors.CommandError('Bytecode is only supported with the Hermes engine');
62
86
  }
63
87
  }
64
- const optimize = props.optimize ?? (environment !== "node" && mode === "production" && _env.env.EXPO_UNSTABLE_METRO_OPTIMIZE_GRAPH);
88
+ const optimize = props.optimize ?? (environment !== 'node' && mode === 'production' && _env.env.EXPO_UNSTABLE_METRO_OPTIMIZE_GRAPH);
65
89
  return {
66
90
  mode,
67
91
  minify,
@@ -69,26 +93,26 @@ function withDefaults({ mode ="development" , minify =mode === "production" , pr
69
93
  optimize,
70
94
  usedExports: optimize && _env.env.EXPO_UNSTABLE_TREE_SHAKING,
71
95
  lazy: !props.isExporting && lazy,
72
- environment: environment === "client" ? undefined : environment,
96
+ environment: environment === 'client' ? undefined : environment,
73
97
  ...props
74
98
  };
75
99
  }
76
100
  function getBaseUrlFromExpoConfig(exp) {
77
- var ref, ref1;
78
- return ((ref = exp.experiments) == null ? void 0 : (ref1 = ref.baseUrl) == null ? void 0 : ref1.trim().replace(/\/+$/, "")) ?? "";
101
+ var _exp_experiments_baseUrl, _exp_experiments;
102
+ return ((_exp_experiments = exp.experiments) == null ? void 0 : (_exp_experiments_baseUrl = _exp_experiments.baseUrl) == null ? void 0 : _exp_experiments_baseUrl.trim().replace(/\/+$/, '')) ?? '';
79
103
  }
80
104
  function getAsyncRoutesFromExpoConfig(exp, mode, platform) {
81
- var ref, ref1;
105
+ var _exp_extra_router, _exp_extra;
82
106
  let asyncRoutesSetting;
83
- if ((ref = exp.extra) == null ? void 0 : (ref1 = ref.router) == null ? void 0 : ref1.asyncRoutes) {
84
- var ref2, ref3;
85
- const asyncRoutes = (ref2 = exp.extra) == null ? void 0 : (ref3 = ref2.router) == null ? void 0 : ref3.asyncRoutes;
107
+ if ((_exp_extra = exp.extra) == null ? void 0 : (_exp_extra_router = _exp_extra.router) == null ? void 0 : _exp_extra_router.asyncRoutes) {
108
+ var _exp_extra_router1, _exp_extra1;
109
+ const asyncRoutes = (_exp_extra1 = exp.extra) == null ? void 0 : (_exp_extra_router1 = _exp_extra1.router) == null ? void 0 : _exp_extra_router1.asyncRoutes;
86
110
  if ([
87
- "boolean",
88
- "string"
111
+ 'boolean',
112
+ 'string'
89
113
  ].includes(typeof asyncRoutes)) {
90
114
  asyncRoutesSetting = asyncRoutes;
91
- } else if (typeof asyncRoutes === "object") {
115
+ } else if (typeof asyncRoutes === 'object') {
92
116
  asyncRoutesSetting = asyncRoutes[platform] ?? asyncRoutes.default;
93
117
  }
94
118
  }
@@ -98,30 +122,30 @@ function getAsyncRoutesFromExpoConfig(exp, mode, platform) {
98
122
  ].includes(asyncRoutesSetting);
99
123
  }
100
124
  function getMetroDirectBundleOptionsForExpoConfig(projectRoot, exp, options) {
101
- var ref;
125
+ var _exp_experiments;
102
126
  return getMetroDirectBundleOptions({
103
127
  ...options,
104
- reactCompiler: !!((ref = exp.experiments) == null ? void 0 : ref.reactCompiler),
128
+ reactCompiler: !!((_exp_experiments = exp.experiments) == null ? void 0 : _exp_experiments.reactCompiler),
105
129
  baseUrl: getBaseUrlFromExpoConfig(exp),
106
130
  routerRoot: (0, _router.getRouterDirectoryModuleIdWithManifest)(projectRoot, exp),
107
131
  asyncRoutes: getAsyncRoutesFromExpoConfig(exp, options.mode, options.platform)
108
132
  });
109
133
  }
110
134
  function getMetroDirectBundleOptions(options) {
111
- const { mainModuleName , platform , mode , minify , environment , serializerOutput , serializerIncludeMaps , bytecode , lazy , engine , preserveEnvVars , asyncRoutes , baseUrl , routerRoot , isExporting , inlineSourceMap , splitChunks , usedExports , reactCompiler , optimize , domRoot , clientBoundaries , runModule , modulesOnly , useMd5Filename , } = withDefaults(options);
112
- const dev = mode !== "production";
113
- const isHermes = engine === "hermes";
135
+ const { mainModuleName, platform, mode, minify, environment, serializerOutput, serializerIncludeMaps, bytecode, lazy, engine, preserveEnvVars, asyncRoutes, baseUrl, routerRoot, isExporting, inlineSourceMap, splitChunks, usedExports, reactCompiler, optimize, domRoot, clientBoundaries, runModule, modulesOnly, useMd5Filename } = withDefaults(options);
136
+ const dev = mode !== 'production';
137
+ const isHermes = engine === 'hermes';
114
138
  if (isExporting) {
115
- debug("Disabling lazy bundling for export build");
139
+ debug('Disabling lazy bundling for export build');
116
140
  options.lazy = false;
117
141
  }
118
142
  let fakeSourceUrl;
119
143
  let fakeSourceMapUrl;
120
144
  // TODO: Upstream support to Metro for passing custom serializer options.
121
145
  if (serializerIncludeMaps != null || serializerOutput != null) {
122
- fakeSourceUrl = new URL(createBundleUrlPath(options).replace(/^\//, ""), "http://localhost:8081").toString();
146
+ fakeSourceUrl = new URL(createBundleUrlPath(options).replace(/^\//, ''), 'http://localhost:8081').toString();
123
147
  if (serializerIncludeMaps) {
124
- fakeSourceMapUrl = fakeSourceUrl.replace(".bundle?", ".map?");
148
+ fakeSourceMapUrl = fakeSourceUrl.replace('.bundle?', '.map?');
125
149
  }
126
150
  }
127
151
  const customTransformOptions = {
@@ -135,7 +159,7 @@ function getMetroDirectBundleOptions(options) {
135
159
  environment,
136
160
  baseUrl: baseUrl || undefined,
137
161
  routerRoot,
138
- bytecode: bytecode ? "1" : undefined,
162
+ bytecode: bytecode ? '1' : undefined,
139
163
  reactCompiler: reactCompiler ? String(reactCompiler) : undefined,
140
164
  dom: domRoot,
141
165
  useMd5Filename: useMd5Filename || undefined
@@ -153,7 +177,7 @@ function getMetroDirectBundleOptions(options) {
153
177
  minify: minify ?? !dev,
154
178
  inlineSourceMap: inlineSourceMap ?? false,
155
179
  lazy: !isExporting && lazy || undefined,
156
- unstable_transformProfile: isHermes ? "hermes-stable" : "default",
180
+ unstable_transformProfile: isHermes ? 'hermes-stable' : 'default',
157
181
  customTransformOptions,
158
182
  runModule,
159
183
  modulesOnly,
@@ -174,17 +198,17 @@ function getMetroDirectBundleOptions(options) {
174
198
  return bundleOptions;
175
199
  }
176
200
  function createBundleUrlPathFromExpoConfig(projectRoot, exp, options) {
177
- var ref;
201
+ var _exp_experiments;
178
202
  return createBundleUrlPath({
179
203
  ...options,
180
- reactCompiler: !!((ref = exp.experiments) == null ? void 0 : ref.reactCompiler),
204
+ reactCompiler: !!((_exp_experiments = exp.experiments) == null ? void 0 : _exp_experiments.reactCompiler),
181
205
  baseUrl: getBaseUrlFromExpoConfig(exp),
182
206
  routerRoot: (0, _router.getRouterDirectoryModuleIdWithManifest)(projectRoot, exp)
183
207
  });
184
208
  }
185
209
  function createBundleUrlPath(options) {
186
210
  const queryParams = createBundleUrlSearchParams(options);
187
- return `/${encodeURI(options.mainModuleName.replace(/^\/+/, ""))}.bundle?${queryParams.toString()}`;
211
+ return `/${encodeURI(options.mainModuleName.replace(/^\/+/, ''))}.bundle?${queryParams.toString()}`;
188
212
  }
189
213
  function createBundleOsPath(options) {
190
214
  const queryParams = createBundleUrlSearchParams(options);
@@ -192,8 +216,8 @@ function createBundleOsPath(options) {
192
216
  return `${mainModuleName}.bundle?${queryParams.toString()}`;
193
217
  }
194
218
  function createBundleUrlSearchParams(options) {
195
- const { platform , mode , minify , environment , serializerOutput , serializerIncludeMaps , lazy , bytecode , engine , preserveEnvVars , asyncRoutes , baseUrl , routerRoot , reactCompiler , inlineSourceMap , isExporting , clientBoundaries , splitChunks , usedExports , optimize , domRoot , modulesOnly , runModule , } = withDefaults(options);
196
- const dev = String(mode !== "production");
219
+ const { platform, mode, minify, environment, serializerOutput, serializerIncludeMaps, lazy, bytecode, engine, preserveEnvVars, asyncRoutes, baseUrl, routerRoot, reactCompiler, inlineSourceMap, isExporting, clientBoundaries, splitChunks, usedExports, optimize, domRoot, modulesOnly, runModule } = withDefaults(options);
220
+ const dev = String(mode !== 'production');
197
221
  const queryParams = new URLSearchParams({
198
222
  platform: encodeURIComponent(platform),
199
223
  dev,
@@ -202,74 +226,74 @@ function createBundleUrlSearchParams(options) {
202
226
  });
203
227
  // Lazy bundling must be disabled for bundle splitting to work.
204
228
  if (!isExporting && lazy) {
205
- queryParams.append("lazy", String(lazy));
229
+ queryParams.append('lazy', String(lazy));
206
230
  }
207
231
  if (inlineSourceMap) {
208
- queryParams.append("inlineSourceMap", String(inlineSourceMap));
232
+ queryParams.append('inlineSourceMap', String(inlineSourceMap));
209
233
  }
210
234
  if (minify) {
211
- queryParams.append("minify", String(minify));
235
+ queryParams.append('minify', String(minify));
212
236
  }
213
237
  // We split bytecode from the engine since you could technically use Hermes without bytecode.
214
238
  // Hermes indicates the type of language features you want to transform out of the JS, whereas bytecode
215
239
  // indicates whether you want to use the Hermes bytecode format.
216
240
  if (engine) {
217
- queryParams.append("transform.engine", engine);
241
+ queryParams.append('transform.engine', engine);
218
242
  }
219
243
  if (bytecode) {
220
- queryParams.append("transform.bytecode", "1");
244
+ queryParams.append('transform.bytecode', '1');
221
245
  }
222
246
  if (asyncRoutes) {
223
- queryParams.append("transform.asyncRoutes", String(asyncRoutes));
247
+ queryParams.append('transform.asyncRoutes', String(asyncRoutes));
224
248
  }
225
249
  if (preserveEnvVars) {
226
- queryParams.append("transform.preserveEnvVars", String(preserveEnvVars));
250
+ queryParams.append('transform.preserveEnvVars', String(preserveEnvVars));
227
251
  }
228
252
  if (baseUrl) {
229
- queryParams.append("transform.baseUrl", baseUrl);
253
+ queryParams.append('transform.baseUrl', baseUrl);
230
254
  }
231
255
  if (clientBoundaries == null ? void 0 : clientBoundaries.length) {
232
- queryParams.append("transform.clientBoundaries", JSON.stringify(clientBoundaries));
256
+ queryParams.append('transform.clientBoundaries', JSON.stringify(clientBoundaries));
233
257
  }
234
258
  if (routerRoot != null) {
235
- queryParams.append("transform.routerRoot", routerRoot);
259
+ queryParams.append('transform.routerRoot', routerRoot);
236
260
  }
237
261
  if (reactCompiler) {
238
- queryParams.append("transform.reactCompiler", String(reactCompiler));
262
+ queryParams.append('transform.reactCompiler', String(reactCompiler));
239
263
  }
240
264
  if (domRoot) {
241
- queryParams.append("transform.dom", domRoot);
265
+ queryParams.append('transform.dom', domRoot);
242
266
  }
243
267
  if (environment) {
244
- queryParams.append("resolver.environment", environment);
245
- queryParams.append("transform.environment", environment);
268
+ queryParams.append('resolver.environment', environment);
269
+ queryParams.append('transform.environment', environment);
246
270
  }
247
271
  if (isExporting) {
248
- queryParams.append("resolver.exporting", String(isExporting));
272
+ queryParams.append('resolver.exporting', String(isExporting));
249
273
  }
250
274
  if (splitChunks) {
251
- queryParams.append("serializer.splitChunks", String(splitChunks));
275
+ queryParams.append('serializer.splitChunks', String(splitChunks));
252
276
  }
253
277
  if (usedExports) {
254
- queryParams.append("serializer.usedExports", String(usedExports));
278
+ queryParams.append('serializer.usedExports', String(usedExports));
255
279
  }
256
280
  if (optimize) {
257
- queryParams.append("transform.optimize", String(optimize));
281
+ queryParams.append('transform.optimize', String(optimize));
258
282
  }
259
283
  if (serializerOutput) {
260
- queryParams.append("serializer.output", serializerOutput);
284
+ queryParams.append('serializer.output', serializerOutput);
261
285
  }
262
286
  if (serializerIncludeMaps) {
263
- queryParams.append("serializer.map", String(serializerIncludeMaps));
287
+ queryParams.append('serializer.map', String(serializerIncludeMaps));
264
288
  }
265
- if (engine === "hermes") {
266
- queryParams.append("unstable_transformProfile", "hermes-stable");
289
+ if (engine === 'hermes') {
290
+ queryParams.append('unstable_transformProfile', 'hermes-stable');
267
291
  }
268
292
  if (modulesOnly != null) {
269
- queryParams.set("modulesOnly", String(modulesOnly));
293
+ queryParams.set('modulesOnly', String(modulesOnly));
270
294
  }
271
295
  if (runModule != null) {
272
- queryParams.set("runModule", String(runModule));
296
+ queryParams.set('runModule', String(runModule));
273
297
  }
274
298
  return queryParams;
275
299
  }
@@ -277,7 +301,7 @@ function convertPathToModuleSpecifier(pathLike) {
277
301
  return (0, _filePath.toPosixPath)(pathLike);
278
302
  }
279
303
  function getMetroOptionsFromUrl(urlFragment) {
280
- const url = new URL(urlFragment, "http://localhost:0");
304
+ const url = new URL(urlFragment, 'http://localhost:0');
281
305
  const getStringParam = (key)=>{
282
306
  const param = url.searchParams.get(key);
283
307
  if (Array.isArray(param)) {
@@ -286,40 +310,40 @@ function getMetroOptionsFromUrl(urlFragment) {
286
310
  return param;
287
311
  };
288
312
  let pathname = url.pathname;
289
- if (pathname.endsWith(".bundle")) {
290
- pathname = pathname.slice(0, -".bundle".length);
313
+ if (pathname.endsWith('.bundle')) {
314
+ pathname = pathname.slice(0, -'.bundle'.length);
291
315
  }
292
316
  const options = {
293
- mode: isTruthy(getStringParam("dev") ?? "true") ? "development" : "production",
294
- minify: isTruthy(getStringParam("minify") ?? "false"),
295
- lazy: isTruthy(getStringParam("lazy") ?? "false"),
296
- routerRoot: getStringParam("transform.routerRoot") ?? "app",
297
- isExporting: isTruthy(getStringParam("resolver.exporting") ?? "false"),
298
- environment: assertEnvironment(getStringParam("transform.environment") ?? "node"),
299
- platform: url.searchParams.get("platform") ?? "web",
300
- bytecode: isTruthy(getStringParam("transform.bytecode") ?? "false"),
317
+ mode: isTruthy(getStringParam('dev') ?? 'true') ? 'development' : 'production',
318
+ minify: isTruthy(getStringParam('minify') ?? 'false'),
319
+ lazy: isTruthy(getStringParam('lazy') ?? 'false'),
320
+ routerRoot: getStringParam('transform.routerRoot') ?? 'app',
321
+ isExporting: isTruthy(getStringParam('resolver.exporting') ?? 'false'),
322
+ environment: assertEnvironment(getStringParam('transform.environment') ?? 'node'),
323
+ platform: url.searchParams.get('platform') ?? 'web',
324
+ bytecode: isTruthy(getStringParam('transform.bytecode') ?? 'false'),
301
325
  mainModuleName: convertPathToModuleSpecifier(pathname),
302
- reactCompiler: isTruthy(getStringParam("transform.reactCompiler") ?? "false"),
303
- asyncRoutes: isTruthy(getStringParam("transform.asyncRoutes") ?? "false"),
304
- baseUrl: getStringParam("transform.baseUrl") ?? undefined,
326
+ reactCompiler: isTruthy(getStringParam('transform.reactCompiler') ?? 'false'),
327
+ asyncRoutes: isTruthy(getStringParam('transform.asyncRoutes') ?? 'false'),
328
+ baseUrl: getStringParam('transform.baseUrl') ?? undefined,
305
329
  // clientBoundaries: JSON.parse(getStringParam('transform.clientBoundaries') ?? '[]'),
306
- engine: assertEngine(getStringParam("transform.engine")),
307
- runModule: isTruthy(getStringParam("runModule") ?? "true"),
308
- modulesOnly: isTruthy(getStringParam("modulesOnly") ?? "false")
330
+ engine: assertEngine(getStringParam('transform.engine')),
331
+ runModule: isTruthy(getStringParam('runModule') ?? 'true'),
332
+ modulesOnly: isTruthy(getStringParam('modulesOnly') ?? 'false')
309
333
  };
310
334
  return options;
311
335
  }
312
336
  function isTruthy(value) {
313
- return value === "true" || value === "1";
337
+ return value === 'true' || value === '1';
314
338
  }
315
339
  function assertEnvironment(environment) {
316
340
  if (!environment) {
317
341
  return undefined;
318
342
  }
319
343
  if (![
320
- "node",
321
- "react-server",
322
- "client"
344
+ 'node',
345
+ 'react-server',
346
+ 'client'
323
347
  ].includes(environment)) {
324
348
  throw new Error(`Expected transform.environment to be one of: node, react-server, client`);
325
349
  }
@@ -330,7 +354,7 @@ function assertEngine(engine) {
330
354
  return undefined;
331
355
  }
332
356
  if (![
333
- "hermes"
357
+ 'hermes'
334
358
  ].includes(engine)) {
335
359
  throw new Error(`Expected transform.engine to be one of: hermes`);
336
360
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/server/middleware/metroOptions.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport type { BundleOptions as MetroBundleOptions } from 'metro/src/shared/types';\nimport resolveFrom from 'resolve-from';\n\nimport { env } from '../../../utils/env';\nimport { CommandError } from '../../../utils/errors';\nimport { toPosixPath } from '../../../utils/filePath';\nimport { getRouterDirectoryModuleIdWithManifest } from '../metro/router';\n\nconst debug = require('debug')('expo:metro:options') as typeof console.log;\n\nexport type MetroEnvironment = 'node' | 'react-server' | 'client';\n\nexport type ExpoMetroOptions = {\n platform: string;\n mainModuleName: string;\n mode: string;\n minify?: boolean;\n environment?: MetroEnvironment;\n serializerOutput?: 'static';\n serializerIncludeMaps?: boolean;\n lazy?: boolean;\n engine?: 'hermes';\n preserveEnvVars?: boolean;\n bytecode: boolean;\n /** Enable async routes (route-based bundle splitting) in Expo Router. */\n asyncRoutes?: boolean;\n /** Module ID relative to the projectRoot for the Expo Router app directory. */\n routerRoot: string;\n /** Enable React compiler support in Babel. */\n reactCompiler: boolean;\n baseUrl?: string;\n isExporting: boolean;\n /** Is bundling a DOM Component (\"use dom\"). Requires the entry dom component file path. */\n domRoot?: string;\n /** Exporting MD5 filename based on file contents, for EAS Update. */\n useMd5Filename?: boolean;\n inlineSourceMap?: boolean;\n clientBoundaries?: string[];\n splitChunks?: boolean;\n usedExports?: boolean;\n /** Enable optimized bundling (required for tree shaking). */\n optimize?: boolean;\n\n modulesOnly?: boolean;\n runModule?: boolean;\n};\n\nexport type SerializerOptions = {\n includeSourceMaps?: boolean;\n output?: 'static';\n splitChunks?: boolean;\n usedExports?: boolean;\n};\n\nexport type ExpoMetroBundleOptions = MetroBundleOptions & {\n serializerOptions?: SerializerOptions;\n};\n\nexport function isServerEnvironment(environment?: any): boolean {\n return environment === 'node' || environment === 'react-server';\n}\n\nexport function shouldEnableAsyncImports(projectRoot: string): boolean {\n if (env.EXPO_NO_METRO_LAZY) {\n return false;\n }\n\n // `@expo/metro-runtime` includes support for the fetch + eval runtime code required\n // to support async imports. If it's not installed, we can't support async imports.\n // If it is installed, the user MUST import it somewhere in their project.\n // Expo Router automatically pulls this in, so we can check for it.\n return resolveFrom.silent(projectRoot, '@expo/metro-runtime/package.json') != null;\n}\n\nfunction withDefaults({\n mode = 'development',\n minify = mode === 'production',\n preserveEnvVars = mode !== 'development' && env.EXPO_NO_CLIENT_ENV_VARS,\n lazy,\n environment,\n ...props\n}: ExpoMetroOptions): ExpoMetroOptions {\n if (props.bytecode) {\n if (props.platform === 'web') {\n throw new CommandError('Cannot use bytecode with the web platform');\n }\n if (props.engine !== 'hermes') {\n throw new CommandError('Bytecode is only supported with the Hermes engine');\n }\n }\n\n const optimize =\n props.optimize ??\n (environment !== 'node' && mode === 'production' && env.EXPO_UNSTABLE_METRO_OPTIMIZE_GRAPH);\n\n return {\n mode,\n minify,\n preserveEnvVars,\n optimize,\n usedExports: optimize && env.EXPO_UNSTABLE_TREE_SHAKING,\n lazy: !props.isExporting && lazy,\n environment: environment === 'client' ? undefined : environment,\n ...props,\n };\n}\n\nexport function getBaseUrlFromExpoConfig(exp: ExpoConfig) {\n return exp.experiments?.baseUrl?.trim().replace(/\\/+$/, '') ?? '';\n}\n\nexport function getAsyncRoutesFromExpoConfig(exp: ExpoConfig, mode: string, platform: string) {\n let asyncRoutesSetting;\n\n if (exp.extra?.router?.asyncRoutes) {\n const asyncRoutes = exp.extra?.router?.asyncRoutes;\n if (['boolean', 'string'].includes(typeof asyncRoutes)) {\n asyncRoutesSetting = asyncRoutes;\n } else if (typeof asyncRoutes === 'object') {\n asyncRoutesSetting = asyncRoutes[platform] ?? asyncRoutes.default;\n }\n }\n\n return [mode, true].includes(asyncRoutesSetting);\n}\n\nexport function getMetroDirectBundleOptionsForExpoConfig(\n projectRoot: string,\n exp: ExpoConfig,\n options: Omit<ExpoMetroOptions, 'baseUrl' | 'reactCompiler' | 'routerRoot' | 'asyncRoutes'>\n): Partial<ExpoMetroBundleOptions> {\n return getMetroDirectBundleOptions({\n ...options,\n reactCompiler: !!exp.experiments?.reactCompiler,\n baseUrl: getBaseUrlFromExpoConfig(exp),\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n asyncRoutes: getAsyncRoutesFromExpoConfig(exp, options.mode, options.platform),\n });\n}\n\nexport function getMetroDirectBundleOptions(\n options: ExpoMetroOptions\n): Partial<ExpoMetroBundleOptions> {\n const {\n mainModuleName,\n platform,\n mode,\n minify,\n environment,\n serializerOutput,\n serializerIncludeMaps,\n bytecode,\n lazy,\n engine,\n preserveEnvVars,\n asyncRoutes,\n baseUrl,\n routerRoot,\n isExporting,\n inlineSourceMap,\n splitChunks,\n usedExports,\n reactCompiler,\n optimize,\n domRoot,\n clientBoundaries,\n runModule,\n modulesOnly,\n useMd5Filename,\n } = withDefaults(options);\n\n const dev = mode !== 'production';\n const isHermes = engine === 'hermes';\n\n if (isExporting) {\n debug('Disabling lazy bundling for export build');\n options.lazy = false;\n }\n\n let fakeSourceUrl: string | undefined;\n let fakeSourceMapUrl: string | undefined;\n\n // TODO: Upstream support to Metro for passing custom serializer options.\n if (serializerIncludeMaps != null || serializerOutput != null) {\n fakeSourceUrl = new URL(\n createBundleUrlPath(options).replace(/^\\//, ''),\n 'http://localhost:8081'\n ).toString();\n if (serializerIncludeMaps) {\n fakeSourceMapUrl = fakeSourceUrl.replace('.bundle?', '.map?');\n }\n }\n\n const customTransformOptions: ExpoMetroBundleOptions['customTransformOptions'] = {\n __proto__: null,\n optimize: optimize || undefined,\n engine,\n clientBoundaries,\n preserveEnvVars: preserveEnvVars || undefined,\n // Use string to match the query param behavior.\n asyncRoutes: asyncRoutes ? String(asyncRoutes) : undefined,\n environment,\n baseUrl: baseUrl || undefined,\n routerRoot,\n bytecode: bytecode ? '1' : undefined,\n reactCompiler: reactCompiler ? String(reactCompiler) : undefined,\n dom: domRoot,\n useMd5Filename: useMd5Filename || undefined,\n };\n\n // Iterate and delete undefined values\n for (const key in customTransformOptions) {\n if (customTransformOptions[key] === undefined) {\n delete customTransformOptions[key];\n }\n }\n\n const bundleOptions: Partial<ExpoMetroBundleOptions> = {\n platform,\n entryFile: mainModuleName,\n dev,\n minify: minify ?? !dev,\n inlineSourceMap: inlineSourceMap ?? false,\n lazy: (!isExporting && lazy) || undefined,\n unstable_transformProfile: isHermes ? 'hermes-stable' : 'default',\n customTransformOptions,\n runModule,\n modulesOnly,\n customResolverOptions: {\n __proto__: null,\n environment,\n exporting: isExporting || undefined,\n },\n sourceMapUrl: fakeSourceMapUrl,\n sourceUrl: fakeSourceUrl,\n serializerOptions: {\n splitChunks,\n usedExports: usedExports || undefined,\n output: serializerOutput,\n includeSourceMaps: serializerIncludeMaps,\n },\n };\n\n return bundleOptions;\n}\n\nexport function createBundleUrlPathFromExpoConfig(\n projectRoot: string,\n exp: ExpoConfig,\n options: Omit<ExpoMetroOptions, 'reactCompiler' | 'baseUrl' | 'routerRoot'>\n): string {\n return createBundleUrlPath({\n ...options,\n reactCompiler: !!exp.experiments?.reactCompiler,\n baseUrl: getBaseUrlFromExpoConfig(exp),\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n });\n}\n\nexport function createBundleUrlPath(options: ExpoMetroOptions): string {\n const queryParams = createBundleUrlSearchParams(options);\n return `/${encodeURI(options.mainModuleName.replace(/^\\/+/, ''))}.bundle?${queryParams.toString()}`;\n}\n\n/**\n * Create a bundle URL, containing all required query parameters, using a valid \"os path\".\n * On POSIX systems, this would look something like `/Users/../project/file.js?dev=false&..`.\n * On UNIX systems, this would look something like `C:\\Users\\..\\project\\file.js?dev=false&..`.\n * This path can safely be used with `path.*` modifiers and resolved.\n */\nexport function createBundleOsPath(options: ExpoMetroOptions): string {\n const queryParams = createBundleUrlSearchParams(options);\n const mainModuleName = toPosixPath(options.mainModuleName);\n return `${mainModuleName}.bundle?${queryParams.toString()}`;\n}\n\nexport function createBundleUrlSearchParams(options: ExpoMetroOptions): URLSearchParams {\n const {\n platform,\n mode,\n minify,\n environment,\n serializerOutput,\n serializerIncludeMaps,\n lazy,\n bytecode,\n engine,\n preserveEnvVars,\n asyncRoutes,\n baseUrl,\n routerRoot,\n reactCompiler,\n inlineSourceMap,\n isExporting,\n clientBoundaries,\n splitChunks,\n usedExports,\n optimize,\n domRoot,\n modulesOnly,\n runModule,\n } = withDefaults(options);\n\n const dev = String(mode !== 'production');\n const queryParams = new URLSearchParams({\n platform: encodeURIComponent(platform),\n dev,\n // TODO: Is this still needed?\n hot: String(false),\n });\n\n // Lazy bundling must be disabled for bundle splitting to work.\n if (!isExporting && lazy) {\n queryParams.append('lazy', String(lazy));\n }\n\n if (inlineSourceMap) {\n queryParams.append('inlineSourceMap', String(inlineSourceMap));\n }\n\n if (minify) {\n queryParams.append('minify', String(minify));\n }\n\n // We split bytecode from the engine since you could technically use Hermes without bytecode.\n // Hermes indicates the type of language features you want to transform out of the JS, whereas bytecode\n // indicates whether you want to use the Hermes bytecode format.\n if (engine) {\n queryParams.append('transform.engine', engine);\n }\n if (bytecode) {\n queryParams.append('transform.bytecode', '1');\n }\n if (asyncRoutes) {\n queryParams.append('transform.asyncRoutes', String(asyncRoutes));\n }\n if (preserveEnvVars) {\n queryParams.append('transform.preserveEnvVars', String(preserveEnvVars));\n }\n if (baseUrl) {\n queryParams.append('transform.baseUrl', baseUrl);\n }\n if (clientBoundaries?.length) {\n queryParams.append('transform.clientBoundaries', JSON.stringify(clientBoundaries));\n }\n if (routerRoot != null) {\n queryParams.append('transform.routerRoot', routerRoot);\n }\n if (reactCompiler) {\n queryParams.append('transform.reactCompiler', String(reactCompiler));\n }\n if (domRoot) {\n queryParams.append('transform.dom', domRoot);\n }\n\n if (environment) {\n queryParams.append('resolver.environment', environment);\n queryParams.append('transform.environment', environment);\n }\n\n if (isExporting) {\n queryParams.append('resolver.exporting', String(isExporting));\n }\n\n if (splitChunks) {\n queryParams.append('serializer.splitChunks', String(splitChunks));\n }\n if (usedExports) {\n queryParams.append('serializer.usedExports', String(usedExports));\n }\n if (optimize) {\n queryParams.append('transform.optimize', String(optimize));\n }\n if (serializerOutput) {\n queryParams.append('serializer.output', serializerOutput);\n }\n if (serializerIncludeMaps) {\n queryParams.append('serializer.map', String(serializerIncludeMaps));\n }\n if (engine === 'hermes') {\n queryParams.append('unstable_transformProfile', 'hermes-stable');\n }\n\n if (modulesOnly != null) {\n queryParams.set('modulesOnly', String(modulesOnly));\n }\n if (runModule != null) {\n queryParams.set('runModule', String(runModule));\n }\n\n return queryParams;\n}\n\n/**\n * Convert all path separators to `/`, including on Windows.\n * Metro asumes that all module specifiers are posix paths.\n * References to directories can still be Windows-style paths in Metro.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules#importing_features_into_your_script\n * @see https://github.com/facebook/metro/pull/1286\n */\nexport function convertPathToModuleSpecifier(pathLike: string) {\n return toPosixPath(pathLike);\n}\n\nexport function getMetroOptionsFromUrl(urlFragment: string) {\n const url = new URL(urlFragment, 'http://localhost:0');\n const getStringParam = (key: string) => {\n const param = url.searchParams.get(key);\n if (Array.isArray(param)) {\n throw new Error(`Expected single value for ${key}`);\n }\n return param;\n };\n\n let pathname = url.pathname;\n if (pathname.endsWith('.bundle')) {\n pathname = pathname.slice(0, -'.bundle'.length);\n }\n\n const options: ExpoMetroOptions = {\n mode: isTruthy(getStringParam('dev') ?? 'true') ? 'development' : 'production',\n minify: isTruthy(getStringParam('minify') ?? 'false'),\n lazy: isTruthy(getStringParam('lazy') ?? 'false'),\n routerRoot: getStringParam('transform.routerRoot') ?? 'app',\n isExporting: isTruthy(getStringParam('resolver.exporting') ?? 'false'),\n environment: assertEnvironment(getStringParam('transform.environment') ?? 'node'),\n platform: url.searchParams.get('platform') ?? 'web',\n bytecode: isTruthy(getStringParam('transform.bytecode') ?? 'false'),\n mainModuleName: convertPathToModuleSpecifier(pathname),\n reactCompiler: isTruthy(getStringParam('transform.reactCompiler') ?? 'false'),\n asyncRoutes: isTruthy(getStringParam('transform.asyncRoutes') ?? 'false'),\n baseUrl: getStringParam('transform.baseUrl') ?? undefined,\n // clientBoundaries: JSON.parse(getStringParam('transform.clientBoundaries') ?? '[]'),\n engine: assertEngine(getStringParam('transform.engine')),\n runModule: isTruthy(getStringParam('runModule') ?? 'true'),\n modulesOnly: isTruthy(getStringParam('modulesOnly') ?? 'false'),\n };\n\n return options;\n}\n\nfunction isTruthy(value: string | null): boolean {\n return value === 'true' || value === '1';\n}\n\nfunction assertEnvironment(environment: string | undefined): MetroEnvironment | undefined {\n if (!environment) {\n return undefined;\n }\n if (!['node', 'react-server', 'client'].includes(environment)) {\n throw new Error(`Expected transform.environment to be one of: node, react-server, client`);\n }\n return environment as MetroEnvironment;\n}\nfunction assertEngine(engine: string | undefined | null): 'hermes' | undefined {\n if (!engine) {\n return undefined;\n }\n if (!['hermes'].includes(engine)) {\n throw new Error(`Expected transform.engine to be one of: hermes`);\n }\n return engine as 'hermes';\n}\n"],"names":["isServerEnvironment","shouldEnableAsyncImports","getBaseUrlFromExpoConfig","getAsyncRoutesFromExpoConfig","getMetroDirectBundleOptionsForExpoConfig","getMetroDirectBundleOptions","createBundleUrlPathFromExpoConfig","createBundleUrlPath","createBundleOsPath","createBundleUrlSearchParams","convertPathToModuleSpecifier","getMetroOptionsFromUrl","debug","require","environment","projectRoot","env","EXPO_NO_METRO_LAZY","resolveFrom","silent","withDefaults","mode","minify","preserveEnvVars","EXPO_NO_CLIENT_ENV_VARS","lazy","props","bytecode","platform","CommandError","engine","optimize","EXPO_UNSTABLE_METRO_OPTIMIZE_GRAPH","usedExports","EXPO_UNSTABLE_TREE_SHAKING","isExporting","undefined","exp","experiments","baseUrl","trim","replace","asyncRoutesSetting","extra","router","asyncRoutes","includes","default","options","reactCompiler","routerRoot","getRouterDirectoryModuleIdWithManifest","mainModuleName","serializerOutput","serializerIncludeMaps","inlineSourceMap","splitChunks","domRoot","clientBoundaries","runModule","modulesOnly","useMd5Filename","dev","isHermes","fakeSourceUrl","fakeSourceMapUrl","URL","toString","customTransformOptions","__proto__","String","dom","key","bundleOptions","entryFile","unstable_transformProfile","customResolverOptions","exporting","sourceMapUrl","sourceUrl","serializerOptions","output","includeSourceMaps","queryParams","encodeURI","toPosixPath","URLSearchParams","encodeURIComponent","hot","append","length","JSON","stringify","set","pathLike","urlFragment","url","getStringParam","param","searchParams","get","Array","isArray","Error","pathname","endsWith","slice","isTruthy","assertEnvironment","assertEngine","value"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/start/server/middleware/metroOptions.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport type { BundleOptions as MetroBundleOptions } from 'metro/src/shared/types';\nimport resolveFrom from 'resolve-from';\n\nimport { env } from '../../../utils/env';\nimport { CommandError } from '../../../utils/errors';\nimport { toPosixPath } from '../../../utils/filePath';\nimport { getRouterDirectoryModuleIdWithManifest } from '../metro/router';\n\nconst debug = require('debug')('expo:metro:options') as typeof console.log;\n\nexport type MetroEnvironment = 'node' | 'react-server' | 'client';\n\nexport type ExpoMetroOptions = {\n platform: string;\n mainModuleName: string;\n mode: string;\n minify?: boolean;\n environment?: MetroEnvironment;\n serializerOutput?: 'static';\n serializerIncludeMaps?: boolean;\n lazy?: boolean;\n engine?: 'hermes';\n preserveEnvVars?: boolean;\n bytecode: boolean;\n /** Enable async routes (route-based bundle splitting) in Expo Router. */\n asyncRoutes?: boolean;\n /** Module ID relative to the projectRoot for the Expo Router app directory. */\n routerRoot: string;\n /** Enable React compiler support in Babel. */\n reactCompiler: boolean;\n baseUrl?: string;\n isExporting: boolean;\n /** Is bundling a DOM Component (\"use dom\"). Requires the entry dom component file path. */\n domRoot?: string;\n /** Exporting MD5 filename based on file contents, for EAS Update. */\n useMd5Filename?: boolean;\n inlineSourceMap?: boolean;\n clientBoundaries?: string[];\n splitChunks?: boolean;\n usedExports?: boolean;\n /** Enable optimized bundling (required for tree shaking). */\n optimize?: boolean;\n\n modulesOnly?: boolean;\n runModule?: boolean;\n};\n\nexport type SerializerOptions = {\n includeSourceMaps?: boolean;\n output?: 'static';\n splitChunks?: boolean;\n usedExports?: boolean;\n};\n\nexport type ExpoMetroBundleOptions = MetroBundleOptions & {\n serializerOptions?: SerializerOptions;\n};\n\nexport function isServerEnvironment(environment?: any): boolean {\n return environment === 'node' || environment === 'react-server';\n}\n\nexport function shouldEnableAsyncImports(projectRoot: string): boolean {\n if (env.EXPO_NO_METRO_LAZY) {\n return false;\n }\n\n // `@expo/metro-runtime` includes support for the fetch + eval runtime code required\n // to support async imports. If it's not installed, we can't support async imports.\n // If it is installed, the user MUST import it somewhere in their project.\n // Expo Router automatically pulls this in, so we can check for it.\n return resolveFrom.silent(projectRoot, '@expo/metro-runtime/package.json') != null;\n}\n\nfunction withDefaults({\n mode = 'development',\n minify = mode === 'production',\n preserveEnvVars = mode !== 'development' && env.EXPO_NO_CLIENT_ENV_VARS,\n lazy,\n environment,\n ...props\n}: ExpoMetroOptions): ExpoMetroOptions {\n if (props.bytecode) {\n if (props.platform === 'web') {\n throw new CommandError('Cannot use bytecode with the web platform');\n }\n if (props.engine !== 'hermes') {\n throw new CommandError('Bytecode is only supported with the Hermes engine');\n }\n }\n\n const optimize =\n props.optimize ??\n (environment !== 'node' && mode === 'production' && env.EXPO_UNSTABLE_METRO_OPTIMIZE_GRAPH);\n\n return {\n mode,\n minify,\n preserveEnvVars,\n optimize,\n usedExports: optimize && env.EXPO_UNSTABLE_TREE_SHAKING,\n lazy: !props.isExporting && lazy,\n environment: environment === 'client' ? undefined : environment,\n ...props,\n };\n}\n\nexport function getBaseUrlFromExpoConfig(exp: ExpoConfig) {\n return exp.experiments?.baseUrl?.trim().replace(/\\/+$/, '') ?? '';\n}\n\nexport function getAsyncRoutesFromExpoConfig(exp: ExpoConfig, mode: string, platform: string) {\n let asyncRoutesSetting;\n\n if (exp.extra?.router?.asyncRoutes) {\n const asyncRoutes = exp.extra?.router?.asyncRoutes;\n if (['boolean', 'string'].includes(typeof asyncRoutes)) {\n asyncRoutesSetting = asyncRoutes;\n } else if (typeof asyncRoutes === 'object') {\n asyncRoutesSetting = asyncRoutes[platform] ?? asyncRoutes.default;\n }\n }\n\n return [mode, true].includes(asyncRoutesSetting);\n}\n\nexport function getMetroDirectBundleOptionsForExpoConfig(\n projectRoot: string,\n exp: ExpoConfig,\n options: Omit<ExpoMetroOptions, 'baseUrl' | 'reactCompiler' | 'routerRoot' | 'asyncRoutes'>\n): Partial<ExpoMetroBundleOptions> {\n return getMetroDirectBundleOptions({\n ...options,\n reactCompiler: !!exp.experiments?.reactCompiler,\n baseUrl: getBaseUrlFromExpoConfig(exp),\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n asyncRoutes: getAsyncRoutesFromExpoConfig(exp, options.mode, options.platform),\n });\n}\n\nexport function getMetroDirectBundleOptions(\n options: ExpoMetroOptions\n): Partial<ExpoMetroBundleOptions> {\n const {\n mainModuleName,\n platform,\n mode,\n minify,\n environment,\n serializerOutput,\n serializerIncludeMaps,\n bytecode,\n lazy,\n engine,\n preserveEnvVars,\n asyncRoutes,\n baseUrl,\n routerRoot,\n isExporting,\n inlineSourceMap,\n splitChunks,\n usedExports,\n reactCompiler,\n optimize,\n domRoot,\n clientBoundaries,\n runModule,\n modulesOnly,\n useMd5Filename,\n } = withDefaults(options);\n\n const dev = mode !== 'production';\n const isHermes = engine === 'hermes';\n\n if (isExporting) {\n debug('Disabling lazy bundling for export build');\n options.lazy = false;\n }\n\n let fakeSourceUrl: string | undefined;\n let fakeSourceMapUrl: string | undefined;\n\n // TODO: Upstream support to Metro for passing custom serializer options.\n if (serializerIncludeMaps != null || serializerOutput != null) {\n fakeSourceUrl = new URL(\n createBundleUrlPath(options).replace(/^\\//, ''),\n 'http://localhost:8081'\n ).toString();\n if (serializerIncludeMaps) {\n fakeSourceMapUrl = fakeSourceUrl.replace('.bundle?', '.map?');\n }\n }\n\n const customTransformOptions: ExpoMetroBundleOptions['customTransformOptions'] = {\n __proto__: null,\n optimize: optimize || undefined,\n engine,\n clientBoundaries,\n preserveEnvVars: preserveEnvVars || undefined,\n // Use string to match the query param behavior.\n asyncRoutes: asyncRoutes ? String(asyncRoutes) : undefined,\n environment,\n baseUrl: baseUrl || undefined,\n routerRoot,\n bytecode: bytecode ? '1' : undefined,\n reactCompiler: reactCompiler ? String(reactCompiler) : undefined,\n dom: domRoot,\n useMd5Filename: useMd5Filename || undefined,\n };\n\n // Iterate and delete undefined values\n for (const key in customTransformOptions) {\n if (customTransformOptions[key] === undefined) {\n delete customTransformOptions[key];\n }\n }\n\n const bundleOptions: Partial<ExpoMetroBundleOptions> = {\n platform,\n entryFile: mainModuleName,\n dev,\n minify: minify ?? !dev,\n inlineSourceMap: inlineSourceMap ?? false,\n lazy: (!isExporting && lazy) || undefined,\n unstable_transformProfile: isHermes ? 'hermes-stable' : 'default',\n customTransformOptions,\n runModule,\n modulesOnly,\n customResolverOptions: {\n __proto__: null,\n environment,\n exporting: isExporting || undefined,\n },\n sourceMapUrl: fakeSourceMapUrl,\n sourceUrl: fakeSourceUrl,\n serializerOptions: {\n splitChunks,\n usedExports: usedExports || undefined,\n output: serializerOutput,\n includeSourceMaps: serializerIncludeMaps,\n },\n };\n\n return bundleOptions;\n}\n\nexport function createBundleUrlPathFromExpoConfig(\n projectRoot: string,\n exp: ExpoConfig,\n options: Omit<ExpoMetroOptions, 'reactCompiler' | 'baseUrl' | 'routerRoot'>\n): string {\n return createBundleUrlPath({\n ...options,\n reactCompiler: !!exp.experiments?.reactCompiler,\n baseUrl: getBaseUrlFromExpoConfig(exp),\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n });\n}\n\nexport function createBundleUrlPath(options: ExpoMetroOptions): string {\n const queryParams = createBundleUrlSearchParams(options);\n return `/${encodeURI(options.mainModuleName.replace(/^\\/+/, ''))}.bundle?${queryParams.toString()}`;\n}\n\n/**\n * Create a bundle URL, containing all required query parameters, using a valid \"os path\".\n * On POSIX systems, this would look something like `/Users/../project/file.js?dev=false&..`.\n * On UNIX systems, this would look something like `C:\\Users\\..\\project\\file.js?dev=false&..`.\n * This path can safely be used with `path.*` modifiers and resolved.\n */\nexport function createBundleOsPath(options: ExpoMetroOptions): string {\n const queryParams = createBundleUrlSearchParams(options);\n const mainModuleName = toPosixPath(options.mainModuleName);\n return `${mainModuleName}.bundle?${queryParams.toString()}`;\n}\n\nexport function createBundleUrlSearchParams(options: ExpoMetroOptions): URLSearchParams {\n const {\n platform,\n mode,\n minify,\n environment,\n serializerOutput,\n serializerIncludeMaps,\n lazy,\n bytecode,\n engine,\n preserveEnvVars,\n asyncRoutes,\n baseUrl,\n routerRoot,\n reactCompiler,\n inlineSourceMap,\n isExporting,\n clientBoundaries,\n splitChunks,\n usedExports,\n optimize,\n domRoot,\n modulesOnly,\n runModule,\n } = withDefaults(options);\n\n const dev = String(mode !== 'production');\n const queryParams = new URLSearchParams({\n platform: encodeURIComponent(platform),\n dev,\n // TODO: Is this still needed?\n hot: String(false),\n });\n\n // Lazy bundling must be disabled for bundle splitting to work.\n if (!isExporting && lazy) {\n queryParams.append('lazy', String(lazy));\n }\n\n if (inlineSourceMap) {\n queryParams.append('inlineSourceMap', String(inlineSourceMap));\n }\n\n if (minify) {\n queryParams.append('minify', String(minify));\n }\n\n // We split bytecode from the engine since you could technically use Hermes without bytecode.\n // Hermes indicates the type of language features you want to transform out of the JS, whereas bytecode\n // indicates whether you want to use the Hermes bytecode format.\n if (engine) {\n queryParams.append('transform.engine', engine);\n }\n if (bytecode) {\n queryParams.append('transform.bytecode', '1');\n }\n if (asyncRoutes) {\n queryParams.append('transform.asyncRoutes', String(asyncRoutes));\n }\n if (preserveEnvVars) {\n queryParams.append('transform.preserveEnvVars', String(preserveEnvVars));\n }\n if (baseUrl) {\n queryParams.append('transform.baseUrl', baseUrl);\n }\n if (clientBoundaries?.length) {\n queryParams.append('transform.clientBoundaries', JSON.stringify(clientBoundaries));\n }\n if (routerRoot != null) {\n queryParams.append('transform.routerRoot', routerRoot);\n }\n if (reactCompiler) {\n queryParams.append('transform.reactCompiler', String(reactCompiler));\n }\n if (domRoot) {\n queryParams.append('transform.dom', domRoot);\n }\n\n if (environment) {\n queryParams.append('resolver.environment', environment);\n queryParams.append('transform.environment', environment);\n }\n\n if (isExporting) {\n queryParams.append('resolver.exporting', String(isExporting));\n }\n\n if (splitChunks) {\n queryParams.append('serializer.splitChunks', String(splitChunks));\n }\n if (usedExports) {\n queryParams.append('serializer.usedExports', String(usedExports));\n }\n if (optimize) {\n queryParams.append('transform.optimize', String(optimize));\n }\n if (serializerOutput) {\n queryParams.append('serializer.output', serializerOutput);\n }\n if (serializerIncludeMaps) {\n queryParams.append('serializer.map', String(serializerIncludeMaps));\n }\n if (engine === 'hermes') {\n queryParams.append('unstable_transformProfile', 'hermes-stable');\n }\n\n if (modulesOnly != null) {\n queryParams.set('modulesOnly', String(modulesOnly));\n }\n if (runModule != null) {\n queryParams.set('runModule', String(runModule));\n }\n\n return queryParams;\n}\n\n/**\n * Convert all path separators to `/`, including on Windows.\n * Metro asumes that all module specifiers are posix paths.\n * References to directories can still be Windows-style paths in Metro.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules#importing_features_into_your_script\n * @see https://github.com/facebook/metro/pull/1286\n */\nexport function convertPathToModuleSpecifier(pathLike: string) {\n return toPosixPath(pathLike);\n}\n\nexport function getMetroOptionsFromUrl(urlFragment: string) {\n const url = new URL(urlFragment, 'http://localhost:0');\n const getStringParam = (key: string) => {\n const param = url.searchParams.get(key);\n if (Array.isArray(param)) {\n throw new Error(`Expected single value for ${key}`);\n }\n return param;\n };\n\n let pathname = url.pathname;\n if (pathname.endsWith('.bundle')) {\n pathname = pathname.slice(0, -'.bundle'.length);\n }\n\n const options: ExpoMetroOptions = {\n mode: isTruthy(getStringParam('dev') ?? 'true') ? 'development' : 'production',\n minify: isTruthy(getStringParam('minify') ?? 'false'),\n lazy: isTruthy(getStringParam('lazy') ?? 'false'),\n routerRoot: getStringParam('transform.routerRoot') ?? 'app',\n isExporting: isTruthy(getStringParam('resolver.exporting') ?? 'false'),\n environment: assertEnvironment(getStringParam('transform.environment') ?? 'node'),\n platform: url.searchParams.get('platform') ?? 'web',\n bytecode: isTruthy(getStringParam('transform.bytecode') ?? 'false'),\n mainModuleName: convertPathToModuleSpecifier(pathname),\n reactCompiler: isTruthy(getStringParam('transform.reactCompiler') ?? 'false'),\n asyncRoutes: isTruthy(getStringParam('transform.asyncRoutes') ?? 'false'),\n baseUrl: getStringParam('transform.baseUrl') ?? undefined,\n // clientBoundaries: JSON.parse(getStringParam('transform.clientBoundaries') ?? '[]'),\n engine: assertEngine(getStringParam('transform.engine')),\n runModule: isTruthy(getStringParam('runModule') ?? 'true'),\n modulesOnly: isTruthy(getStringParam('modulesOnly') ?? 'false'),\n };\n\n return options;\n}\n\nfunction isTruthy(value: string | null): boolean {\n return value === 'true' || value === '1';\n}\n\nfunction assertEnvironment(environment: string | undefined): MetroEnvironment | undefined {\n if (!environment) {\n return undefined;\n }\n if (!['node', 'react-server', 'client'].includes(environment)) {\n throw new Error(`Expected transform.environment to be one of: node, react-server, client`);\n }\n return environment as MetroEnvironment;\n}\nfunction assertEngine(engine: string | undefined | null): 'hermes' | undefined {\n if (!engine) {\n return undefined;\n }\n if (!['hermes'].includes(engine)) {\n throw new Error(`Expected transform.engine to be one of: hermes`);\n }\n return engine as 'hermes';\n}\n"],"names":["convertPathToModuleSpecifier","createBundleOsPath","createBundleUrlPath","createBundleUrlPathFromExpoConfig","createBundleUrlSearchParams","getAsyncRoutesFromExpoConfig","getBaseUrlFromExpoConfig","getMetroDirectBundleOptions","getMetroDirectBundleOptionsForExpoConfig","getMetroOptionsFromUrl","isServerEnvironment","shouldEnableAsyncImports","debug","require","environment","projectRoot","env","EXPO_NO_METRO_LAZY","resolveFrom","silent","withDefaults","mode","minify","preserveEnvVars","EXPO_NO_CLIENT_ENV_VARS","lazy","props","bytecode","platform","CommandError","engine","optimize","EXPO_UNSTABLE_METRO_OPTIMIZE_GRAPH","usedExports","EXPO_UNSTABLE_TREE_SHAKING","isExporting","undefined","exp","experiments","baseUrl","trim","replace","asyncRoutesSetting","extra","router","asyncRoutes","includes","default","options","reactCompiler","routerRoot","getRouterDirectoryModuleIdWithManifest","mainModuleName","serializerOutput","serializerIncludeMaps","inlineSourceMap","splitChunks","domRoot","clientBoundaries","runModule","modulesOnly","useMd5Filename","dev","isHermes","fakeSourceUrl","fakeSourceMapUrl","URL","toString","customTransformOptions","__proto__","String","dom","key","bundleOptions","entryFile","unstable_transformProfile","customResolverOptions","exporting","sourceMapUrl","sourceUrl","serializerOptions","output","includeSourceMaps","queryParams","encodeURI","toPosixPath","URLSearchParams","encodeURIComponent","hot","append","length","JSON","stringify","set","pathLike","urlFragment","url","getStringParam","param","searchParams","get","Array","isArray","Error","pathname","endsWith","slice","isTruthy","assertEnvironment","assertEngine","value"],"mappings":"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"}
@@ -9,8 +9,12 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- prependMiddleware: ()=>prependMiddleware,
13
- replaceMiddlewareWith: ()=>replaceMiddlewareWith
12
+ prependMiddleware: function() {
13
+ return prependMiddleware;
14
+ },
15
+ replaceMiddlewareWith: function() {
16
+ return replaceMiddlewareWith;
17
+ }
14
18
  });
15
19
  function prependMiddleware(app, middleware) {
16
20
  app.use(middleware);
@@ -19,7 +23,7 @@ function prependMiddleware(app, middleware) {
19
23
  function replaceMiddlewareWith(app, sourceMiddleware, targetMiddleware) {
20
24
  const item = app.stack.find((middleware)=>{
21
25
  const handlerCode = middleware.handle.toString();
22
- return !handlerCode.includes("[native code]") && handlerCode === sourceMiddleware.toString();
26
+ return !handlerCode.includes('[native code]') && handlerCode === sourceMiddleware.toString();
23
27
  });
24
28
  if (item) {
25
29
  item.handle = targetMiddleware;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/server/middleware/mutations.ts"],"sourcesContent":["import type { Server as ConnectServer, HandleFunction } from 'connect';\n\n/**\n * Prepends a `middleware` to current server middleware stack.\n *\n * @param app connect app server instance\n * @param middleware target middleware to be prepended\n */\nexport function prependMiddleware(app: ConnectServer, middleware: HandleFunction) {\n app.use(middleware);\n app.stack.unshift(app.stack.pop()!);\n}\n\n/**\n * Replaces source middleware with a new middlware in connect app\n *\n * @param app connect app server instance\n * @param sourceMiddleware source middlware to be matched and replaces\n * @param targetMiddleware new middlware\n */\nexport function replaceMiddlewareWith(\n app: ConnectServer,\n sourceMiddleware: HandleFunction,\n targetMiddleware: HandleFunction\n) {\n const item = app.stack.find((middleware) => {\n const handlerCode = middleware.handle.toString();\n return !handlerCode.includes('[native code]') && handlerCode === sourceMiddleware.toString();\n });\n if (item) {\n item.handle = targetMiddleware;\n }\n}\n"],"names":["prependMiddleware","replaceMiddlewareWith","app","middleware","use","stack","unshift","pop","sourceMiddleware","targetMiddleware","item","find","handlerCode","handle","toString","includes"],"mappings":"AAAA;;;;;;;;;;;IAQgBA,iBAAiB,MAAjBA,iBAAiB;IAYjBC,qBAAqB,MAArBA,qBAAqB;;AAZ9B,SAASD,iBAAiB,CAACE,GAAkB,EAAEC,UAA0B,EAAE;IAChFD,GAAG,CAACE,GAAG,CAACD,UAAU,CAAC,CAAC;IACpBD,GAAG,CAACG,KAAK,CAACC,OAAO,CAACJ,GAAG,CAACG,KAAK,CAACE,GAAG,EAAE,CAAE,CAAC;AACtC,CAAC;AASM,SAASN,qBAAqB,CACnCC,GAAkB,EAClBM,gBAAgC,EAChCC,gBAAgC,EAChC;IACA,MAAMC,IAAI,GAAGR,GAAG,CAACG,KAAK,CAACM,IAAI,CAAC,CAACR,UAAU,GAAK;QAC1C,MAAMS,WAAW,GAAGT,UAAU,CAACU,MAAM,CAACC,QAAQ,EAAE,AAAC;QACjD,OAAO,CAACF,WAAW,CAACG,QAAQ,CAAC,eAAe,CAAC,IAAIH,WAAW,KAAKJ,gBAAgB,CAACM,QAAQ,EAAE,CAAC;IAC/F,CAAC,CAAC,AAAC;IACH,IAAIJ,IAAI,EAAE;QACRA,IAAI,CAACG,MAAM,GAAGJ,gBAAgB,CAAC;IACjC,CAAC;AACH,CAAC"}
1
+ {"version":3,"sources":["../../../../../src/start/server/middleware/mutations.ts"],"sourcesContent":["import type { Server as ConnectServer, HandleFunction } from 'connect';\n\n/**\n * Prepends a `middleware` to current server middleware stack.\n *\n * @param app connect app server instance\n * @param middleware target middleware to be prepended\n */\nexport function prependMiddleware(app: ConnectServer, middleware: HandleFunction) {\n app.use(middleware);\n app.stack.unshift(app.stack.pop()!);\n}\n\n/**\n * Replaces source middleware with a new middlware in connect app\n *\n * @param app connect app server instance\n * @param sourceMiddleware source middlware to be matched and replaces\n * @param targetMiddleware new middlware\n */\nexport function replaceMiddlewareWith(\n app: ConnectServer,\n sourceMiddleware: HandleFunction,\n targetMiddleware: HandleFunction\n) {\n const item = app.stack.find((middleware) => {\n const handlerCode = middleware.handle.toString();\n return !handlerCode.includes('[native code]') && handlerCode === sourceMiddleware.toString();\n });\n if (item) {\n item.handle = targetMiddleware;\n }\n}\n"],"names":["prependMiddleware","replaceMiddlewareWith","app","middleware","use","stack","unshift","pop","sourceMiddleware","targetMiddleware","item","find","handlerCode","handle","toString","includes"],"mappings":";;;;;;;;;;;IAQgBA,iBAAiB;eAAjBA;;IAYAC,qBAAqB;eAArBA;;;AAZT,SAASD,kBAAkBE,GAAkB,EAAEC,UAA0B;IAC9ED,IAAIE,GAAG,CAACD;IACRD,IAAIG,KAAK,CAACC,OAAO,CAACJ,IAAIG,KAAK,CAACE,GAAG;AACjC;AASO,SAASN,sBACdC,GAAkB,EAClBM,gBAAgC,EAChCC,gBAAgC;IAEhC,MAAMC,OAAOR,IAAIG,KAAK,CAACM,IAAI,CAAC,CAACR;QAC3B,MAAMS,cAAcT,WAAWU,MAAM,CAACC,QAAQ;QAC9C,OAAO,CAACF,YAAYG,QAAQ,CAAC,oBAAoBH,gBAAgBJ,iBAAiBM,QAAQ;IAC5F;IACA,IAAIJ,MAAM;QACRA,KAAKG,MAAM,GAAGJ;IAChB;AACF"}