@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
@@ -12,16 +12,18 @@ Object.defineProperty(exports, "__esModule", {
12
12
  });
13
13
  Object.defineProperty(exports, "createFallbackModuleResolver", {
14
14
  enumerable: true,
15
- get: ()=>createFallbackModuleResolver
15
+ get: function() {
16
+ return createFallbackModuleResolver;
17
+ }
16
18
  });
17
19
  function _path() {
18
- const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
20
+ const data = /*#__PURE__*/ _interop_require_default(require("path"));
19
21
  _path = function() {
20
22
  return data;
21
23
  };
22
24
  return data;
23
25
  }
24
- function _interopRequireDefault(obj) {
26
+ function _interop_require_default(obj) {
25
27
  return obj && obj.__esModule ? obj : {
26
28
  default: obj
27
29
  };
@@ -36,19 +38,19 @@ function _interopRequireDefault(obj) {
36
38
  * forget to specify their own dependencies, rather than what we use ourselves
37
39
  * only in `expo` and `expo-router`.
38
40
  */ const EXCLUDE_ORIGIN_MODULES = {
39
- "@expo/config": true,
40
- "@expo/config-plugins": true,
41
- "schema-utils": true,
41
+ '@expo/config': true,
42
+ '@expo/config-plugins': true,
43
+ 'schema-utils': true,
42
44
  semver: true
43
45
  };
44
- const debug = require("debug")("expo:start:server:metro:fallback-resolver");
45
- /** Converts a list of module names to a regex that may either match bare module names or sub-modules of modules */ const dependenciesToRegex = (dependencies)=>new RegExp(`^(?:${dependencies.join("|")})(?:$|/)`);
46
+ const debug = require('debug')('expo:start:server:metro:fallback-resolver');
47
+ /** Converts a list of module names to a regex that may either match bare module names or sub-modules of modules */ const dependenciesToRegex = (dependencies)=>new RegExp(`^(?:${dependencies.join('|')})(?:$|/)`);
46
48
  /** Resolves an origin module and outputs a filter regex and target path for it */ const getModuleDescriptionWithResolver = (context, resolve, originModuleName)=>{
47
49
  let filePath;
48
50
  let packageMeta;
49
51
  try {
50
52
  const resolution = resolve(`${originModuleName}/package.json`);
51
- if (resolution.type !== "sourceFile") {
53
+ if (resolution.type !== 'sourceFile') {
52
54
  debug(`Fallback module resolution failed for origin module: ${originModuleName})`);
53
55
  return null;
54
56
  }
@@ -76,7 +78,7 @@ const debug = require("debug")("expo:start:server:metro:fallback-resolver");
76
78
  if (peerDependenciesMeta) {
77
79
  peerDependencies = peerDependencies.filter((dependency)=>{
78
80
  const peerMeta = peerDependenciesMeta[dependency];
79
- return peerMeta && typeof peerMeta === "object" && peerMeta.optional === true;
81
+ return peerMeta && typeof peerMeta === 'object' && peerMeta.optional === true;
80
82
  });
81
83
  }
82
84
  dependencies.push(...peerDependencies);
@@ -93,7 +95,7 @@ const debug = require("debug")("expo:start:server:metro:fallback-resolver");
93
95
  moduleTestRe: dependenciesToRegex(dependencies)
94
96
  } : null;
95
97
  };
96
- function createFallbackModuleResolver({ originModuleNames , getStrictResolver }) {
98
+ function createFallbackModuleResolver({ originModuleNames, getStrictResolver }) {
97
99
  const _moduleDescriptionsCache = {};
98
100
  const getModuleDescription = (immutableContext, originModuleName, platform)=>{
99
101
  if (_moduleDescriptionsCache[originModuleName] !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/server/metro/createExpoFallbackResolver.ts"],"sourcesContent":["// This file creates the fallback resolver\n// The fallback resolver applies only to module imports and should be the last resolver\n// in the chain. It applies to failed Node module resolution of modules and will attempt\n// to resolve them to `expo` and `expo-router` dependencies that couldn't be resolved.\n// This resolves isolated dependency issues, where we expect dependencies of `expo`\n// and `expo-router` to be resolvable, due to hoisting, but they aren't hoisted in\n// a user's project.\n// See: https://github.com/expo/expo/pull/34286\n\nimport type { ResolutionContext } from 'metro-resolver';\nimport path from 'path';\n\nimport type { StrictResolver, StrictResolverFactory } from './withMetroMultiPlatform';\nimport type { ExpoCustomMetroResolver } from './withMetroResolvers';\n\n/** A record of dependencies that we know are only used for scripts and config-plugins\n * @privateRemarks\n * This includes dependencies we never resolve indirectly. Generally, we only want\n * to add fallback resolutions for dependencies of `expo` and `expo-router` that\n * are either transpiled into output code or resolved from other Expo packages\n * without them having direct dependencies on these dependencies.\n * Meaning: If you update this list, exclude what a user might use when they\n * forget to specify their own dependencies, rather than what we use ourselves\n * only in `expo` and `expo-router`.\n */\nconst EXCLUDE_ORIGIN_MODULES: Record<string, true | undefined> = {\n '@expo/config': true,\n '@expo/config-plugins': true,\n 'schema-utils': true, // Used by `expo-router/plugin`\n semver: true, // Used by `expo-router/doctor`\n};\n\ninterface PackageMetaPeerDependenciesMetaEntry {\n [propName: string]: unknown;\n optional?: boolean;\n}\n\ninterface PackageMeta {\n readonly [propName: string]: unknown;\n readonly name?: string;\n readonly main?: string;\n readonly exports?: any; // unused\n readonly dependencies?: Record<string, unknown>;\n readonly peerDependencies?: Record<string, unknown>;\n readonly peerDependenciesMeta?: Record<\n string,\n PackageMetaPeerDependenciesMetaEntry | undefined | null\n >;\n}\n\ninterface ModuleDescription {\n originModulePath: string;\n moduleTestRe: RegExp;\n}\n\nconst debug = require('debug')('expo:start:server:metro:fallback-resolver') as typeof console.log;\n\n/** Converts a list of module names to a regex that may either match bare module names or sub-modules of modules */\nconst dependenciesToRegex = (dependencies: string[]) =>\n new RegExp(`^(?:${dependencies.join('|')})(?:$|/)`);\n\n/** Resolves an origin module and outputs a filter regex and target path for it */\nconst getModuleDescriptionWithResolver = (\n context: ResolutionContext,\n resolve: StrictResolver,\n originModuleName: string\n): ModuleDescription | null => {\n let filePath: string | undefined;\n let packageMeta: PackageMeta | undefined | null;\n try {\n const resolution = resolve(`${originModuleName}/package.json`);\n if (resolution.type !== 'sourceFile') {\n debug(`Fallback module resolution failed for origin module: ${originModuleName})`);\n return null;\n }\n filePath = resolution.filePath;\n packageMeta = context.getPackage(filePath);\n if (!packageMeta) {\n return null;\n }\n } catch (error: any) {\n debug(\n `Fallback module resolution threw: ${error.constructor.name}. (module: ${filePath || originModuleName})`\n );\n return null;\n }\n let dependencies: string[] = [];\n if (packageMeta.dependencies) dependencies.push(...Object.keys(packageMeta.dependencies));\n if (packageMeta.peerDependencies) {\n const peerDependenciesMeta = packageMeta.peerDependenciesMeta;\n let peerDependencies = Object.keys(packageMeta.peerDependencies);\n // We explicitly include non-optional peer dependencies. Non-optional peer dependencies of\n // `expo` and `expo-router` are either expected to be accessible on a project-level, since\n // both are meant to be installed is direct dependencies, or shouldn't be accessible when\n // they're fulfilled as isolated dependencies.\n // The exception are only *optional* peer dependencies, since when they're installed\n // automatically by newer package manager behaviour, they may become isolated dependencies\n // that we still wish to access.\n if (peerDependenciesMeta) {\n peerDependencies = peerDependencies.filter((dependency) => {\n const peerMeta = peerDependenciesMeta[dependency];\n return peerMeta && typeof peerMeta === 'object' && peerMeta.optional === true;\n });\n }\n dependencies.push(...peerDependencies);\n }\n // We deduplicate the dependencies and exclude modules that we know are only used for scripts or config-plugins\n dependencies = dependencies.filter((moduleName, index, dependenciesArr) => {\n if (EXCLUDE_ORIGIN_MODULES[moduleName]) return false;\n return dependenciesArr.indexOf(moduleName) === index;\n });\n // Return test regex for dependencies and full origin module path to resolve through\n const originModulePath = path.dirname(filePath);\n return dependencies.length\n ? { originModulePath, moduleTestRe: dependenciesToRegex(dependencies) }\n : null;\n};\n\n/** Creates a fallback module resolver that resolves dependencis of modules named in `originModuleNames` via their path.\n * @remarks\n * The fallback resolver targets modules dependended on by modules named in `originModuleNames` and resolves\n * them from the module root of these origin modules instead.\n * It should only be used as a fallback after normal Node resolution (and other resolvers) have failed for:\n * - the `expo` package\n * - the `expo-router` package\n * Dependencies mentioned as either optional peer dependencies or direct dependencies by these modules may be isolated\n * and inaccessible via standard Node module resolution. This may happen when either transpilation adds these\n * dependencies to other parts of the tree (e.g. `@babel/runtime`) or when a dependency fails to hoist due to either\n * a corrupted dependency tree or when a peer dependency is fulfilled incorrectly (e.g. `expo-asset`)\n * @privateRemarks\n * This does NOT follow Node resolution and is *only* intended to provide a fallback for modules that we depend on\n * ourselves and know we can resolve (via expo or expo-router)!\n */\nexport function createFallbackModuleResolver({\n originModuleNames,\n getStrictResolver,\n}: {\n originModuleNames: string[];\n getStrictResolver: StrictResolverFactory;\n}): ExpoCustomMetroResolver {\n const _moduleDescriptionsCache: Record<string, ModuleDescription | null> = {};\n\n const getModuleDescription = (\n immutableContext: ResolutionContext,\n originModuleName: string,\n platform: string | null\n ) => {\n if (_moduleDescriptionsCache[originModuleName] !== undefined) {\n return _moduleDescriptionsCache[originModuleName];\n }\n // Resolve the origin module itself through `<module>/.`\n const context: ResolutionContext = {\n ...immutableContext,\n originModulePath: `${originModuleName}/package.json`,\n };\n return (_moduleDescriptionsCache[originModuleName] = getModuleDescriptionWithResolver(\n context,\n getStrictResolver(context, platform),\n originModuleName\n ));\n };\n\n const fileSpecifierRe = /^[\\\\/]|^\\.\\.?(?:$|[\\\\/])/i;\n\n return function requestFallbackModule(immutableContext, moduleName, platform) {\n // Early return if `moduleName` cannot be a module specifier\n // This doesn't have to be accurate as this resolver is a fallback for failed resolutions and\n // we're only doing this to avoid unnecessary resolution work\n if (fileSpecifierRe.test(moduleName)) {\n return null;\n }\n\n for (const originModuleName of originModuleNames) {\n const moduleDescription = getModuleDescription(immutableContext, originModuleName, platform);\n if (moduleDescription && moduleDescription.moduleTestRe.test(moduleName)) {\n // We instead resolve as if it was depended on by the `originModulePath` (the module named in `originModuleNames`)\n const context: ResolutionContext = {\n ...immutableContext,\n nodeModulesPaths: [moduleDescription.originModulePath],\n originModulePath: moduleDescription.originModulePath,\n };\n const res = getStrictResolver(context, platform)(moduleName);\n debug(\n `Fallback resolution for ${platform}: ${moduleName} -> from origin: ${originModuleName}`\n );\n return res;\n }\n }\n\n return null;\n };\n}\n"],"names":["createFallbackModuleResolver","EXCLUDE_ORIGIN_MODULES","semver","debug","require","dependenciesToRegex","dependencies","RegExp","join","getModuleDescriptionWithResolver","context","resolve","originModuleName","filePath","packageMeta","resolution","type","getPackage","error","constructor","name","push","Object","keys","peerDependencies","peerDependenciesMeta","filter","dependency","peerMeta","optional","moduleName","index","dependenciesArr","indexOf","originModulePath","path","dirname","length","moduleTestRe","originModuleNames","getStrictResolver","_moduleDescriptionsCache","getModuleDescription","immutableContext","platform","undefined","fileSpecifierRe","requestFallbackModule","test","moduleDescription","nodeModulesPaths","res"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/createExpoFallbackResolver.ts"],"sourcesContent":["// This file creates the fallback resolver\n// The fallback resolver applies only to module imports and should be the last resolver\n// in the chain. It applies to failed Node module resolution of modules and will attempt\n// to resolve them to `expo` and `expo-router` dependencies that couldn't be resolved.\n// This resolves isolated dependency issues, where we expect dependencies of `expo`\n// and `expo-router` to be resolvable, due to hoisting, but they aren't hoisted in\n// a user's project.\n// See: https://github.com/expo/expo/pull/34286\n\nimport type { ResolutionContext } from 'metro-resolver';\nimport path from 'path';\n\nimport type { StrictResolver, StrictResolverFactory } from './withMetroMultiPlatform';\nimport type { ExpoCustomMetroResolver } from './withMetroResolvers';\n\n/** A record of dependencies that we know are only used for scripts and config-plugins\n * @privateRemarks\n * This includes dependencies we never resolve indirectly. Generally, we only want\n * to add fallback resolutions for dependencies of `expo` and `expo-router` that\n * are either transpiled into output code or resolved from other Expo packages\n * without them having direct dependencies on these dependencies.\n * Meaning: If you update this list, exclude what a user might use when they\n * forget to specify their own dependencies, rather than what we use ourselves\n * only in `expo` and `expo-router`.\n */\nconst EXCLUDE_ORIGIN_MODULES: Record<string, true | undefined> = {\n '@expo/config': true,\n '@expo/config-plugins': true,\n 'schema-utils': true, // Used by `expo-router/plugin`\n semver: true, // Used by `expo-router/doctor`\n};\n\ninterface PackageMetaPeerDependenciesMetaEntry {\n [propName: string]: unknown;\n optional?: boolean;\n}\n\ninterface PackageMeta {\n readonly [propName: string]: unknown;\n readonly name?: string;\n readonly main?: string;\n readonly exports?: any; // unused\n readonly dependencies?: Record<string, unknown>;\n readonly peerDependencies?: Record<string, unknown>;\n readonly peerDependenciesMeta?: Record<\n string,\n PackageMetaPeerDependenciesMetaEntry | undefined | null\n >;\n}\n\ninterface ModuleDescription {\n originModulePath: string;\n moduleTestRe: RegExp;\n}\n\nconst debug = require('debug')('expo:start:server:metro:fallback-resolver') as typeof console.log;\n\n/** Converts a list of module names to a regex that may either match bare module names or sub-modules of modules */\nconst dependenciesToRegex = (dependencies: string[]) =>\n new RegExp(`^(?:${dependencies.join('|')})(?:$|/)`);\n\n/** Resolves an origin module and outputs a filter regex and target path for it */\nconst getModuleDescriptionWithResolver = (\n context: ResolutionContext,\n resolve: StrictResolver,\n originModuleName: string\n): ModuleDescription | null => {\n let filePath: string | undefined;\n let packageMeta: PackageMeta | undefined | null;\n try {\n const resolution = resolve(`${originModuleName}/package.json`);\n if (resolution.type !== 'sourceFile') {\n debug(`Fallback module resolution failed for origin module: ${originModuleName})`);\n return null;\n }\n filePath = resolution.filePath;\n packageMeta = context.getPackage(filePath);\n if (!packageMeta) {\n return null;\n }\n } catch (error: any) {\n debug(\n `Fallback module resolution threw: ${error.constructor.name}. (module: ${filePath || originModuleName})`\n );\n return null;\n }\n let dependencies: string[] = [];\n if (packageMeta.dependencies) dependencies.push(...Object.keys(packageMeta.dependencies));\n if (packageMeta.peerDependencies) {\n const peerDependenciesMeta = packageMeta.peerDependenciesMeta;\n let peerDependencies = Object.keys(packageMeta.peerDependencies);\n // We explicitly include non-optional peer dependencies. Non-optional peer dependencies of\n // `expo` and `expo-router` are either expected to be accessible on a project-level, since\n // both are meant to be installed is direct dependencies, or shouldn't be accessible when\n // they're fulfilled as isolated dependencies.\n // The exception are only *optional* peer dependencies, since when they're installed\n // automatically by newer package manager behaviour, they may become isolated dependencies\n // that we still wish to access.\n if (peerDependenciesMeta) {\n peerDependencies = peerDependencies.filter((dependency) => {\n const peerMeta = peerDependenciesMeta[dependency];\n return peerMeta && typeof peerMeta === 'object' && peerMeta.optional === true;\n });\n }\n dependencies.push(...peerDependencies);\n }\n // We deduplicate the dependencies and exclude modules that we know are only used for scripts or config-plugins\n dependencies = dependencies.filter((moduleName, index, dependenciesArr) => {\n if (EXCLUDE_ORIGIN_MODULES[moduleName]) return false;\n return dependenciesArr.indexOf(moduleName) === index;\n });\n // Return test regex for dependencies and full origin module path to resolve through\n const originModulePath = path.dirname(filePath);\n return dependencies.length\n ? { originModulePath, moduleTestRe: dependenciesToRegex(dependencies) }\n : null;\n};\n\n/** Creates a fallback module resolver that resolves dependencis of modules named in `originModuleNames` via their path.\n * @remarks\n * The fallback resolver targets modules dependended on by modules named in `originModuleNames` and resolves\n * them from the module root of these origin modules instead.\n * It should only be used as a fallback after normal Node resolution (and other resolvers) have failed for:\n * - the `expo` package\n * - the `expo-router` package\n * Dependencies mentioned as either optional peer dependencies or direct dependencies by these modules may be isolated\n * and inaccessible via standard Node module resolution. This may happen when either transpilation adds these\n * dependencies to other parts of the tree (e.g. `@babel/runtime`) or when a dependency fails to hoist due to either\n * a corrupted dependency tree or when a peer dependency is fulfilled incorrectly (e.g. `expo-asset`)\n * @privateRemarks\n * This does NOT follow Node resolution and is *only* intended to provide a fallback for modules that we depend on\n * ourselves and know we can resolve (via expo or expo-router)!\n */\nexport function createFallbackModuleResolver({\n originModuleNames,\n getStrictResolver,\n}: {\n originModuleNames: string[];\n getStrictResolver: StrictResolverFactory;\n}): ExpoCustomMetroResolver {\n const _moduleDescriptionsCache: Record<string, ModuleDescription | null> = {};\n\n const getModuleDescription = (\n immutableContext: ResolutionContext,\n originModuleName: string,\n platform: string | null\n ) => {\n if (_moduleDescriptionsCache[originModuleName] !== undefined) {\n return _moduleDescriptionsCache[originModuleName];\n }\n // Resolve the origin module itself through `<module>/.`\n const context: ResolutionContext = {\n ...immutableContext,\n originModulePath: `${originModuleName}/package.json`,\n };\n return (_moduleDescriptionsCache[originModuleName] = getModuleDescriptionWithResolver(\n context,\n getStrictResolver(context, platform),\n originModuleName\n ));\n };\n\n const fileSpecifierRe = /^[\\\\/]|^\\.\\.?(?:$|[\\\\/])/i;\n\n return function requestFallbackModule(immutableContext, moduleName, platform) {\n // Early return if `moduleName` cannot be a module specifier\n // This doesn't have to be accurate as this resolver is a fallback for failed resolutions and\n // we're only doing this to avoid unnecessary resolution work\n if (fileSpecifierRe.test(moduleName)) {\n return null;\n }\n\n for (const originModuleName of originModuleNames) {\n const moduleDescription = getModuleDescription(immutableContext, originModuleName, platform);\n if (moduleDescription && moduleDescription.moduleTestRe.test(moduleName)) {\n // We instead resolve as if it was depended on by the `originModulePath` (the module named in `originModuleNames`)\n const context: ResolutionContext = {\n ...immutableContext,\n nodeModulesPaths: [moduleDescription.originModulePath],\n originModulePath: moduleDescription.originModulePath,\n };\n const res = getStrictResolver(context, platform)(moduleName);\n debug(\n `Fallback resolution for ${platform}: ${moduleName} -> from origin: ${originModuleName}`\n );\n return res;\n }\n }\n\n return null;\n };\n}\n"],"names":["createFallbackModuleResolver","EXCLUDE_ORIGIN_MODULES","semver","debug","require","dependenciesToRegex","dependencies","RegExp","join","getModuleDescriptionWithResolver","context","resolve","originModuleName","filePath","packageMeta","resolution","type","getPackage","error","constructor","name","push","Object","keys","peerDependencies","peerDependenciesMeta","filter","dependency","peerMeta","optional","moduleName","index","dependenciesArr","indexOf","originModulePath","path","dirname","length","moduleTestRe","originModuleNames","getStrictResolver","_moduleDescriptionsCache","getModuleDescription","immutableContext","platform","undefined","fileSpecifierRe","requestFallbackModule","test","moduleDescription","nodeModulesPaths","res"],"mappings":"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"}
@@ -14,58 +14,64 @@ function _export(target, all) {
14
14
  });
15
15
  }
16
16
  _export(exports, {
17
- FailedToResolvePathError: ()=>FailedToResolvePathError,
18
- createFastResolver: ()=>createFastResolver
17
+ FailedToResolvePathError: function() {
18
+ return FailedToResolvePathError;
19
+ },
20
+ createFastResolver: function() {
21
+ return createFastResolver;
22
+ }
19
23
  });
20
24
  function _fs() {
21
- const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
25
+ const data = /*#__PURE__*/ _interop_require_default(require("fs"));
22
26
  _fs = function() {
23
27
  return data;
24
28
  };
25
29
  return data;
26
30
  }
27
31
  function _path() {
28
- const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
32
+ const data = /*#__PURE__*/ _interop_require_default(require("path"));
29
33
  _path = function() {
30
34
  return data;
31
35
  };
32
36
  return data;
33
37
  }
34
- const _createJResolver = /*#__PURE__*/ _interopRequireDefault(require("./createJResolver"));
38
+ const _createJResolver = /*#__PURE__*/ _interop_require_default(require("./createJResolver"));
35
39
  const _externals = require("./externals");
36
40
  const _formatFileCandidates = require("./formatFileCandidates");
37
41
  const _metroOptions = require("../middleware/metroOptions");
38
- function _interopRequireDefault(obj) {
42
+ function _interop_require_default(obj) {
39
43
  return obj && obj.__esModule ? obj : {
40
44
  default: obj
41
45
  };
42
46
  }
43
47
  class FailedToResolvePathError extends Error {
44
- // Added to ensure the error is matched by our tooling.
45
- // TODO: Test that this matches `isFailedToResolvePathError`
46
- candidates = {};
48
+ constructor(...args){
49
+ super(...args), // Added to ensure the error is matched by our tooling.
50
+ // TODO: Test that this matches `isFailedToResolvePathError`
51
+ this.candidates = {};
52
+ }
47
53
  }
48
54
  class ShimModuleError extends Error {
49
55
  }
50
- const debug = require("debug")("expo:metro:resolve");
51
- const realpathFS = process.platform !== "win32" && _fs().default.realpathSync && typeof _fs().default.realpathSync.native === "function" ? _fs().default.realpathSync.native : _fs().default.realpathSync;
56
+ const debug = require('debug')('expo:metro:resolve');
57
+ const realpathFS = process.platform !== 'win32' && _fs().default.realpathSync && typeof _fs().default.realpathSync.native === 'function' ? _fs().default.realpathSync.native : _fs().default.realpathSync;
52
58
  function realpathSync(x) {
53
59
  try {
54
60
  return realpathFS(x);
55
61
  } catch (realpathErr) {
56
- if (realpathErr.code !== "ENOENT") {
62
+ if (realpathErr.code !== 'ENOENT') {
57
63
  throw realpathErr;
58
64
  }
59
65
  }
60
66
  return x;
61
67
  }
62
- function createFastResolver({ preserveSymlinks , blockList }) {
63
- debug("Creating with settings:", {
68
+ function createFastResolver({ preserveSymlinks, blockList }) {
69
+ debug('Creating with settings:', {
64
70
  preserveSymlinks,
65
71
  blockList
66
72
  });
67
73
  const cachedExtensions = new Map();
68
- function getAdjustedExtensions({ metroSourceExtensions , platform , isNative }) {
74
+ function getAdjustedExtensions({ metroSourceExtensions, platform, isNative }) {
69
75
  const key = JSON.stringify({
70
76
  metroSourceExtensions,
71
77
  platform,
@@ -93,8 +99,8 @@ function createFastResolver({ preserveSymlinks , blockList }) {
93
99
  return output;
94
100
  }
95
101
  function fastResolve(context, moduleName, platform) {
96
- var ref;
97
- const environment = (ref = context.customResolverOptions) == null ? void 0 : ref.environment;
102
+ var _context_customResolverOptions;
103
+ const environment = (_context_customResolverOptions = context.customResolverOptions) == null ? void 0 : _context_customResolverOptions.environment;
98
104
  const isServer = (0, _metroOptions.isServerEnvironment)(environment);
99
105
  const extensions = getAdjustedExtensions({
100
106
  metroSourceExtensions: context.sourceExts,
@@ -104,16 +110,16 @@ function createFastResolver({ preserveSymlinks , blockList }) {
104
110
  let fp;
105
111
  const conditions = context.unstable_enablePackageExports ? [
106
112
  ...new Set([
107
- "default",
108
- context.isESMImport === true ? "import" : "require",
113
+ 'default',
114
+ context.isESMImport === true ? 'import' : 'require',
109
115
  ...context.unstable_conditionNames,
110
- ...platform != null ? context.unstable_conditionsByPlatform[platform] ?? [] : [],
111
- ]),
116
+ ...platform != null ? context.unstable_conditionsByPlatform[platform] ?? [] : []
117
+ ])
112
118
  ] : [];
113
119
  // NOTE(cedric): metro@0.81.0 ships with `fileSystemLookup`, while `metro@0.80.12` ships as unstable
114
- const fileSystemLookup = "unstable_fileSystemLookup" in context ? context.unstable_fileSystemLookup : context.fileSystemLookup;
120
+ const fileSystemLookup = 'unstable_fileSystemLookup' in context ? context.unstable_fileSystemLookup : context.fileSystemLookup;
115
121
  if (!fileSystemLookup) {
116
- throw new Error("Metro API fileSystemLookup is required for fast resolver");
122
+ throw new Error('Metro API fileSystemLookup is required for fast resolver');
117
123
  }
118
124
  try {
119
125
  fp = (0, _createJResolver.default)(moduleName, {
@@ -136,11 +142,11 @@ function createFastResolver({ preserveSymlinks , blockList }) {
136
142
  },
137
143
  isDirectory (file) {
138
144
  const res = fileSystemLookup(file);
139
- return res.exists && res.type === "d";
145
+ return res.exists && res.type === 'd';
140
146
  },
141
147
  isFile (file) {
142
148
  const res = fileSystemLookup(file);
143
- return res.exists && res.type === "f";
149
+ return res.exists && res.type === 'f';
144
150
  },
145
151
  pathExists (file) {
146
152
  return fileSystemLookup(file).exists;
@@ -149,7 +155,7 @@ function createFastResolver({ preserveSymlinks , blockList }) {
149
155
  // set the pkg.main to the first available field in context.mainFields
150
156
  for (const field of context.mainFields){
151
157
  if (pkg[field] && // object-inspect uses browser: {} in package.json
152
- typeof pkg[field] === "string") {
158
+ typeof pkg[field] === 'string') {
153
159
  return {
154
160
  ...pkg,
155
161
  main: pkg[field]
@@ -162,22 +168,22 @@ function createFastResolver({ preserveSymlinks , blockList }) {
162
168
  // the app doesn't finish without it.
163
169
  preserveSymlinks,
164
170
  readPackageSync (readFileSync, pkgFile) {
165
- return context.getPackage(pkgFile) ?? JSON.parse(_fs().default.readFileSync(pkgFile, "utf8"));
171
+ return context.getPackage(pkgFile) ?? JSON.parse(_fs().default.readFileSync(pkgFile, 'utf8'));
166
172
  },
167
173
  includeCoreModules: isServer,
168
174
  pathFilter: // Disable `browser` field for server environments.
169
175
  isServer ? undefined : (pkg, _resolvedPath, relativePathIn)=>{
170
176
  let relativePath = relativePathIn;
171
- if (relativePath[0] !== ".") {
177
+ if (relativePath[0] !== '.') {
172
178
  relativePath = `./${relativePath}`;
173
179
  }
174
180
  const replacements = pkg.browser;
175
181
  if (replacements === undefined) {
176
- return "";
182
+ return '';
177
183
  }
178
184
  // TODO: Probably use a better extension matching system here.
179
185
  // This was added for `uuid/v4` -> `./lib/rng` -> `./lib/rng-browser.js`
180
- const mappedPath = replacements[relativePath] ?? replacements[relativePath + ".js"];
186
+ const mappedPath = replacements[relativePath] ?? replacements[relativePath + '.js'];
181
187
  if (mappedPath === false) {
182
188
  throw new ShimModuleError();
183
189
  }
@@ -187,14 +193,14 @@ function createFastResolver({ preserveSymlinks , blockList }) {
187
193
  } catch (error) {
188
194
  if (error instanceof ShimModuleError) {
189
195
  return {
190
- type: "empty"
196
+ type: 'empty'
191
197
  };
192
198
  }
193
- if ("code" in error && error.code === "MODULE_NOT_FOUND") {
199
+ if ('code' in error && error.code === 'MODULE_NOT_FOUND') {
194
200
  if ((0, _externals.isNodeExternal)(moduleName)) {
195
201
  // In this case, mock the file to use an empty module.
196
202
  return {
197
- type: "empty"
203
+ type: 'empty'
198
204
  };
199
205
  }
200
206
  debug({
@@ -204,8 +210,8 @@ function createFastResolver({ preserveSymlinks , blockList }) {
204
210
  isServer,
205
211
  preserveSymlinks
206
212
  }, context);
207
- throw new FailedToResolvePathError("The module could not be resolved because no file or module matched the pattern:\n" + ` ${(0, _formatFileCandidates.formatFileCandidates)({
208
- type: "sourceFile",
213
+ throw new FailedToResolvePathError('The module could not be resolved because no file or module matched the pattern:\n' + ` ${(0, _formatFileCandidates.formatFileCandidates)({
214
+ type: 'sourceFile',
209
215
  filePathPrefix: moduleName,
210
216
  candidateExts: extensions
211
217
  }, true)}\n\nFrom:\n ${context.originModulePath}\n`);
@@ -214,29 +220,29 @@ function createFastResolver({ preserveSymlinks , blockList }) {
214
220
  }
215
221
  if (context.sourceExts.some((ext)=>fp.endsWith(ext))) {
216
222
  return {
217
- type: "sourceFile",
223
+ type: 'sourceFile',
218
224
  filePath: fp
219
225
  };
220
226
  }
221
227
  if ((0, _externals.isNodeExternal)(fp)) {
222
228
  if (isServer) {
223
229
  return {
224
- type: "sourceFile",
230
+ type: 'sourceFile',
225
231
  filePath: fp
226
232
  };
227
233
  }
228
234
  // NOTE: This shouldn't happen, the module should throw.
229
235
  // Mock non-server built-in modules to empty.
230
236
  return {
231
- type: "empty"
237
+ type: 'empty'
232
238
  };
233
239
  }
234
240
  // NOTE: platform extensions may not be supported on assets.
235
- if (platform === "web") {
241
+ if (platform === 'web') {
236
242
  // Skip multi-resolution on web/server bundles. Only consideration here is that
237
243
  // we may still need it in case the only image is a multi-resolution image.
238
244
  return {
239
- type: "assetFiles",
245
+ type: 'assetFiles',
240
246
  filePaths: [
241
247
  fp
242
248
  ]
@@ -246,7 +252,7 @@ function createFastResolver({ preserveSymlinks , blockList }) {
246
252
  const extension = _path().default.extname(fp);
247
253
  const basename = _path().default.basename(fp, extension);
248
254
  return {
249
- type: "assetFiles",
255
+ type: 'assetFiles',
250
256
  // Support multi-resolution asset extensions...
251
257
  filePaths: context.resolveAsset(dirPath, basename, extension) ?? [
252
258
  fp
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/server/metro/createExpoMetroResolver.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport fs from 'fs';\nimport { Resolution, ResolutionContext } from 'metro-resolver';\nimport path from 'path';\n\nimport jestResolver from './createJResolver';\nimport { isNodeExternal } from './externals';\nimport { formatFileCandidates } from './formatFileCandidates';\nimport { isServerEnvironment } from '../middleware/metroOptions';\n\nexport class FailedToResolvePathError extends Error {\n // Added to ensure the error is matched by our tooling.\n // TODO: Test that this matches `isFailedToResolvePathError`\n candidates = {};\n}\n\nclass ShimModuleError extends Error {}\n\nconst debug = require('debug')('expo:metro:resolve') as typeof console.log;\n\nconst realpathFS =\n process.platform !== 'win32' && fs.realpathSync && typeof fs.realpathSync.native === 'function'\n ? fs.realpathSync.native\n : fs.realpathSync;\n\nfunction realpathSync(x: string) {\n try {\n return realpathFS(x);\n } catch (realpathErr: any) {\n if (realpathErr.code !== 'ENOENT') {\n throw realpathErr;\n }\n }\n return x;\n}\n\nexport function createFastResolver({\n preserveSymlinks,\n blockList,\n}: {\n preserveSymlinks: boolean;\n blockList: RegExp[];\n}) {\n debug('Creating with settings:', { preserveSymlinks, blockList });\n const cachedExtensions: Map<string, readonly string[]> = new Map();\n\n function getAdjustedExtensions({\n metroSourceExtensions,\n platform,\n isNative,\n }: {\n metroSourceExtensions: readonly string[];\n platform: string | null;\n isNative: boolean;\n }): readonly string[] {\n const key = JSON.stringify({ metroSourceExtensions, platform, isNative });\n if (cachedExtensions.has(key)) {\n return cachedExtensions.get(key)!;\n }\n\n let output = metroSourceExtensions;\n if (platform) {\n const nextOutput: string[] = [];\n\n output.forEach((ext) => {\n nextOutput.push(`${platform}.${ext}`);\n if (isNative) {\n nextOutput.push(`native.${ext}`);\n }\n nextOutput.push(ext);\n });\n\n output = nextOutput;\n }\n\n output = Array.from(new Set<string>(output));\n\n // resolve expects these to start with a dot.\n output = output.map((ext) => `.${ext}`);\n\n cachedExtensions.set(key, output);\n\n return output;\n }\n\n function fastResolve(\n context: Pick<\n ResolutionContext,\n | 'unstable_enablePackageExports'\n | 'customResolverOptions'\n | 'sourceExts'\n | 'preferNativePlatform'\n | 'originModulePath'\n | 'getPackage'\n | 'nodeModulesPaths'\n | 'mainFields'\n | 'resolveAsset'\n | 'unstable_conditionNames'\n | 'unstable_conditionsByPlatform'\n | 'fileSystemLookup'\n | 'isESMImport'\n >,\n moduleName: string,\n platform: string | null\n ): Resolution {\n const environment = context.customResolverOptions?.environment;\n const isServer = isServerEnvironment(environment);\n\n const extensions = getAdjustedExtensions({\n metroSourceExtensions: context.sourceExts,\n platform,\n isNative: context.preferNativePlatform,\n }) as string[];\n\n let fp: string;\n\n const conditions = context.unstable_enablePackageExports\n ? [\n ...new Set([\n 'default',\n context.isESMImport === true ? 'import' : 'require',\n ...context.unstable_conditionNames,\n ...(platform != null ? (context.unstable_conditionsByPlatform[platform] ?? []) : []),\n ]),\n ]\n : [];\n\n // NOTE(cedric): metro@0.81.0 ships with `fileSystemLookup`, while `metro@0.80.12` ships as unstable\n const fileSystemLookup = (\n 'unstable_fileSystemLookup' in context\n ? context.unstable_fileSystemLookup\n : context.fileSystemLookup\n ) as ResolutionContext['fileSystemLookup'] | undefined;\n\n if (!fileSystemLookup) {\n throw new Error('Metro API fileSystemLookup is required for fast resolver');\n }\n\n try {\n fp = jestResolver(moduleName, {\n blockList,\n enablePackageExports: context.unstable_enablePackageExports,\n basedir: path.dirname(context.originModulePath),\n moduleDirectory: context.nodeModulesPaths.length\n ? (context.nodeModulesPaths as string[])\n : undefined,\n extensions,\n conditions,\n realpathSync(file: string): string {\n let metroRealPath: string | null = null;\n\n const res = fileSystemLookup(file);\n if (res?.exists) {\n metroRealPath = res.realPath;\n }\n\n if (metroRealPath == null && preserveSymlinks) {\n return realpathSync(file);\n }\n return metroRealPath ?? file;\n },\n isDirectory(file: string): boolean {\n const res = fileSystemLookup(file);\n return res.exists && res.type === 'd';\n },\n isFile(file: string): boolean {\n const res = fileSystemLookup(file);\n return res.exists && res.type === 'f';\n },\n pathExists(file: string): boolean {\n return fileSystemLookup(file).exists;\n },\n packageFilter(pkg) {\n // set the pkg.main to the first available field in context.mainFields\n for (const field of context.mainFields) {\n if (\n pkg[field] &&\n // object-inspect uses browser: {} in package.json\n typeof pkg[field] === 'string'\n ) {\n return {\n ...pkg,\n main: pkg[field],\n };\n }\n }\n return pkg;\n },\n // Used to ensure files trace to packages instead of node_modules in expo/expo. This is how Metro works and\n // the app doesn't finish without it.\n preserveSymlinks,\n readPackageSync(readFileSync, pkgFile) {\n return context.getPackage(pkgFile) ?? JSON.parse(fs.readFileSync(pkgFile, 'utf8'));\n },\n includeCoreModules: isServer,\n\n pathFilter:\n // Disable `browser` field for server environments.\n isServer\n ? undefined\n : // Enable `browser` field support\n (pkg: any, _resolvedPath: string, relativePathIn: string): string => {\n let relativePath = relativePathIn;\n if (relativePath[0] !== '.') {\n relativePath = `./${relativePath}`;\n }\n\n const replacements = pkg.browser;\n if (replacements === undefined) {\n return '';\n }\n\n // TODO: Probably use a better extension matching system here.\n // This was added for `uuid/v4` -> `./lib/rng` -> `./lib/rng-browser.js`\n const mappedPath = replacements[relativePath] ?? replacements[relativePath + '.js'];\n if (mappedPath === false) {\n throw new ShimModuleError();\n }\n return mappedPath;\n },\n });\n } catch (error: any) {\n if (error instanceof ShimModuleError) {\n return {\n type: 'empty',\n };\n }\n\n if ('code' in error && error.code === 'MODULE_NOT_FOUND') {\n if (isNodeExternal(moduleName)) {\n // In this case, mock the file to use an empty module.\n return {\n type: 'empty',\n };\n }\n\n debug({ moduleName, platform, conditions, isServer, preserveSymlinks }, context);\n\n throw new FailedToResolvePathError(\n 'The module could not be resolved because no file or module matched the pattern:\\n' +\n ` ${formatFileCandidates(\n {\n type: 'sourceFile',\n filePathPrefix: moduleName,\n candidateExts: extensions,\n },\n true\n )}\\n\\nFrom:\\n ${context.originModulePath}\\n`\n );\n }\n throw error;\n }\n\n if (context.sourceExts.some((ext) => fp.endsWith(ext))) {\n return {\n type: 'sourceFile',\n filePath: fp,\n };\n }\n\n if (isNodeExternal(fp)) {\n if (isServer) {\n return {\n type: 'sourceFile',\n filePath: fp,\n };\n }\n // NOTE: This shouldn't happen, the module should throw.\n // Mock non-server built-in modules to empty.\n return {\n type: 'empty',\n };\n }\n\n // NOTE: platform extensions may not be supported on assets.\n\n if (platform === 'web') {\n // Skip multi-resolution on web/server bundles. Only consideration here is that\n // we may still need it in case the only image is a multi-resolution image.\n return {\n type: 'assetFiles',\n filePaths: [fp],\n };\n }\n\n const dirPath = path.dirname(fp);\n const extension = path.extname(fp);\n const basename = path.basename(fp, extension);\n return {\n type: 'assetFiles',\n // Support multi-resolution asset extensions...\n filePaths: context.resolveAsset(dirPath, basename, extension) ?? [fp],\n };\n }\n\n return fastResolve;\n}\n"],"names":["FailedToResolvePathError","createFastResolver","Error","candidates","ShimModuleError","debug","require","realpathFS","process","platform","fs","realpathSync","native","x","realpathErr","code","preserveSymlinks","blockList","cachedExtensions","Map","getAdjustedExtensions","metroSourceExtensions","isNative","key","JSON","stringify","has","get","output","nextOutput","forEach","ext","push","Array","from","Set","map","set","fastResolve","context","moduleName","environment","customResolverOptions","isServer","isServerEnvironment","extensions","sourceExts","preferNativePlatform","fp","conditions","unstable_enablePackageExports","isESMImport","unstable_conditionNames","unstable_conditionsByPlatform","fileSystemLookup","unstable_fileSystemLookup","jestResolver","enablePackageExports","basedir","path","dirname","originModulePath","moduleDirectory","nodeModulesPaths","length","undefined","file","metroRealPath","res","exists","realPath","isDirectory","type","isFile","pathExists","packageFilter","pkg","field","mainFields","main","readPackageSync","readFileSync","pkgFile","getPackage","parse","includeCoreModules","pathFilter","_resolvedPath","relativePathIn","relativePath","replacements","browser","mappedPath","error","isNodeExternal","formatFileCandidates","filePathPrefix","candidateExts","some","endsWith","filePath","filePaths","dirPath","extension","extname","basename","resolveAsset"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/createExpoMetroResolver.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport fs from 'fs';\nimport { Resolution, ResolutionContext } from 'metro-resolver';\nimport path from 'path';\n\nimport jestResolver from './createJResolver';\nimport { isNodeExternal } from './externals';\nimport { formatFileCandidates } from './formatFileCandidates';\nimport { isServerEnvironment } from '../middleware/metroOptions';\n\nexport class FailedToResolvePathError extends Error {\n // Added to ensure the error is matched by our tooling.\n // TODO: Test that this matches `isFailedToResolvePathError`\n candidates = {};\n}\n\nclass ShimModuleError extends Error {}\n\nconst debug = require('debug')('expo:metro:resolve') as typeof console.log;\n\nconst realpathFS =\n process.platform !== 'win32' && fs.realpathSync && typeof fs.realpathSync.native === 'function'\n ? fs.realpathSync.native\n : fs.realpathSync;\n\nfunction realpathSync(x: string) {\n try {\n return realpathFS(x);\n } catch (realpathErr: any) {\n if (realpathErr.code !== 'ENOENT') {\n throw realpathErr;\n }\n }\n return x;\n}\n\nexport function createFastResolver({\n preserveSymlinks,\n blockList,\n}: {\n preserveSymlinks: boolean;\n blockList: RegExp[];\n}) {\n debug('Creating with settings:', { preserveSymlinks, blockList });\n const cachedExtensions: Map<string, readonly string[]> = new Map();\n\n function getAdjustedExtensions({\n metroSourceExtensions,\n platform,\n isNative,\n }: {\n metroSourceExtensions: readonly string[];\n platform: string | null;\n isNative: boolean;\n }): readonly string[] {\n const key = JSON.stringify({ metroSourceExtensions, platform, isNative });\n if (cachedExtensions.has(key)) {\n return cachedExtensions.get(key)!;\n }\n\n let output = metroSourceExtensions;\n if (platform) {\n const nextOutput: string[] = [];\n\n output.forEach((ext) => {\n nextOutput.push(`${platform}.${ext}`);\n if (isNative) {\n nextOutput.push(`native.${ext}`);\n }\n nextOutput.push(ext);\n });\n\n output = nextOutput;\n }\n\n output = Array.from(new Set<string>(output));\n\n // resolve expects these to start with a dot.\n output = output.map((ext) => `.${ext}`);\n\n cachedExtensions.set(key, output);\n\n return output;\n }\n\n function fastResolve(\n context: Pick<\n ResolutionContext,\n | 'unstable_enablePackageExports'\n | 'customResolverOptions'\n | 'sourceExts'\n | 'preferNativePlatform'\n | 'originModulePath'\n | 'getPackage'\n | 'nodeModulesPaths'\n | 'mainFields'\n | 'resolveAsset'\n | 'unstable_conditionNames'\n | 'unstable_conditionsByPlatform'\n | 'fileSystemLookup'\n | 'isESMImport'\n >,\n moduleName: string,\n platform: string | null\n ): Resolution {\n const environment = context.customResolverOptions?.environment;\n const isServer = isServerEnvironment(environment);\n\n const extensions = getAdjustedExtensions({\n metroSourceExtensions: context.sourceExts,\n platform,\n isNative: context.preferNativePlatform,\n }) as string[];\n\n let fp: string;\n\n const conditions = context.unstable_enablePackageExports\n ? [\n ...new Set([\n 'default',\n context.isESMImport === true ? 'import' : 'require',\n ...context.unstable_conditionNames,\n ...(platform != null ? (context.unstable_conditionsByPlatform[platform] ?? []) : []),\n ]),\n ]\n : [];\n\n // NOTE(cedric): metro@0.81.0 ships with `fileSystemLookup`, while `metro@0.80.12` ships as unstable\n const fileSystemLookup = (\n 'unstable_fileSystemLookup' in context\n ? context.unstable_fileSystemLookup\n : context.fileSystemLookup\n ) as ResolutionContext['fileSystemLookup'] | undefined;\n\n if (!fileSystemLookup) {\n throw new Error('Metro API fileSystemLookup is required for fast resolver');\n }\n\n try {\n fp = jestResolver(moduleName, {\n blockList,\n enablePackageExports: context.unstable_enablePackageExports,\n basedir: path.dirname(context.originModulePath),\n moduleDirectory: context.nodeModulesPaths.length\n ? (context.nodeModulesPaths as string[])\n : undefined,\n extensions,\n conditions,\n realpathSync(file: string): string {\n let metroRealPath: string | null = null;\n\n const res = fileSystemLookup(file);\n if (res?.exists) {\n metroRealPath = res.realPath;\n }\n\n if (metroRealPath == null && preserveSymlinks) {\n return realpathSync(file);\n }\n return metroRealPath ?? file;\n },\n isDirectory(file: string): boolean {\n const res = fileSystemLookup(file);\n return res.exists && res.type === 'd';\n },\n isFile(file: string): boolean {\n const res = fileSystemLookup(file);\n return res.exists && res.type === 'f';\n },\n pathExists(file: string): boolean {\n return fileSystemLookup(file).exists;\n },\n packageFilter(pkg) {\n // set the pkg.main to the first available field in context.mainFields\n for (const field of context.mainFields) {\n if (\n pkg[field] &&\n // object-inspect uses browser: {} in package.json\n typeof pkg[field] === 'string'\n ) {\n return {\n ...pkg,\n main: pkg[field],\n };\n }\n }\n return pkg;\n },\n // Used to ensure files trace to packages instead of node_modules in expo/expo. This is how Metro works and\n // the app doesn't finish without it.\n preserveSymlinks,\n readPackageSync(readFileSync, pkgFile) {\n return context.getPackage(pkgFile) ?? JSON.parse(fs.readFileSync(pkgFile, 'utf8'));\n },\n includeCoreModules: isServer,\n\n pathFilter:\n // Disable `browser` field for server environments.\n isServer\n ? undefined\n : // Enable `browser` field support\n (pkg: any, _resolvedPath: string, relativePathIn: string): string => {\n let relativePath = relativePathIn;\n if (relativePath[0] !== '.') {\n relativePath = `./${relativePath}`;\n }\n\n const replacements = pkg.browser;\n if (replacements === undefined) {\n return '';\n }\n\n // TODO: Probably use a better extension matching system here.\n // This was added for `uuid/v4` -> `./lib/rng` -> `./lib/rng-browser.js`\n const mappedPath = replacements[relativePath] ?? replacements[relativePath + '.js'];\n if (mappedPath === false) {\n throw new ShimModuleError();\n }\n return mappedPath;\n },\n });\n } catch (error: any) {\n if (error instanceof ShimModuleError) {\n return {\n type: 'empty',\n };\n }\n\n if ('code' in error && error.code === 'MODULE_NOT_FOUND') {\n if (isNodeExternal(moduleName)) {\n // In this case, mock the file to use an empty module.\n return {\n type: 'empty',\n };\n }\n\n debug({ moduleName, platform, conditions, isServer, preserveSymlinks }, context);\n\n throw new FailedToResolvePathError(\n 'The module could not be resolved because no file or module matched the pattern:\\n' +\n ` ${formatFileCandidates(\n {\n type: 'sourceFile',\n filePathPrefix: moduleName,\n candidateExts: extensions,\n },\n true\n )}\\n\\nFrom:\\n ${context.originModulePath}\\n`\n );\n }\n throw error;\n }\n\n if (context.sourceExts.some((ext) => fp.endsWith(ext))) {\n return {\n type: 'sourceFile',\n filePath: fp,\n };\n }\n\n if (isNodeExternal(fp)) {\n if (isServer) {\n return {\n type: 'sourceFile',\n filePath: fp,\n };\n }\n // NOTE: This shouldn't happen, the module should throw.\n // Mock non-server built-in modules to empty.\n return {\n type: 'empty',\n };\n }\n\n // NOTE: platform extensions may not be supported on assets.\n\n if (platform === 'web') {\n // Skip multi-resolution on web/server bundles. Only consideration here is that\n // we may still need it in case the only image is a multi-resolution image.\n return {\n type: 'assetFiles',\n filePaths: [fp],\n };\n }\n\n const dirPath = path.dirname(fp);\n const extension = path.extname(fp);\n const basename = path.basename(fp, extension);\n return {\n type: 'assetFiles',\n // Support multi-resolution asset extensions...\n filePaths: context.resolveAsset(dirPath, basename, extension) ?? [fp],\n };\n }\n\n return fastResolve;\n}\n"],"names":["FailedToResolvePathError","createFastResolver","Error","candidates","ShimModuleError","debug","require","realpathFS","process","platform","fs","realpathSync","native","x","realpathErr","code","preserveSymlinks","blockList","cachedExtensions","Map","getAdjustedExtensions","metroSourceExtensions","isNative","key","JSON","stringify","has","get","output","nextOutput","forEach","ext","push","Array","from","Set","map","set","fastResolve","context","moduleName","environment","customResolverOptions","isServer","isServerEnvironment","extensions","sourceExts","preferNativePlatform","fp","conditions","unstable_enablePackageExports","isESMImport","unstable_conditionNames","unstable_conditionsByPlatform","fileSystemLookup","unstable_fileSystemLookup","jestResolver","enablePackageExports","basedir","path","dirname","originModulePath","moduleDirectory","nodeModulesPaths","length","undefined","file","metroRealPath","res","exists","realPath","isDirectory","type","isFile","pathExists","packageFilter","pkg","field","mainFields","main","readPackageSync","readFileSync","pkgFile","getPackage","parse","includeCoreModules","pathFilter","_resolvedPath","relativePathIn","relativePath","replacements","browser","mappedPath","error","isNodeExternal","formatFileCandidates","filePathPrefix","candidateExts","some","endsWith","filePath","filePaths","dirPath","extension","extname","basename","resolveAsset"],"mappings":"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"}
@@ -13,10 +13,12 @@ Object.defineProperty(exports, "__esModule", {
13
13
  });
14
14
  Object.defineProperty(exports, "default", {
15
15
  enumerable: true,
16
- get: ()=>_default
16
+ get: function() {
17
+ return _default;
18
+ }
17
19
  });
18
20
  function _assert() {
19
- const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
21
+ const data = /*#__PURE__*/ _interop_require_default(require("assert"));
20
22
  _assert = function() {
21
23
  return data;
22
24
  };
@@ -36,14 +38,14 @@ function _resolve() {
36
38
  };
37
39
  return data;
38
40
  }
39
- function _resolveExports() {
40
- const data = /*#__PURE__*/ _interopRequireWildcard(require("resolve.exports"));
41
- _resolveExports = function() {
41
+ function _resolveexports() {
42
+ const data = /*#__PURE__*/ _interop_require_wildcard(require("resolve.exports"));
43
+ _resolveexports = function() {
42
44
  return data;
43
45
  };
44
46
  return data;
45
47
  }
46
- function _interopRequireDefault(obj) {
48
+ function _interop_require_default(obj) {
47
49
  return obj && obj.__esModule ? obj : {
48
50
  default: obj
49
51
  };
@@ -56,7 +58,7 @@ function _getRequireWildcardCache(nodeInterop) {
56
58
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
57
59
  })(nodeInterop);
58
60
  }
59
- function _interopRequireWildcard(obj, nodeInterop) {
61
+ function _interop_require_wildcard(obj, nodeInterop) {
60
62
  if (!nodeInterop && obj && obj.__esModule) {
61
63
  return obj;
62
64
  }
@@ -69,7 +71,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
69
71
  if (cache && cache.has(obj)) {
70
72
  return cache.get(obj);
71
73
  }
72
- var newObj = {};
74
+ var newObj = {
75
+ __proto__: null
76
+ };
73
77
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
74
78
  for(var key in obj){
75
79
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -87,7 +91,7 @@ function _interopRequireWildcard(obj, nodeInterop) {
87
91
  }
88
92
  return newObj;
89
93
  }
90
- const defaultResolver = (path, { enablePackageExports , blockList =[] , ...options })=>{
94
+ const defaultResolver = (path, { enablePackageExports, blockList = [], ...options })=>{
91
95
  // @ts-expect-error
92
96
  const resolveOptions = {
93
97
  ...options,
@@ -109,22 +113,22 @@ const _default = defaultResolver;
109
113
  if (shouldIgnoreRequestForExports(path)) {
110
114
  return path;
111
115
  }
112
- const segments = path.split("/");
116
+ const segments = path.split('/');
113
117
  let moduleName = segments.shift();
114
118
  if (!moduleName) {
115
119
  return path;
116
120
  }
117
- if (moduleName.startsWith("@")) {
121
+ if (moduleName.startsWith('@')) {
118
122
  moduleName = `${moduleName}/${segments.shift()}`;
119
123
  }
120
124
  // self-reference
121
125
  const closestPackageJson = findClosestPackageJson(options.basedir, options);
122
126
  if (closestPackageJson) {
123
127
  const pkg = options.readPackageSync(options.readFileSync, closestPackageJson);
124
- (0, _assert().default)(pkg, "package.json should be read by `readPackageSync`");
128
+ (0, _assert().default)(pkg, 'package.json should be read by `readPackageSync`');
125
129
  // Added support for the package.json "imports" field (#-prefixed paths)
126
- if (path.startsWith("#")) {
127
- const resolved = _resolveExports().imports(pkg, path, createResolveOptions(options.conditions));
130
+ if (path.startsWith('#')) {
131
+ const resolved = _resolveexports().imports(pkg, path, createResolveOptions(options.conditions));
128
132
  if (resolved) {
129
133
  // TODO: Should we attempt to resolve every path in the array?
130
134
  return (0, _path().resolve)((0, _path().dirname)(closestPackageJson), resolved[0]);
@@ -133,16 +137,16 @@ const _default = defaultResolver;
133
137
  return path;
134
138
  }
135
139
  if (pkg.name === moduleName) {
136
- const resolved1 = _resolveExports().exports(pkg, segments.join("/") || ".", createResolveOptions(options.conditions));
137
- if (resolved1) {
138
- return (0, _path().resolve)((0, _path().dirname)(closestPackageJson), resolved1[0]);
140
+ const resolved = _resolveexports().exports(pkg, segments.join('/') || '.', createResolveOptions(options.conditions));
141
+ if (resolved) {
142
+ return (0, _path().resolve)((0, _path().dirname)(closestPackageJson), resolved[0]);
139
143
  }
140
144
  if (pkg.exports) {
141
145
  throw new Error("`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue");
142
146
  }
143
147
  }
144
148
  }
145
- let packageJsonPath = "";
149
+ let packageJsonPath = '';
146
150
  try {
147
151
  packageJsonPath = (0, _resolve().sync)(`${moduleName}/package.json`, options);
148
152
  } catch {
@@ -151,13 +155,13 @@ const _default = defaultResolver;
151
155
  if (!packageJsonPath) {
152
156
  return path;
153
157
  }
154
- const pkg1 = options.readPackageSync(options.readFileSync, packageJsonPath);
155
- (0, _assert().default)(pkg1, "package.json should be read by `readPackageSync`");
156
- const resolved2 = _resolveExports().exports(pkg1, segments.join("/") || ".", createResolveOptions(options.conditions));
157
- if (resolved2) {
158
- return (0, _path().resolve)((0, _path().dirname)(packageJsonPath), resolved2[0]);
158
+ const pkg = options.readPackageSync(options.readFileSync, packageJsonPath);
159
+ (0, _assert().default)(pkg, 'package.json should be read by `readPackageSync`');
160
+ const resolved = _resolveexports().exports(pkg, segments.join('/') || '.', createResolveOptions(options.conditions));
161
+ if (resolved) {
162
+ return (0, _path().resolve)((0, _path().dirname)(packageJsonPath), resolved[0]);
159
163
  }
160
- if (pkg1.exports) {
164
+ if (pkg.exports) {
161
165
  throw new Error("`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue");
162
166
  }
163
167
  return path;
@@ -172,16 +176,16 @@ function createResolveOptions(conditions) {
172
176
  };
173
177
  }
174
178
  // if it's a relative import or an absolute path, imports/exports are ignored
175
- const shouldIgnoreRequestForExports = (path)=>path.startsWith(".") || (0, _path().isAbsolute)(path);
179
+ const shouldIgnoreRequestForExports = (path)=>path.startsWith('.') || (0, _path().isAbsolute)(path);
176
180
  // adapted from
177
181
  // https://github.com/lukeed/escalade/blob/2477005062cdbd8407afc90d3f48f4930354252b/src/sync.js
178
182
  function findClosestPackageJson(start, options) {
179
- let dir = (0, _path().resolve)(".", start);
183
+ let dir = (0, _path().resolve)('.', start);
180
184
  if (!options.isDirectory(dir)) {
181
185
  dir = (0, _path().dirname)(dir);
182
186
  }
183
187
  while(true){
184
- const pkgJsonFile = (0, _path().resolve)(dir, "./package.json");
188
+ const pkgJsonFile = (0, _path().resolve)(dir, './package.json');
185
189
  const hasPackageJson = options.pathExists(pkgJsonFile);
186
190
  if (hasPackageJson) {
187
191
  return pkgJsonFile;