@expo/cli 0.18.0 → 0.18.2

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 (653) hide show
  1. package/build/bin/cli +90 -114
  2. package/build/bin/cli.map +1 -1
  3. package/build/src/api/endpoint.js +11 -3
  4. package/build/src/api/endpoint.js.map +1 -1
  5. package/build/src/api/getExpoGoIntermediateCertificate.js +7 -4
  6. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  7. package/build/src/api/getExpoSchema.js +13 -11
  8. package/build/src/api/getExpoSchema.js.map +1 -1
  9. package/build/src/api/getNativeModuleVersions.js +7 -4
  10. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  11. package/build/src/api/getProjectDevelopmentCertificate.js +7 -4
  12. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  13. package/build/src/api/getVersions.js +7 -4
  14. package/build/src/api/getVersions.js.map +1 -1
  15. package/build/src/api/graphql/client.js +55 -35
  16. package/build/src/api/graphql/client.js.map +1 -1
  17. package/build/src/api/graphql/queries/AppQuery.js +9 -7
  18. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  19. package/build/src/api/graphql/queries/UserQuery.js +7 -5
  20. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  21. package/build/src/api/graphql/types/App.js +6 -4
  22. package/build/src/api/graphql/types/App.js.map +1 -1
  23. package/build/src/api/rest/cache/FileSystemCache.js +6 -4
  24. package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
  25. package/build/src/api/rest/cache/response.js +4 -1
  26. package/build/src/api/rest/cache/response.js.map +1 -1
  27. package/build/src/api/rest/cache/wrapFetchWithCache.js +21 -12
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  29. package/build/src/api/rest/client.js +36 -29
  30. package/build/src/api/rest/client.js.map +1 -1
  31. package/build/src/api/rest/wrapFetchWithBaseUrl.js +4 -1
  32. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithOffline.js +5 -2
  34. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithProgress.js +40 -19
  36. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProxy.js +7 -4
  38. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  39. package/build/src/api/settings.js +9 -4
  40. package/build/src/api/settings.js.map +1 -1
  41. package/build/src/api/updateDevelopmentSession.js +16 -8
  42. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  43. package/build/src/api/user/UserSettings.js +10 -8
  44. package/build/src/api/user/UserSettings.js.map +1 -1
  45. package/build/src/api/user/actions.js +66 -41
  46. package/build/src/api/user/actions.js.map +1 -1
  47. package/build/src/api/user/expoSsoLauncher.js +46 -25
  48. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  49. package/build/src/api/user/otp.js +70 -50
  50. package/build/src/api/user/otp.js.map +1 -1
  51. package/build/src/api/user/user.js +66 -41
  52. package/build/src/api/user/user.js.map +1 -1
  53. package/build/src/config/configAsync.js +62 -43
  54. package/build/src/config/configAsync.js.map +1 -1
  55. package/build/src/config/index.js +46 -30
  56. package/build/src/config/index.js.map +1 -1
  57. package/build/src/customize/customizeAsync.js +14 -11
  58. package/build/src/customize/customizeAsync.js.map +1 -1
  59. package/build/src/customize/generate.js +61 -46
  60. package/build/src/customize/generate.js.map +1 -1
  61. package/build/src/customize/index.js +10 -8
  62. package/build/src/customize/index.js.map +1 -1
  63. package/build/src/customize/resolveOptions.js +7 -4
  64. package/build/src/customize/resolveOptions.js.map +1 -1
  65. package/build/src/customize/templates.js +31 -34
  66. package/build/src/customize/templates.js.map +1 -1
  67. package/build/src/customize/typescript.js +43 -28
  68. package/build/src/customize/typescript.js.map +1 -1
  69. package/build/src/export/createMetadataJson.js +7 -6
  70. package/build/src/export/createMetadataJson.js.map +1 -1
  71. package/build/src/export/embed/exportEmbedAsync.js +51 -38
  72. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  73. package/build/src/export/embed/index.js +48 -36
  74. package/build/src/export/embed/index.js.map +1 -1
  75. package/build/src/export/embed/resolveOptions.js +7 -4
  76. package/build/src/export/embed/resolveOptions.js.map +1 -1
  77. package/build/src/export/embed/xcodeCompilerLogger.js +20 -8
  78. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  79. package/build/src/export/exportApp.js +84 -67
  80. package/build/src/export/exportApp.js.map +1 -1
  81. package/build/src/export/exportAssets.js +62 -43
  82. package/build/src/export/exportAssets.js.map +1 -1
  83. package/build/src/export/exportAsync.js +47 -26
  84. package/build/src/export/exportAsync.js.map +1 -1
  85. package/build/src/export/exportHermes.js +19 -11
  86. package/build/src/export/exportHermes.js.map +1 -1
  87. package/build/src/export/exportStaticAsync.js +49 -38
  88. package/build/src/export/exportStaticAsync.js.map +1 -1
  89. package/build/src/export/favicon.js +19 -11
  90. package/build/src/export/favicon.js.map +1 -1
  91. package/build/src/export/fork-bundleAsync.js +42 -39
  92. package/build/src/export/fork-bundleAsync.js.map +1 -1
  93. package/build/src/export/getPublicExpoManifest.js +9 -6
  94. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  95. package/build/src/export/getResolvedLocales.js +7 -4
  96. package/build/src/export/getResolvedLocales.js.map +1 -1
  97. package/build/src/export/html.js +12 -4
  98. package/build/src/export/html.js.map +1 -1
  99. package/build/src/export/index.js +49 -33
  100. package/build/src/export/index.js.map +1 -1
  101. package/build/src/export/metroAssetLocalPath.js +22 -6
  102. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  103. package/build/src/export/persistMetroAssets.js +38 -24
  104. package/build/src/export/persistMetroAssets.js.map +1 -1
  105. package/build/src/export/publicFolder.js +15 -7
  106. package/build/src/export/publicFolder.js.map +1 -1
  107. package/build/src/export/resolveOptions.js +19 -15
  108. package/build/src/export/resolveOptions.js.map +1 -1
  109. package/build/src/export/saveAssets.js +42 -38
  110. package/build/src/export/saveAssets.js.map +1 -1
  111. package/build/src/export/web/exportWebAsync.js +15 -12
  112. package/build/src/export/web/exportWebAsync.js.map +1 -1
  113. package/build/src/export/web/index.js +47 -31
  114. package/build/src/export/web/index.js.map +1 -1
  115. package/build/src/export/web/resolveOptions.js +4 -1
  116. package/build/src/export/web/resolveOptions.js.map +1 -1
  117. package/build/src/export/writeContents.js +12 -7
  118. package/build/src/export/writeContents.js.map +1 -1
  119. package/build/src/graphql/generated.js +141 -128
  120. package/build/src/graphql/generated.js.map +1 -1
  121. package/build/src/install/applyPlugins.js +43 -25
  122. package/build/src/install/applyPlugins.js.map +1 -1
  123. package/build/src/install/checkPackages.js +55 -35
  124. package/build/src/install/checkPackages.js.map +1 -1
  125. package/build/src/install/fixPackages.js +52 -35
  126. package/build/src/install/fixPackages.js.map +1 -1
  127. package/build/src/install/index.js +15 -13
  128. package/build/src/install/index.js.map +1 -1
  129. package/build/src/install/installAsync.js +90 -65
  130. package/build/src/install/installAsync.js.map +1 -1
  131. package/build/src/install/installExpoPackage.js +48 -27
  132. package/build/src/install/installExpoPackage.js.map +1 -1
  133. package/build/src/install/resolveOptions.js +8 -5
  134. package/build/src/install/resolveOptions.js.map +1 -1
  135. package/build/src/install/utils/autoAddConfigPlugins.js +15 -7
  136. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  137. package/build/src/lint/ESlintPrerequisite.js +174 -0
  138. package/build/src/lint/ESlintPrerequisite.js.map +1 -0
  139. package/build/src/lint/index.js +66 -0
  140. package/build/src/lint/index.js.map +1 -0
  141. package/build/src/lint/lintAsync.js +33 -0
  142. package/build/src/lint/lintAsync.js.map +1 -0
  143. package/build/src/log.js +20 -14
  144. package/build/src/log.js.map +1 -1
  145. package/build/src/login/index.js +43 -25
  146. package/build/src/login/index.js.map +1 -1
  147. package/build/src/logout/index.js +43 -25
  148. package/build/src/logout/index.js.map +1 -1
  149. package/build/src/prebuild/clearNativeFolder.js +65 -42
  150. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  151. package/build/src/prebuild/configureProjectAsync.js +50 -29
  152. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  153. package/build/src/prebuild/copyTemplateFiles.js +19 -13
  154. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  155. package/build/src/prebuild/ensureConfigAsync.js +54 -28
  156. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  157. package/build/src/prebuild/index.js +52 -38
  158. package/build/src/prebuild/index.js.map +1 -1
  159. package/build/src/prebuild/prebuildAsync.js +68 -51
  160. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  161. package/build/src/prebuild/renameTemplateAppName.js +15 -10
  162. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  163. package/build/src/prebuild/resolveOptions.js +60 -35
  164. package/build/src/prebuild/resolveOptions.js.map +1 -1
  165. package/build/src/prebuild/resolveTemplate.js +66 -40
  166. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  167. package/build/src/prebuild/updateFromTemplate.js +67 -44
  168. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  169. package/build/src/prebuild/updatePackageJson.js +70 -49
  170. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  171. package/build/src/prebuild/validateTemplatePlatforms.js +44 -23
  172. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  173. package/build/src/register/index.js +43 -25
  174. package/build/src/register/index.js.map +1 -1
  175. package/build/src/register/registerAsync.js +14 -11
  176. package/build/src/register/registerAsync.js.map +1 -1
  177. package/build/src/run/android/index.js +47 -31
  178. package/build/src/run/android/index.js.map +1 -1
  179. package/build/src/run/android/resolveDevice.js +9 -6
  180. package/build/src/run/android/resolveDevice.js.map +1 -1
  181. package/build/src/run/android/resolveGradlePropsAsync.js +10 -9
  182. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  183. package/build/src/run/android/resolveInstallApkName.js +14 -12
  184. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  185. package/build/src/run/android/resolveLaunchProps.js +6 -3
  186. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  187. package/build/src/run/android/resolveOptions.js +12 -9
  188. package/build/src/run/android/resolveOptions.js.map +1 -1
  189. package/build/src/run/android/runAndroidAsync.js +27 -24
  190. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  191. package/build/src/run/ensureNativeProject.js +11 -8
  192. package/build/src/run/ensureNativeProject.js.map +1 -1
  193. package/build/src/run/hints.js +15 -7
  194. package/build/src/run/hints.js.map +1 -1
  195. package/build/src/run/index.js +49 -35
  196. package/build/src/run/index.js.map +1 -1
  197. package/build/src/run/ios/XcodeBuild.js +75 -51
  198. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  199. package/build/src/run/ios/appleDevice/AppleDevice.js +31 -24
  200. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  201. package/build/src/run/ios/appleDevice/ClientManager.js +66 -33
  202. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  203. package/build/src/run/ios/appleDevice/client/AFCClient.js +73 -47
  204. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  205. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +53 -26
  206. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  207. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +15 -6
  208. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  209. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +54 -27
  210. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  211. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +56 -30
  212. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  213. package/build/src/run/ios/appleDevice/client/ServiceClient.js +18 -4
  214. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  215. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +22 -13
  216. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  217. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +57 -31
  218. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  219. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +79 -66
  220. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  221. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +28 -14
  222. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  223. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +24 -11
  224. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  225. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +26 -13
  226. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  227. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +23 -10
  228. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  229. package/build/src/run/ios/codeSigning/Security.js +27 -20
  230. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  231. package/build/src/run/ios/codeSigning/configureCodeSigning.js +49 -28
  232. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  233. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +61 -36
  234. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  235. package/build/src/run/ios/codeSigning/settings.js +11 -3
  236. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  237. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +7 -5
  238. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  239. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +14 -8
  240. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  241. package/build/src/run/ios/index.js +50 -34
  242. package/build/src/run/ios/index.js.map +1 -1
  243. package/build/src/run/ios/launchApp.js +52 -31
  244. package/build/src/run/ios/launchApp.js.map +1 -1
  245. package/build/src/run/ios/options/promptDevice.js +17 -13
  246. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  247. package/build/src/run/ios/options/resolveDevice.js +63 -39
  248. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  249. package/build/src/run/ios/options/resolveNativeScheme.js +57 -34
  250. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  251. package/build/src/run/ios/options/resolveOptions.js +15 -12
  252. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  253. package/build/src/run/ios/options/resolveXcodeProject.js +6 -3
  254. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  255. package/build/src/run/ios/runIosAsync.js +63 -42
  256. package/build/src/run/ios/runIosAsync.js.map +1 -1
  257. package/build/src/run/resolveBundlerProps.js +8 -5
  258. package/build/src/run/resolveBundlerProps.js.map +1 -1
  259. package/build/src/run/startBundler.js +47 -26
  260. package/build/src/run/startBundler.js.map +1 -1
  261. package/build/src/start/detectDevClient.js +6 -3
  262. package/build/src/start/detectDevClient.js.map +1 -1
  263. package/build/src/start/doctor/Prerequisite.js +15 -7
  264. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  265. package/build/src/start/doctor/SecurityBinPrerequisite.js +7 -4
  266. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  267. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +44 -23
  268. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  269. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +44 -23
  270. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  271. package/build/src/start/doctor/apple/XcodePrerequisite.js +61 -36
  272. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  273. package/build/src/start/doctor/apple/XcrunPrerequisite.js +15 -12
  274. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  275. package/build/src/start/doctor/dependencies/bundledNativeModules.js +49 -28
  276. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  277. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +98 -53
  278. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  279. package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -9
  280. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  281. package/build/src/start/doctor/dependencies/getVersionedPackages.js +23 -15
  282. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  283. package/build/src/start/doctor/dependencies/resolvePackages.js +19 -13
  284. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  285. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +63 -41
  286. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  287. package/build/src/start/doctor/ngrok/ExternalModule.js +64 -39
  288. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  289. package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -5
  290. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  291. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +59 -41
  292. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  293. package/build/src/start/doctor/typescript/updateTSConfig.js +59 -36
  294. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  295. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +57 -31
  296. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  297. package/build/src/start/index.js +56 -42
  298. package/build/src/start/index.js.map +1 -1
  299. package/build/src/start/interface/KeyPressHandler.js +43 -22
  300. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  301. package/build/src/start/interface/commandsTable.js +60 -38
  302. package/build/src/start/interface/commandsTable.js.map +1 -1
  303. package/build/src/start/interface/interactiveActions.js +85 -68
  304. package/build/src/start/interface/interactiveActions.js.map +1 -1
  305. package/build/src/start/interface/startInterface.js +78 -57
  306. package/build/src/start/interface/startInterface.js.map +1 -1
  307. package/build/src/start/platforms/AppIdResolver.js +9 -6
  308. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  309. package/build/src/start/platforms/DeviceManager.js +41 -20
  310. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  311. package/build/src/start/platforms/ExpoGoInstaller.js +55 -35
  312. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  313. package/build/src/start/platforms/PlatformManager.js +19 -17
  314. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  315. package/build/src/start/platforms/android/ADBServer.js +15 -12
  316. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  317. package/build/src/start/platforms/android/AndroidAppIdResolver.js +6 -4
  318. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  319. package/build/src/start/platforms/android/AndroidDeviceManager.js +70 -50
  320. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  321. package/build/src/start/platforms/android/AndroidPlatformManager.js +9 -6
  322. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  323. package/build/src/start/platforms/android/AndroidSdk.js +11 -8
  324. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  325. package/build/src/start/platforms/android/activateWindow.js +43 -22
  326. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  327. package/build/src/start/platforms/android/adb.js +73 -52
  328. package/build/src/start/platforms/android/adb.js.map +1 -1
  329. package/build/src/start/platforms/android/adbReverse.js +57 -31
  330. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  331. package/build/src/start/platforms/android/emulator.js +63 -42
  332. package/build/src/start/platforms/android/emulator.js.map +1 -1
  333. package/build/src/start/platforms/android/getDevices.js +11 -10
  334. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  335. package/build/src/start/platforms/android/gradle.js +18 -11
  336. package/build/src/start/platforms/android/gradle.js.map +1 -1
  337. package/build/src/start/platforms/android/promptAndroidDevice.js +14 -14
  338. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  339. package/build/src/start/platforms/ios/AppleAppIdResolver.js +7 -4
  340. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  341. package/build/src/start/platforms/ios/AppleDeviceManager.js +80 -54
  342. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  343. package/build/src/start/platforms/ios/ApplePlatformManager.js +7 -4
  344. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  345. package/build/src/start/platforms/ios/assertSystemRequirements.js +11 -8
  346. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  347. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +50 -29
  348. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  349. package/build/src/start/platforms/ios/getBestSimulator.js +53 -29
  350. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  351. package/build/src/start/platforms/ios/promptAppleDevice.js +18 -12
  352. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  353. package/build/src/start/platforms/ios/simctl.js +65 -42
  354. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  355. package/build/src/start/platforms/ios/simctlLogging.js +67 -44
  356. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  357. package/build/src/start/platforms/ios/xcrun.js +8 -5
  358. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  359. package/build/src/start/project/devices.js +19 -16
  360. package/build/src/start/project/devices.js.map +1 -1
  361. package/build/src/start/project/dotExpo.js +13 -5
  362. package/build/src/start/project/dotExpo.js.map +1 -1
  363. package/build/src/start/project/settings.js +6 -4
  364. package/build/src/start/project/settings.js.map +1 -1
  365. package/build/src/start/resolveOptions.js +26 -19
  366. package/build/src/start/resolveOptions.js.map +1 -1
  367. package/build/src/start/server/AsyncNgrok.js +66 -46
  368. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  369. package/build/src/start/server/BundlerDevServer.js +64 -44
  370. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  371. package/build/src/start/server/DevServerManager.js +81 -69
  372. package/build/src/start/server/DevServerManager.js.map +1 -1
  373. package/build/src/start/server/DevToolsPluginManager.js +21 -16
  374. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  375. package/build/src/start/server/DevelopmentSession.js +49 -31
  376. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  377. package/build/src/start/server/ReactDevToolsProxy.js +14 -6
  378. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  379. package/build/src/start/server/UrlCreator.js +44 -23
  380. package/build/src/start/server/UrlCreator.js.map +1 -1
  381. package/build/src/start/server/getStaticRenderFunctions.js +46 -34
  382. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  383. package/build/src/start/server/metro/MetroBundlerDevServer.js +135 -108
  384. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  385. package/build/src/start/server/metro/MetroTerminalReporter.js +24 -17
  386. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  387. package/build/src/start/server/metro/TerminalReporter.js +18 -8
  388. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  389. package/build/src/start/server/metro/createExpoMetroResolver.js +31 -20
  390. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  391. package/build/src/start/server/metro/createJResolver.js +76 -51
  392. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  393. package/build/src/start/server/metro/createServerRouteMiddleware.js +22 -14
  394. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  395. package/build/src/start/server/metro/debugging/MessageHandler.js +4 -1
  396. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  397. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +10 -9
  398. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  399. package/build/src/start/server/metro/debugging/createHandlersFactory.js +14 -13
  400. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  401. package/build/src/start/server/metro/debugging/getDebuggerType.js +5 -2
  402. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  403. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +5 -2
  404. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  405. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +5 -2
  406. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -1
  407. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -4
  408. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  409. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +7 -4
  410. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  411. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -4
  412. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  413. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +7 -4
  414. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  415. package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -1
  416. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  417. package/build/src/start/server/metro/externals.js +21 -10
  418. package/build/src/start/server/metro/externals.js.map +1 -1
  419. package/build/src/start/server/metro/fetchRouterManifest.js +20 -7
  420. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  421. package/build/src/start/server/metro/formatFileCandidates.js +21 -17
  422. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  423. package/build/src/start/server/metro/getCssModulesFromBundler.js +15 -7
  424. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  425. package/build/src/start/server/metro/instantiateMetro.js +57 -44
  426. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  427. package/build/src/start/server/metro/metroErrorInterface.js +43 -34
  428. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  429. package/build/src/start/server/metro/metroErrors.js +11 -2
  430. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  431. package/build/src/start/server/metro/metroVirtualModules.js +10 -2
  432. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  433. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +5 -2
  434. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  435. package/build/src/start/server/metro/router.js +27 -20
  436. package/build/src/start/server/metro/router.js.map +1 -1
  437. package/build/src/start/server/metro/runServer-fork.js +21 -14
  438. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  439. package/build/src/start/server/metro/serializeHtml.js +7 -7
  440. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  441. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +12 -4
  442. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  443. package/build/src/start/server/metro/withMetroMultiPlatform.js +107 -81
  444. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  445. package/build/src/start/server/metro/withMetroResolvers.js +72 -42
  446. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  447. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +4 -1
  448. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  449. package/build/src/start/server/middleware/CorsMiddleware.js +4 -1
  450. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  451. package/build/src/start/server/middleware/CreateFileMiddleware.js +13 -5
  452. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  453. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +15 -12
  454. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  455. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +30 -23
  456. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  457. package/build/src/start/server/middleware/ExpoMiddleware.js +47 -21
  458. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  459. package/build/src/start/server/middleware/FaviconMiddleware.js +8 -5
  460. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  461. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +6 -3
  462. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  463. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +23 -16
  464. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  465. package/build/src/start/server/middleware/ManifestMiddleware.js +84 -60
  466. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  467. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +14 -7
  468. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  469. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +47 -26
  470. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  471. package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -8
  472. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  473. package/build/src/start/server/middleware/inspector/JsInspector.js +30 -24
  474. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  475. package/build/src/start/server/middleware/inspector/LaunchBrowser.js +16 -8
  476. package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
  477. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +4 -2
  478. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -1
  479. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +16 -12
  480. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
  481. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +59 -37
  482. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
  483. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +22 -16
  484. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
  485. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +9 -6
  486. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  487. package/build/src/start/server/middleware/inspector/middlwareMutations.js +11 -4
  488. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  489. package/build/src/start/server/middleware/metroOptions.js +26 -18
  490. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  491. package/build/src/start/server/middleware/mutations.js +11 -4
  492. package/build/src/start/server/middleware/mutations.js.map +1 -1
  493. package/build/src/start/server/middleware/resolveAssets.js +65 -41
  494. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  495. package/build/src/start/server/middleware/resolvePlatform.js +14 -6
  496. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  497. package/build/src/start/server/middleware/suppressErrorMiddleware.js +4 -1
  498. package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -1
  499. package/build/src/start/server/openPlatforms.js +7 -6
  500. package/build/src/start/server/openPlatforms.js.map +1 -1
  501. package/build/src/start/server/platformBundlers.js +5 -2
  502. package/build/src/start/server/platformBundlers.js.map +1 -1
  503. package/build/src/start/server/serverLogLikeMetro.js +62 -33
  504. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  505. package/build/src/start/server/type-generation/expo-env.js +12 -4
  506. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  507. package/build/src/start/server/type-generation/routes.js +52 -51
  508. package/build/src/start/server/type-generation/routes.js.map +1 -1
  509. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +22 -19
  510. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  511. package/build/src/start/server/type-generation/tsconfig.js +18 -11
  512. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  513. package/build/src/start/server/webTemplate.js +21 -15
  514. package/build/src/start/server/webTemplate.js.map +1 -1
  515. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +81 -56
  516. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  517. package/build/src/start/server/webpack/compile.js +47 -26
  518. package/build/src/start/server/webpack/compile.js.map +1 -1
  519. package/build/src/start/server/webpack/formatWebpackMessages.js +35 -25
  520. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  521. package/build/src/start/server/webpack/resolveFromProject.js +13 -5
  522. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  523. package/build/src/start/server/webpack/tls.js +54 -28
  524. package/build/src/start/server/webpack/tls.js.map +1 -1
  525. package/build/src/start/startAsync.js +73 -52
  526. package/build/src/start/startAsync.js.map +1 -1
  527. package/build/src/utils/FileNotifier.js +46 -25
  528. package/build/src/utils/FileNotifier.js.map +1 -1
  529. package/build/src/utils/analytics/getDevClientProperties.js +29 -21
  530. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
  531. package/build/src/utils/analytics/getMetroDebugProperties.js +4 -1
  532. package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -1
  533. package/build/src/utils/analytics/getMetroProperties.js +4 -1
  534. package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
  535. package/build/src/utils/analytics/metroDebuggerMiddleware.js +14 -6
  536. package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
  537. package/build/src/utils/ansi.js +5 -2
  538. package/build/src/utils/ansi.js.map +1 -1
  539. package/build/src/utils/args.js +57 -29
  540. package/build/src/utils/args.js.map +1 -1
  541. package/build/src/utils/array.js +16 -9
  542. package/build/src/utils/array.js.map +1 -1
  543. package/build/src/utils/cocoapods.js +77 -53
  544. package/build/src/utils/cocoapods.js.map +1 -1
  545. package/build/src/utils/codesigning.js +80 -58
  546. package/build/src/utils/codesigning.js.map +1 -1
  547. package/build/src/utils/createFileTransform.js +13 -5
  548. package/build/src/utils/createFileTransform.js.map +1 -1
  549. package/build/src/utils/delay.js +13 -6
  550. package/build/src/utils/delay.js.map +1 -1
  551. package/build/src/utils/dir.js +24 -21
  552. package/build/src/utils/dir.js.map +1 -1
  553. package/build/src/utils/downloadAppAsync.js +16 -13
  554. package/build/src/utils/downloadAppAsync.js.map +1 -1
  555. package/build/src/utils/downloadExpoGoAsync.js +26 -20
  556. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  557. package/build/src/utils/editor.js +50 -24
  558. package/build/src/utils/editor.js.map +1 -1
  559. package/build/src/utils/env.js +35 -33
  560. package/build/src/utils/env.js.map +1 -1
  561. package/build/src/utils/errors.js +17 -9
  562. package/build/src/utils/errors.js.map +1 -1
  563. package/build/src/utils/exit.js +10 -7
  564. package/build/src/utils/exit.js.map +1 -1
  565. package/build/src/utils/findUp.js +22 -4
  566. package/build/src/utils/findUp.js.map +1 -1
  567. package/build/src/utils/fn.js +11 -3
  568. package/build/src/utils/fn.js.map +1 -1
  569. package/build/src/utils/getOrPromptApplicationId.js +71 -45
  570. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  571. package/build/src/utils/getRunningProcess.js +52 -26
  572. package/build/src/utils/getRunningProcess.js.map +1 -1
  573. package/build/src/utils/git.js +64 -38
  574. package/build/src/utils/git.js.map +1 -1
  575. package/build/src/utils/glob.js +14 -9
  576. package/build/src/utils/glob.js.map +1 -1
  577. package/build/src/utils/interactive.js +5 -2
  578. package/build/src/utils/interactive.js.map +1 -1
  579. package/build/src/utils/ip.js +5 -2
  580. package/build/src/utils/ip.js.map +1 -1
  581. package/build/src/utils/isModuleSymlinked.js +7 -4
  582. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  583. package/build/src/utils/link.js +13 -5
  584. package/build/src/utils/link.js.map +1 -1
  585. package/build/src/utils/mergeGitIgnorePaths.js +22 -17
  586. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  587. package/build/src/utils/modifyConfigAsync.js +56 -30
  588. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  589. package/build/src/utils/modifyConfigPlugins.js +43 -22
  590. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  591. package/build/src/utils/nodeEnv.js +6 -1
  592. package/build/src/utils/nodeEnv.js.map +1 -1
  593. package/build/src/utils/nodeModules.js +9 -6
  594. package/build/src/utils/nodeModules.js.map +1 -1
  595. package/build/src/utils/npm.js +32 -24
  596. package/build/src/utils/npm.js.map +1 -1
  597. package/build/src/utils/obj.js +12 -4
  598. package/build/src/utils/obj.js.map +1 -1
  599. package/build/src/utils/open.js +7 -4
  600. package/build/src/utils/open.js.map +1 -1
  601. package/build/src/utils/ora.js +25 -21
  602. package/build/src/utils/ora.js.map +1 -1
  603. package/build/src/utils/plist.js +53 -27
  604. package/build/src/utils/plist.js.map +1 -1
  605. package/build/src/utils/port.js +58 -32
  606. package/build/src/utils/port.js.map +1 -1
  607. package/build/src/utils/profile.js +49 -28
  608. package/build/src/utils/profile.js.map +1 -1
  609. package/build/src/utils/progress.js +16 -12
  610. package/build/src/utils/progress.js.map +1 -1
  611. package/build/src/utils/prompts.js +33 -28
  612. package/build/src/utils/prompts.js.map +1 -1
  613. package/build/src/utils/resolveArgs.js +23 -20
  614. package/build/src/utils/resolveArgs.js.map +1 -1
  615. package/build/src/utils/scheme.js +61 -37
  616. package/build/src/utils/scheme.js.map +1 -1
  617. package/build/src/utils/strings.js +11 -4
  618. package/build/src/utils/strings.js.map +1 -1
  619. package/build/src/utils/tar.js +43 -22
  620. package/build/src/utils/tar.js.map +1 -1
  621. package/build/src/utils/telemetry/DetachedClient.js +8 -5
  622. package/build/src/utils/telemetry/DetachedClient.js.map +1 -1
  623. package/build/src/utils/telemetry/RudderClient.js +12 -9
  624. package/build/src/utils/telemetry/RudderClient.js.map +1 -1
  625. package/build/src/utils/telemetry/flushDetached.js +8 -7
  626. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  627. package/build/src/utils/telemetry/getContext.js +48 -28
  628. package/build/src/utils/telemetry/getContext.js.map +1 -1
  629. package/build/src/utils/telemetry/index.js +16 -11
  630. package/build/src/utils/telemetry/index.js.map +1 -1
  631. package/build/src/utils/template.js +27 -2
  632. package/build/src/utils/template.js.map +1 -1
  633. package/build/src/utils/terminal.js +5 -2
  634. package/build/src/utils/terminal.js.map +1 -1
  635. package/build/src/utils/tsconfig/evaluateTsConfig.js +18 -12
  636. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  637. package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -10
  638. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  639. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +8 -4
  640. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  641. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -9
  642. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  643. package/build/src/utils/url.js +17 -10
  644. package/build/src/utils/url.js.map +1 -1
  645. package/build/src/utils/validateApplicationId.js +32 -25
  646. package/build/src/utils/validateApplicationId.js.map +1 -1
  647. package/build/src/utils/variadic.js +15 -11
  648. package/build/src/utils/variadic.js.map +1 -1
  649. package/build/src/whoami/index.js +43 -25
  650. package/build/src/whoami/index.js.map +1 -1
  651. package/build/src/whoami/whoamiAsync.js +44 -23
  652. package/build/src/whoami/whoamiAsync.js.map +1 -1
  653. package/package.json +4 -4
@@ -1,26 +1,40 @@
1
- "use strict";
1
+ /**
2
+ * Copyright © 2023 650 Industries.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */ "use strict";
2
7
  Object.defineProperty(exports, "__esModule", {
3
8
  value: true
4
9
  });
5
- exports.createFastResolver = createFastResolver;
10
+ function _export(target, all) {
11
+ for(var name in all)Object.defineProperty(target, name, {
12
+ enumerable: true,
13
+ get: all[name]
14
+ });
15
+ }
16
+ _export(exports, {
17
+ FailedToResolvePathError: ()=>FailedToResolvePathError,
18
+ createFastResolver: ()=>createFastResolver
19
+ });
6
20
  function _fs() {
7
- const data = _interopRequireDefault(require("fs"));
21
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
8
22
  _fs = function() {
9
23
  return data;
10
24
  };
11
25
  return data;
12
26
  }
13
27
  function _path() {
14
- const data = _interopRequireDefault(require("path"));
28
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
15
29
  _path = function() {
16
30
  return data;
17
31
  };
18
32
  return data;
19
33
  }
20
- var _createJResolver = _interopRequireDefault(require("./createJResolver"));
21
- var _externals = require("./externals");
22
- var _formatFileCandidates = require("./formatFileCandidates");
23
- var _metroOptions = require("../middleware/metroOptions");
34
+ const _createJResolver = /*#__PURE__*/ _interopRequireDefault(require("./createJResolver"));
35
+ const _externals = require("./externals");
36
+ const _formatFileCandidates = require("./formatFileCandidates");
37
+ const _metroOptions = require("../middleware/metroOptions");
24
38
  function _interopRequireDefault(obj) {
25
39
  return obj && obj.__esModule ? obj : {
26
40
  default: obj
@@ -31,7 +45,6 @@ class FailedToResolvePathError extends Error {
31
45
  // TODO: Test that this matches `isFailedToResolvePathError`
32
46
  candidates = {};
33
47
  }
34
- exports.FailedToResolvePathError = FailedToResolvePathError;
35
48
  class ShimModuleError extends Error {
36
49
  }
37
50
  const debug = require("debug")("expo:metro:resolve");
@@ -75,15 +88,14 @@ function createFastResolver({ preserveSymlinks , blockList }) {
75
88
  }
76
89
  output = Array.from(new Set(output));
77
90
  // resolve expects these to start with a dot.
78
- output = output.map((ext)=>`.${ext}`
79
- );
91
+ output = output.map((ext)=>`.${ext}`);
80
92
  cachedExtensions.set(key, output);
81
93
  return output;
82
94
  }
83
95
  function fastResolve(context, moduleName, platform) {
84
- var ref2;
85
- const environment = (ref2 = context.customResolverOptions) == null ? void 0 : ref2.environment;
86
- const isServer = (0, _metroOptions).isServerEnvironment(environment);
96
+ var ref;
97
+ const environment = (ref = context.customResolverOptions) == null ? void 0 : ref.environment;
98
+ const isServer = (0, _metroOptions.isServerEnvironment)(environment);
87
99
  const extensions = getAdjustedExtensions({
88
100
  metroSourceExtensions: context.sourceExts,
89
101
  platform,
@@ -99,7 +111,7 @@ function createFastResolver({ preserveSymlinks , blockList }) {
99
111
  ]),
100
112
  ] : [];
101
113
  try {
102
- fp = (0, _createJResolver).default(moduleName, {
114
+ fp = (0, _createJResolver.default)(moduleName, {
103
115
  blockList,
104
116
  enablePackageExports: context.unstable_enablePackageExports,
105
117
  basedir: _path().default.dirname(context.originModulePath),
@@ -170,7 +182,7 @@ function createFastResolver({ preserveSymlinks , blockList }) {
170
182
  };
171
183
  }
172
184
  if ("code" in error && error.code === "MODULE_NOT_FOUND") {
173
- if ((0, _externals).isNodeExternal(moduleName)) {
185
+ if ((0, _externals.isNodeExternal)(moduleName)) {
174
186
  // In this case, mock the file to use an empty module.
175
187
  return {
176
188
  type: "empty"
@@ -183,7 +195,7 @@ function createFastResolver({ preserveSymlinks , blockList }) {
183
195
  isServer,
184
196
  preserveSymlinks
185
197
  }, context);
186
- throw new FailedToResolvePathError("The module could not be resolved because no file or module matched the pattern:\n" + ` ${(0, _formatFileCandidates).formatFileCandidates({
198
+ throw new FailedToResolvePathError("The module could not be resolved because no file or module matched the pattern:\n" + ` ${(0, _formatFileCandidates.formatFileCandidates)({
187
199
  type: "sourceFile",
188
200
  filePathPrefix: moduleName,
189
201
  candidateExts: extensions
@@ -191,14 +203,13 @@ function createFastResolver({ preserveSymlinks , blockList }) {
191
203
  }
192
204
  throw error;
193
205
  }
194
- if (context.sourceExts.some((ext)=>fp.endsWith(ext)
195
- )) {
206
+ if (context.sourceExts.some((ext)=>fp.endsWith(ext))) {
196
207
  return {
197
208
  type: "sourceFile",
198
209
  filePath: fp
199
210
  };
200
211
  }
201
- if ((0, _externals).isNodeExternal(fp)) {
212
+ if ((0, _externals.isNodeExternal)(fp)) {
202
213
  if (isServer) {
203
214
  return {
204
215
  type: "sourceFile",
@@ -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 >,\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.unstable_conditionNames,\n ...(platform != null ? context.unstable_conditionsByPlatform[platform] ?? [] : []),\n ]),\n ]\n : [];\n try {\n fp = jestResolver(moduleName, {\n blockList,\n enablePackageExports: context.unstable_enablePackageExports,\n basedir: path.dirname(context.originModulePath),\n paths: context.nodeModulesPaths.length ? (context.nodeModulesPaths as string[]) : undefined,\n extensions,\n conditions,\n realpathSync(file: string): string {\n let metroRealPath: string | null = null;\n\n try {\n // @ts-expect-error: Missing on type.\n metroRealPath = context.unstable_getRealPath?.(file);\n } catch (error: any) {\n // If invariant\n if (error.message !== 'Unexpectedly escaped traversal') {\n throw error;\n }\n }\n\n if (metroRealPath == null && preserveSymlinks) {\n return realpathSync(file);\n }\n return metroRealPath ?? file;\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":["createFastResolver","FailedToResolvePathError","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","unstable_conditionNames","unstable_conditionsByPlatform","jestResolver","enablePackageExports","basedir","path","dirname","originModulePath","paths","nodeModulesPaths","length","undefined","file","metroRealPath","unstable_getRealPath","error","message","packageFilter","pkg","field","mainFields","main","readPackageSync","readFileSync","pkgFile","getPackage","parse","includeCoreModules","pathFilter","_resolvedPath","relativePathIn","relativePath","replacements","browser","mappedPath","type","isNodeExternal","formatFileCandidates","filePathPrefix","candidateExts","some","endsWith","filePath","filePaths","dirPath","extension","extname","basename","resolveAsset"],"mappings":"AAMA;;;;QAmCgBA,kBAAkB,GAAlBA,kBAAkB;SAnCnB,GAAI;gDAAJ,IAAI;IAAJ,GAAI;;;;;SAEF,KAAM;gDAAN,MAAM;IAAN,KAAM;;;;;AAEE,IAAA,gBAAmB,kCAAnB,mBAAmB,EAAA;AACb,IAAA,UAAa,WAAb,aAAa,CAAA;AACP,IAAA,qBAAwB,WAAxB,wBAAwB,CAAA;AACzB,IAAA,aAA4B,WAA5B,4BAA4B,CAAA;;;;;;AAEzD,MAAMC,wBAAwB,SAASC,KAAK;IACjD,uDAAuD;IACvD,4DAA4D;IAC5DC,UAAU,GAAG,EAAE,CAAC;CACjB;QAJYF,wBAAwB,GAAxBA,wBAAwB;AAMrC,MAAMG,eAAe,SAASF,KAAK;CAAG;AAEtC,MAAMG,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,AAAsB,AAAC;AAE3E,MAAMC,UAAU,GACdC,OAAO,CAACC,QAAQ,KAAK,OAAO,IAAIC,GAAE,UAAA,CAACC,YAAY,IAAI,OAAOD,GAAE,UAAA,CAACC,YAAY,CAACC,MAAM,KAAK,UAAU,GAC3FF,GAAE,UAAA,CAACC,YAAY,CAACC,MAAM,GACtBF,GAAE,UAAA,CAACC,YAAY,AAAC;AAEtB,SAASA,YAAY,CAACE,CAAS,EAAE;IAC/B,IAAI;QACF,OAAON,UAAU,CAACM,CAAC,CAAC,CAAC;KACtB,CAAC,OAAOC,WAAW,EAAO;QACzB,IAAIA,WAAW,CAACC,IAAI,KAAK,QAAQ,EAAE;YACjC,MAAMD,WAAW,CAAC;SACnB;KACF;IACD,OAAOD,CAAC,CAAC;CACV;AAEM,SAASb,kBAAkB,CAAC,EACjCgB,gBAAgB,CAAA,EAChBC,SAAS,CAAA,EAIV,EAAE;IACDZ,KAAK,CAAC,yBAAyB,EAAE;QAAEW,gBAAgB;QAAEC,SAAS;KAAE,CAAC,CAAC;IAClE,MAAMC,gBAAgB,GAAmC,IAAIC,GAAG,EAAE,AAAC;IAEnE,SAASC,qBAAqB,CAAC,EAC7BC,qBAAqB,CAAA,EACrBZ,QAAQ,CAAA,EACRa,QAAQ,CAAA,EAKT,EAAqB;QACpB,MAAMC,GAAG,GAAGC,IAAI,CAACC,SAAS,CAAC;YAAEJ,qBAAqB;YAAEZ,QAAQ;YAAEa,QAAQ;SAAE,CAAC,AAAC;QAC1E,IAAIJ,gBAAgB,CAACQ,GAAG,CAACH,GAAG,CAAC,EAAE;YAC7B,OAAOL,gBAAgB,CAACS,GAAG,CAACJ,GAAG,CAAC,CAAE;SACnC;QAED,IAAIK,MAAM,GAAGP,qBAAqB,AAAC;QACnC,IAAIZ,QAAQ,EAAE;YACZ,MAAMoB,UAAU,GAAa,EAAE,AAAC;YAEhCD,MAAM,CAACE,OAAO,CAAC,CAACC,GAAG,GAAK;gBACtBF,UAAU,CAACG,IAAI,CAAC,CAAC,EAAEvB,QAAQ,CAAC,CAAC,EAAEsB,GAAG,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAIT,QAAQ,EAAE;oBACZO,UAAU,CAACG,IAAI,CAAC,CAAC,OAAO,EAAED,GAAG,CAAC,CAAC,CAAC,CAAC;iBAClC;gBACDF,UAAU,CAACG,IAAI,CAACD,GAAG,CAAC,CAAC;aACtB,CAAC,CAAC;YAEHH,MAAM,GAAGC,UAAU,CAAC;SACrB;QAEDD,MAAM,GAAGK,KAAK,CAACC,IAAI,CAAC,IAAIC,GAAG,CAASP,MAAM,CAAC,CAAC,CAAC;QAE7C,6CAA6C;QAC7CA,MAAM,GAAGA,MAAM,CAACQ,GAAG,CAAC,CAACL,GAAG,GAAK,CAAC,CAAC,EAAEA,GAAG,CAAC,CAAC;QAAA,CAAC,CAAC;QAExCb,gBAAgB,CAACmB,GAAG,CAACd,GAAG,EAAEK,MAAM,CAAC,CAAC;QAElC,OAAOA,MAAM,CAAC;KACf;IAED,SAASU,WAAW,CAClBC,OAaC,EACDC,UAAkB,EAClB/B,QAAuB,EACX;YACQ8B,IAA6B;QAAjD,MAAME,WAAW,GAAGF,CAAAA,IAA6B,GAA7BA,OAAO,CAACG,qBAAqB,SAAa,GAA1CH,KAAAA,CAA0C,GAA1CA,IAA6B,CAAEE,WAAW,AAAC;QAC/D,MAAME,QAAQ,GAAGC,CAAAA,GAAAA,aAAmB,AAAa,CAAA,oBAAb,CAACH,WAAW,CAAC,AAAC;QAElD,MAAMI,UAAU,GAAGzB,qBAAqB,CAAC;YACvCC,qBAAqB,EAAEkB,OAAO,CAACO,UAAU;YACzCrC,QAAQ;YACRa,QAAQ,EAAEiB,OAAO,CAACQ,oBAAoB;SACvC,CAAC,AAAY,AAAC;QAEf,IAAIC,EAAE,AAAQ,AAAC;YAOgBT,SAA+C;QAL9E,MAAMU,UAAU,GAAGV,OAAO,CAACW,6BAA6B,GACpD;eACK,IAAIf,GAAG,CAAC;gBACT,SAAS;mBACNI,OAAO,CAACY,uBAAuB;mBAC9B1C,QAAQ,IAAI,IAAI,GAAG8B,CAAAA,SAA+C,GAA/CA,OAAO,CAACa,6BAA6B,CAAC3C,QAAQ,CAAC,YAA/C8B,SAA+C,GAAI,EAAE,GAAG,EAAE;aAClF,CAAC;SACH,GACD,EAAE,AAAC;QACP,IAAI;YACFS,EAAE,GAAGK,CAAAA,GAAAA,gBAAY,AAyEf,CAAA,QAzEe,CAACb,UAAU,EAAE;gBAC5BvB,SAAS;gBACTqC,oBAAoB,EAAEf,OAAO,CAACW,6BAA6B;gBAC3DK,OAAO,EAAEC,KAAI,UAAA,CAACC,OAAO,CAAClB,OAAO,CAACmB,gBAAgB,CAAC;gBAC/CC,KAAK,EAAEpB,OAAO,CAACqB,gBAAgB,CAACC,MAAM,GAAItB,OAAO,CAACqB,gBAAgB,GAAgBE,SAAS;gBAC3FjB,UAAU;gBACVI,UAAU;gBACVtC,YAAY,EAACoD,IAAY,EAAU;oBACjC,IAAIC,aAAa,GAAkB,IAAI,AAAC;oBAExC,IAAI;wBACF,qCAAqC;wBACrCA,aAAa,GAAGzB,OAAO,CAAC0B,oBAAoB,QAAQ,GAApC1B,KAAAA,CAAoC,GAApCA,OAAO,CAAC0B,oBAAoB,CAAGF,IAAI,CAAC,CAAC;qBACtD,CAAC,OAAOG,KAAK,EAAO;wBACnB,eAAe;wBACf,IAAIA,KAAK,CAACC,OAAO,KAAK,gCAAgC,EAAE;4BACtD,MAAMD,KAAK,CAAC;yBACb;qBACF;oBAED,IAAIF,aAAa,IAAI,IAAI,IAAIhD,gBAAgB,EAAE;wBAC7C,OAAOL,YAAY,CAACoD,IAAI,CAAC,CAAC;qBAC3B;oBACD,OAAOC,aAAa,WAAbA,aAAa,GAAID,IAAI,CAAC;iBAC9B;gBACDK,aAAa,EAACC,GAAG,EAAE;oBACjB,sEAAsE;oBACtE,KAAK,MAAMC,KAAK,IAAI/B,OAAO,CAACgC,UAAU,CAAE;wBACtC,IACEF,GAAG,CAACC,KAAK,CAAC,IACV,kDAAkD;wBAClD,OAAOD,GAAG,CAACC,KAAK,CAAC,KAAK,QAAQ,EAC9B;4BACA,OAAO;gCACL,GAAGD,GAAG;gCACNG,IAAI,EAAEH,GAAG,CAACC,KAAK,CAAC;6BACjB,CAAC;yBACH;qBACF;oBACD,OAAOD,GAAG,CAAC;iBACZ;gBACD,2GAA2G;gBAC3G,qCAAqC;gBACrCrD,gBAAgB;gBAChByD,eAAe,EAACC,YAAY,EAAEC,OAAO,EAAE;wBAC9BpC,GAA2B;oBAAlC,OAAOA,CAAAA,GAA2B,GAA3BA,OAAO,CAACqC,UAAU,CAACD,OAAO,CAAC,YAA3BpC,GAA2B,GAAIf,IAAI,CAACqD,KAAK,CAACnE,GAAE,UAAA,CAACgE,YAAY,CAACC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;iBACpF;gBACDG,kBAAkB,EAAEnC,QAAQ;gBAE5BoC,UAAU,EACR,mDAAmD;gBACnDpC,QAAQ,GACJmB,SAAS,GAET,CAACO,GAAQ,EAAEW,aAAqB,EAAEC,cAAsB,GAAa;oBACnE,IAAIC,YAAY,GAAGD,cAAc,AAAC;oBAClC,IAAIC,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;wBAC3BA,YAAY,GAAG,CAAC,EAAE,EAAEA,YAAY,CAAC,CAAC,CAAC;qBACpC;oBAED,MAAMC,YAAY,GAAGd,GAAG,CAACe,OAAO,AAAC;oBACjC,IAAID,YAAY,KAAKrB,SAAS,EAAE;wBAC9B,OAAO,EAAE,CAAC;qBACX;wBAIkBqB,aAA0B;oBAF7C,8DAA8D;oBAC9D,wEAAwE;oBACxE,MAAME,UAAU,GAAGF,CAAAA,aAA0B,GAA1BA,YAAY,CAACD,YAAY,CAAC,YAA1BC,aAA0B,GAAIA,YAAY,CAACD,YAAY,GAAG,KAAK,CAAC,AAAC;oBACpF,IAAIG,UAAU,KAAK,KAAK,EAAE;wBACxB,MAAM,IAAIjF,eAAe,EAAE,CAAC;qBAC7B;oBACD,OAAOiF,UAAU,CAAC;iBACnB;aACR,CAAC,CAAC;SACJ,CAAC,OAAOnB,KAAK,EAAO;YACnB,IAAIA,KAAK,YAAY9D,eAAe,EAAE;gBACpC,OAAO;oBACLkF,IAAI,EAAE,OAAO;iBACd,CAAC;aACH;YAED,IAAI,MAAM,IAAIpB,KAAK,IAAIA,KAAK,CAACnD,IAAI,KAAK,kBAAkB,EAAE;gBACxD,IAAIwE,CAAAA,GAAAA,UAAc,AAAY,CAAA,eAAZ,CAAC/C,UAAU,CAAC,EAAE;oBAC9B,sDAAsD;oBACtD,OAAO;wBACL8C,IAAI,EAAE,OAAO;qBACd,CAAC;iBACH;gBAEDjF,KAAK,CAAC;oBAAEmC,UAAU;oBAAE/B,QAAQ;oBAAEwC,UAAU;oBAAEN,QAAQ;oBAAE3B,gBAAgB;iBAAE,EAAEuB,OAAO,CAAC,CAAC;gBAEjF,MAAM,IAAItC,wBAAwB,CAChC,mFAAmF,GACjF,CAAC,EAAE,EAAEuF,CAAAA,GAAAA,qBAAoB,AAOxB,CAAA,qBAPwB,CACvB;oBACEF,IAAI,EAAE,YAAY;oBAClBG,cAAc,EAAEjD,UAAU;oBAC1BkD,aAAa,EAAE7C,UAAU;iBAC1B,EACD,IAAI,CACL,CAAC,aAAa,EAAEN,OAAO,CAACmB,gBAAgB,CAAC,EAAE,CAAC,CAChD,CAAC;aACH;YACD,MAAMQ,KAAK,CAAC;SACb;QAED,IAAI3B,OAAO,CAACO,UAAU,CAAC6C,IAAI,CAAC,CAAC5D,GAAG,GAAKiB,EAAE,CAAC4C,QAAQ,CAAC7D,GAAG,CAAC;QAAA,CAAC,EAAE;YACtD,OAAO;gBACLuD,IAAI,EAAE,YAAY;gBAClBO,QAAQ,EAAE7C,EAAE;aACb,CAAC;SACH;QAED,IAAIuC,CAAAA,GAAAA,UAAc,AAAI,CAAA,eAAJ,CAACvC,EAAE,CAAC,EAAE;YACtB,IAAIL,QAAQ,EAAE;gBACZ,OAAO;oBACL2C,IAAI,EAAE,YAAY;oBAClBO,QAAQ,EAAE7C,EAAE;iBACb,CAAC;aACH;YACD,wDAAwD;YACxD,6CAA6C;YAC7C,OAAO;gBACLsC,IAAI,EAAE,OAAO;aACd,CAAC;SACH;QAED,4DAA4D;QAE5D,IAAI7E,QAAQ,KAAK,KAAK,EAAE;YACtB,+EAA+E;YAC/E,2EAA2E;YAC3E,OAAO;gBACL6E,IAAI,EAAE,YAAY;gBAClBQ,SAAS,EAAE;oBAAC9C,EAAE;iBAAC;aAChB,CAAC;SACH;QAED,MAAM+C,OAAO,GAAGvC,KAAI,UAAA,CAACC,OAAO,CAACT,EAAE,CAAC,AAAC;QACjC,MAAMgD,SAAS,GAAGxC,KAAI,UAAA,CAACyC,OAAO,CAACjD,EAAE,CAAC,AAAC;QACnC,MAAMkD,QAAQ,GAAG1C,KAAI,UAAA,CAAC0C,QAAQ,CAAClD,EAAE,EAAEgD,SAAS,CAAC,AAAC;YAIjCzD,IAAkD;QAH/D,OAAO;YACL+C,IAAI,EAAE,YAAY;YAClB,+CAA+C;YAC/CQ,SAAS,EAAEvD,CAAAA,IAAkD,GAAlDA,OAAO,CAAC4D,YAAY,CAACJ,OAAO,EAAEG,QAAQ,EAAEF,SAAS,CAAC,YAAlDzD,IAAkD,GAAI;gBAACS,EAAE;aAAC;SACtE,CAAC;KACH;IAED,OAAOV,WAAW,CAAC;CACpB"}
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 >,\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.unstable_conditionNames,\n ...(platform != null ? context.unstable_conditionsByPlatform[platform] ?? [] : []),\n ]),\n ]\n : [];\n try {\n fp = jestResolver(moduleName, {\n blockList,\n enablePackageExports: context.unstable_enablePackageExports,\n basedir: path.dirname(context.originModulePath),\n paths: context.nodeModulesPaths.length ? (context.nodeModulesPaths as string[]) : undefined,\n extensions,\n conditions,\n realpathSync(file: string): string {\n let metroRealPath: string | null = null;\n\n try {\n // @ts-expect-error: Missing on type.\n metroRealPath = context.unstable_getRealPath?.(file);\n } catch (error: any) {\n // If invariant\n if (error.message !== 'Unexpectedly escaped traversal') {\n throw error;\n }\n }\n\n if (metroRealPath == null && preserveSymlinks) {\n return realpathSync(file);\n }\n return metroRealPath ?? file;\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","unstable_conditionNames","unstable_conditionsByPlatform","jestResolver","enablePackageExports","basedir","path","dirname","originModulePath","paths","nodeModulesPaths","length","undefined","file","metroRealPath","unstable_getRealPath","error","message","packageFilter","pkg","field","mainFields","main","readPackageSync","readFileSync","pkgFile","getPackage","parse","includeCoreModules","pathFilter","_resolvedPath","relativePathIn","relativePath","replacements","browser","mappedPath","type","isNodeExternal","formatFileCandidates","filePathPrefix","candidateExts","some","endsWith","filePath","filePaths","dirPath","extension","extname","basename","resolveAsset"],"mappings":"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"}
@@ -1,17 +1,29 @@
1
- "use strict";
1
+ /**
2
+ * Copyright © 2023 650 Industries.
3
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ * Fork of the jest resolver but with additional settings for Metro and pnp removed.
9
+ * https://github.com/jestjs/jest/blob/d1a2ed7fea4bdc19836274cd810c8360e3ab62f3/packages/jest-resolve/src/defaultResolver.ts#L1
10
+ */ "use strict";
2
11
  Object.defineProperty(exports, "__esModule", {
3
12
  value: true
4
13
  });
5
- exports.default = void 0;
14
+ Object.defineProperty(exports, "default", {
15
+ enumerable: true,
16
+ get: ()=>_default
17
+ });
6
18
  function _assert() {
7
- const data = _interopRequireDefault(require("assert"));
19
+ const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
8
20
  _assert = function() {
9
21
  return data;
10
22
  };
11
23
  return data;
12
24
  }
13
25
  function _fs() {
14
- const data = _interopRequireDefault(require("fs"));
26
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
15
27
  _fs = function() {
16
28
  return data;
17
29
  };
@@ -31,61 +43,76 @@ function _resolve() {
31
43
  };
32
44
  return data;
33
45
  }
34
- function resolve() {
35
- const data = _interopRequireWildcard(require("resolve.exports"));
36
- resolve = function() {
46
+ function _resolveExports() {
47
+ const data = /*#__PURE__*/ _interopRequireWildcard(require("resolve.exports"));
48
+ _resolveExports = function() {
37
49
  return data;
38
50
  };
39
51
  return data;
40
52
  }
41
- var _dir = require("../../../utils/dir");
53
+ const _dir = require("../../../utils/dir");
42
54
  function _interopRequireDefault(obj) {
43
55
  return obj && obj.__esModule ? obj : {
44
56
  default: obj
45
57
  };
46
58
  }
47
- function _interopRequireWildcard(obj) {
48
- if (obj && obj.__esModule) {
59
+ function _getRequireWildcardCache(nodeInterop) {
60
+ if (typeof WeakMap !== "function") return null;
61
+ var cacheBabelInterop = new WeakMap();
62
+ var cacheNodeInterop = new WeakMap();
63
+ return (_getRequireWildcardCache = function(nodeInterop) {
64
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
65
+ })(nodeInterop);
66
+ }
67
+ function _interopRequireWildcard(obj, nodeInterop) {
68
+ if (!nodeInterop && obj && obj.__esModule) {
49
69
  return obj;
50
- } else {
51
- var newObj = {};
52
- if (obj != null) {
53
- for(var key in obj){
54
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
55
- var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
56
- if (desc.get || desc.set) {
57
- Object.defineProperty(newObj, key, desc);
58
- } else {
59
- newObj[key] = obj[key];
60
- }
61
- }
70
+ }
71
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
72
+ return {
73
+ default: obj
74
+ };
75
+ }
76
+ var cache = _getRequireWildcardCache(nodeInterop);
77
+ if (cache && cache.has(obj)) {
78
+ return cache.get(obj);
79
+ }
80
+ var newObj = {};
81
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
82
+ for(var key in obj){
83
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
84
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
85
+ if (desc && (desc.get || desc.set)) {
86
+ Object.defineProperty(newObj, key, desc);
87
+ } else {
88
+ newObj[key] = obj[key];
62
89
  }
63
90
  }
64
- newObj.default = obj;
65
- return newObj;
66
91
  }
92
+ newObj.default = obj;
93
+ if (cache) {
94
+ cache.set(obj, newObj);
95
+ }
96
+ return newObj;
67
97
  }
68
98
  const defaultResolver = (path, { enablePackageExports , blockList =[] , ...options })=>{
69
99
  // @ts-expect-error
70
100
  const resolveOptions = {
71
101
  ...options,
72
102
  isDirectory (file) {
73
- if (blockList.some((regex)=>regex.test(file)
74
- )) {
103
+ if (blockList.some((regex)=>regex.test(file))) {
75
104
  return false;
76
105
  }
77
- return (0, _dir).directoryExistsSync(file);
106
+ return (0, _dir.directoryExistsSync)(file);
78
107
  },
79
108
  isFile (file) {
80
- if (blockList.some((regex)=>regex.test(file)
81
- )) {
109
+ if (blockList.some((regex)=>regex.test(file))) {
82
110
  return false;
83
111
  }
84
- return (0, _dir).fileExistsSync(file);
112
+ return (0, _dir.fileExistsSync)(file);
85
113
  },
86
114
  pathExists (file) {
87
- if (blockList.some((regex)=>regex.test(file)
88
- )) {
115
+ if (blockList.some((regex)=>regex.test(file))) {
89
116
  return false;
90
117
  }
91
118
  try {
@@ -100,14 +127,13 @@ const defaultResolver = (path, { enablePackageExports , blockList =[] , ...optio
100
127
  };
101
128
  // resolveSync dereferences symlinks to ensure we don't create a separate
102
129
  // module instance depending on how it was referenced.
103
- const result = _resolve().sync(enablePackageExports ? getPathInModule(path, resolveOptions) : path, {
130
+ const result = (0, _resolve().sync)(enablePackageExports ? getPathInModule(path, resolveOptions) : path, {
104
131
  ...resolveOptions,
105
132
  preserveSymlinks: !options.preserveSymlinks
106
133
  });
107
134
  return result;
108
135
  };
109
- var _default = defaultResolver;
110
- exports.default = _default;
136
+ const _default = defaultResolver;
111
137
  /*
112
138
  * helper functions
113
139
  */ function getPathInModule(path, options) {
@@ -130,11 +156,11 @@ exports.default = _default;
130
156
  const closestPackageJson = findClosestPackageJson(options.basedir, options);
131
157
  if (closestPackageJson) {
132
158
  const pkg = options.readPackageSync(options.readFileSync, closestPackageJson);
133
- _assert().default(pkg, "package.json should be read by `readPackageSync`");
159
+ (0, _assert().default)(pkg, "package.json should be read by `readPackageSync`");
134
160
  if (pkg.name === moduleName) {
135
- const resolved = resolve().exports(pkg, segments.join("/") || ".", createResolveOptions(options.conditions));
161
+ const resolved = _resolveExports().exports(pkg, segments.join("/") || ".", createResolveOptions(options.conditions));
136
162
  if (resolved) {
137
- return _path().resolve(_path().dirname(closestPackageJson), resolved[0]);
163
+ return (0, _path().resolve)((0, _path().dirname)(closestPackageJson), resolved[0]);
138
164
  }
139
165
  if (pkg.exports) {
140
166
  throw new Error("`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue");
@@ -143,20 +169,20 @@ exports.default = _default;
143
169
  }
144
170
  let packageJsonPath = "";
145
171
  try {
146
- packageJsonPath = _resolve().sync(`${moduleName}/package.json`, options);
172
+ packageJsonPath = (0, _resolve().sync)(`${moduleName}/package.json`, options);
147
173
  } catch {
148
174
  // ignore if package.json cannot be found
149
175
  }
150
176
  if (!packageJsonPath) {
151
177
  return path;
152
178
  }
153
- const pkg = options.readPackageSync(options.readFileSync, packageJsonPath);
154
- _assert().default(pkg, "package.json should be read by `readPackageSync`");
155
- const resolved = resolve().exports(pkg, segments.join("/") || ".", createResolveOptions(options.conditions));
156
- if (resolved) {
157
- return _path().resolve(_path().dirname(packageJsonPath), resolved[0]);
179
+ const pkg1 = options.readPackageSync(options.readFileSync, packageJsonPath);
180
+ (0, _assert().default)(pkg1, "package.json should be read by `readPackageSync`");
181
+ const resolved1 = _resolveExports().exports(pkg1, segments.join("/") || ".", createResolveOptions(options.conditions));
182
+ if (resolved1) {
183
+ return (0, _path().resolve)((0, _path().dirname)(packageJsonPath), resolved1[0]);
158
184
  }
159
- if (pkg.exports) {
185
+ if (pkg1.exports) {
160
186
  throw new Error("`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue");
161
187
  }
162
188
  return path;
@@ -171,23 +197,22 @@ function createResolveOptions(conditions) {
171
197
  };
172
198
  }
173
199
  // if it's a relative import or an absolute path, imports/exports are ignored
174
- const shouldIgnoreRequestForExports = (path)=>path.startsWith(".") || _path().isAbsolute(path)
175
- ;
200
+ const shouldIgnoreRequestForExports = (path)=>path.startsWith(".") || (0, _path().isAbsolute)(path);
176
201
  // adapted from
177
202
  // https://github.com/lukeed/escalade/blob/2477005062cdbd8407afc90d3f48f4930354252b/src/sync.js
178
203
  function findClosestPackageJson(start, options) {
179
- let dir = _path().resolve(".", start);
204
+ let dir = (0, _path().resolve)(".", start);
180
205
  if (!options.isDirectory(dir)) {
181
- dir = _path().dirname(dir);
206
+ dir = (0, _path().dirname)(dir);
182
207
  }
183
208
  while(true){
184
- const pkgJsonFile = _path().resolve(dir, "./package.json");
209
+ const pkgJsonFile = (0, _path().resolve)(dir, "./package.json");
185
210
  const hasPackageJson = options.pathExists(pkgJsonFile);
186
211
  if (hasPackageJson) {
187
212
  return pkgJsonFile;
188
213
  }
189
214
  const prevDir = dir;
190
- dir = _path().dirname(dir);
215
+ dir = (0, _path().dirname)(dir);
191
216
  if (prevDir === dir) {
192
217
  return undefined;
193
218
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/server/metro/createJResolver.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\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 *\n * Fork of the jest resolver but with additional settings for Metro and pnp removed.\n * https://github.com/jestjs/jest/blob/d1a2ed7fea4bdc19836274cd810c8360e3ab62f3/packages/jest-resolve/src/defaultResolver.ts#L1\n */\nimport type { JSONObject as PackageJSON } from '@expo/json-file';\nimport assert from 'assert';\nimport fs from 'fs';\nimport { dirname, isAbsolute, resolve as pathResolve } from 'path';\nimport { sync as resolveSync, SyncOpts as UpstreamResolveOptions } from 'resolve';\nimport * as resolve from 'resolve.exports';\n\nimport { directoryExistsSync, fileExistsSync } from '../../../utils/dir';\n\n/**\n * Allows transforming parsed `package.json` contents.\n *\n * @param pkg - Parsed `package.json` contents.\n * @param file - Path to `package.json` file.\n * @param dir - Directory that contains the `package.json`.\n *\n * @returns Transformed `package.json` contents.\n */\ntype PackageFilter = (pkg: PackageJSON, file: string, dir: string) => PackageJSON;\n\n/**\n * Allows transforming a path within a package.\n *\n * @param pkg - Parsed `package.json` contents.\n * @param path - Path being resolved.\n * @param relativePath - Path relative from the `package.json` location.\n *\n * @returns Relative path that will be joined from the `package.json` location.\n */\ntype PathFilter = (pkg: PackageJSON, path: string, relativePath: string) => string;\n\ntype ResolverOptions = {\n /** Directory to begin resolving from. */\n basedir: string;\n /** List of export conditions. */\n conditions?: string[];\n /** Instance of default resolver. */\n defaultResolver: typeof defaultResolver;\n /** List of file extensions to search in order. */\n extensions?: string[];\n /**\n * List of directory names to be looked up for modules recursively.\n *\n * @defaultValue\n * The default is `['node_modules']`.\n */\n moduleDirectory?: string[];\n /**\n * List of `require.paths` to use if nothing is found in `node_modules`.\n *\n * @defaultValue\n * The default is `undefined`.\n */\n paths?: string[];\n /** Allows transforming parsed `package.json` contents. */\n packageFilter?: PackageFilter;\n /** Allows transforms a path within a package. */\n pathFilter?: PathFilter;\n /** Current root directory. */\n rootDir?: string;\n\n enablePackageExports?: boolean;\n\n blockList: RegExp[];\n\n getPackageForModule: import('metro-resolver').CustomResolutionContext['getPackageForModule'];\n} & Pick<\n UpstreamResolveOptions,\n | 'readPackageSync'\n | 'realpathSync'\n | 'moduleDirectory'\n | 'extensions'\n | 'preserveSymlinks'\n | 'includeCoreModules'\n>;\n\ntype UpstreamResolveOptionsWithConditions = UpstreamResolveOptions &\n ResolverOptions & {\n pathExists: (file: string) => boolean;\n };\n\nconst defaultResolver = (\n path: string,\n {\n enablePackageExports,\n blockList = [],\n ...options\n }: Omit<ResolverOptions, 'defaultResolver' | 'getPackageForModule'>\n): string => {\n // @ts-expect-error\n const resolveOptions: UpstreamResolveOptionsWithConditions = {\n ...options,\n\n isDirectory(file) {\n if (blockList.some((regex) => regex.test(file))) {\n return false;\n }\n return directoryExistsSync(file);\n },\n isFile(file) {\n if (blockList.some((regex) => regex.test(file))) {\n return false;\n }\n return fileExistsSync(file);\n },\n pathExists(file) {\n if (blockList.some((regex) => regex.test(file))) {\n return false;\n }\n try {\n fs.accessSync(path, fs.constants.F_OK);\n return true; // File exists\n } catch {\n return false; // File doesn't exist\n }\n },\n preserveSymlinks: options.preserveSymlinks,\n defaultResolver,\n };\n\n // resolveSync dereferences symlinks to ensure we don't create a separate\n // module instance depending on how it was referenced.\n const result = resolveSync(enablePackageExports ? getPathInModule(path, resolveOptions) : path, {\n ...resolveOptions,\n preserveSymlinks: !options.preserveSymlinks,\n });\n\n return result;\n};\n\nexport default defaultResolver;\n\n/*\n * helper functions\n */\n\nfunction getPathInModule(path: string, options: UpstreamResolveOptionsWithConditions): string {\n if (shouldIgnoreRequestForExports(path)) {\n return path;\n }\n\n const segments = path.split('/');\n\n let moduleName = segments.shift();\n\n if (!moduleName) {\n return path;\n }\n\n if (moduleName.startsWith('@')) {\n moduleName = `${moduleName}/${segments.shift()}`;\n }\n\n // Disable package exports for babel/runtime for https://github.com/facebook/metro/issues/984/\n if (moduleName === '@babel/runtime') {\n return path;\n }\n\n // self-reference\n const closestPackageJson = findClosestPackageJson(options.basedir, options);\n if (closestPackageJson) {\n const pkg = options.readPackageSync!(options.readFileSync!, closestPackageJson);\n assert(pkg, 'package.json should be read by `readPackageSync`');\n\n if (pkg.name === moduleName) {\n const resolved = resolve.exports(\n pkg,\n (segments.join('/') || '.') as resolve.Exports.Entry,\n createResolveOptions(options.conditions)\n );\n\n if (resolved) {\n return pathResolve(dirname(closestPackageJson), resolved[0]);\n }\n\n if (pkg.exports) {\n throw new Error(\n \"`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue\"\n );\n }\n }\n }\n\n let packageJsonPath = '';\n\n try {\n packageJsonPath = resolveSync(`${moduleName}/package.json`, options);\n } catch {\n // ignore if package.json cannot be found\n }\n\n if (!packageJsonPath) {\n return path;\n }\n\n const pkg = options.readPackageSync!(options.readFileSync!, packageJsonPath);\n assert(pkg, 'package.json should be read by `readPackageSync`');\n\n const resolved = resolve.exports(\n pkg,\n (segments.join('/') || '.') as resolve.Exports.Entry,\n createResolveOptions(options.conditions)\n );\n\n if (resolved) {\n return pathResolve(dirname(packageJsonPath), resolved[0]);\n }\n\n if (pkg.exports) {\n throw new Error(\n \"`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue\"\n );\n }\n\n return path;\n}\n\nfunction createResolveOptions(conditions: string[] | undefined): resolve.Options {\n return conditions\n ? { conditions, unsafe: true }\n : // no conditions were passed - let's assume this is Jest internal and it should be `require`\n { browser: false, require: true };\n}\n\n// if it's a relative import or an absolute path, imports/exports are ignored\nconst shouldIgnoreRequestForExports = (path: string) => path.startsWith('.') || isAbsolute(path);\n\n// adapted from\n// https://github.com/lukeed/escalade/blob/2477005062cdbd8407afc90d3f48f4930354252b/src/sync.js\nfunction findClosestPackageJson(\n start: string,\n options: UpstreamResolveOptionsWithConditions\n): string | undefined {\n let dir = pathResolve('.', start);\n if (!options.isDirectory!(dir)) {\n dir = dirname(dir);\n }\n\n while (true) {\n const pkgJsonFile = pathResolve(dir, './package.json');\n const hasPackageJson = options.pathExists!(pkgJsonFile);\n\n if (hasPackageJson) {\n return pkgJsonFile;\n }\n\n const prevDir = dir;\n dir = dirname(dir);\n\n if (prevDir === dir) {\n return undefined;\n }\n }\n}\n"],"names":["resolve","defaultResolver","path","enablePackageExports","blockList","options","resolveOptions","isDirectory","file","some","regex","test","directoryExistsSync","isFile","fileExistsSync","pathExists","fs","accessSync","constants","F_OK","preserveSymlinks","result","resolveSync","getPathInModule","shouldIgnoreRequestForExports","segments","split","moduleName","shift","startsWith","closestPackageJson","findClosestPackageJson","basedir","pkg","readPackageSync","readFileSync","assert","name","resolved","exports","join","createResolveOptions","conditions","pathResolve","dirname","Error","packageJsonPath","unsafe","browser","require","isAbsolute","start","dir","pkgJsonFile","hasPackageJson","prevDir","undefined"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/createJResolver.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\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 *\n * Fork of the jest resolver but with additional settings for Metro and pnp removed.\n * https://github.com/jestjs/jest/blob/d1a2ed7fea4bdc19836274cd810c8360e3ab62f3/packages/jest-resolve/src/defaultResolver.ts#L1\n */\nimport type { JSONObject as PackageJSON } from '@expo/json-file';\nimport assert from 'assert';\nimport fs from 'fs';\nimport { dirname, isAbsolute, resolve as pathResolve } from 'path';\nimport { sync as resolveSync, SyncOpts as UpstreamResolveOptions } from 'resolve';\nimport * as resolve from 'resolve.exports';\n\nimport { directoryExistsSync, fileExistsSync } from '../../../utils/dir';\n\n/**\n * Allows transforming parsed `package.json` contents.\n *\n * @param pkg - Parsed `package.json` contents.\n * @param file - Path to `package.json` file.\n * @param dir - Directory that contains the `package.json`.\n *\n * @returns Transformed `package.json` contents.\n */\ntype PackageFilter = (pkg: PackageJSON, file: string, dir: string) => PackageJSON;\n\n/**\n * Allows transforming a path within a package.\n *\n * @param pkg - Parsed `package.json` contents.\n * @param path - Path being resolved.\n * @param relativePath - Path relative from the `package.json` location.\n *\n * @returns Relative path that will be joined from the `package.json` location.\n */\ntype PathFilter = (pkg: PackageJSON, path: string, relativePath: string) => string;\n\ntype ResolverOptions = {\n /** Directory to begin resolving from. */\n basedir: string;\n /** List of export conditions. */\n conditions?: string[];\n /** Instance of default resolver. */\n defaultResolver: typeof defaultResolver;\n /** List of file extensions to search in order. */\n extensions?: string[];\n /**\n * List of directory names to be looked up for modules recursively.\n *\n * @defaultValue\n * The default is `['node_modules']`.\n */\n moduleDirectory?: string[];\n /**\n * List of `require.paths` to use if nothing is found in `node_modules`.\n *\n * @defaultValue\n * The default is `undefined`.\n */\n paths?: string[];\n /** Allows transforming parsed `package.json` contents. */\n packageFilter?: PackageFilter;\n /** Allows transforms a path within a package. */\n pathFilter?: PathFilter;\n /** Current root directory. */\n rootDir?: string;\n\n enablePackageExports?: boolean;\n\n blockList: RegExp[];\n\n getPackageForModule: import('metro-resolver').CustomResolutionContext['getPackageForModule'];\n} & Pick<\n UpstreamResolveOptions,\n | 'readPackageSync'\n | 'realpathSync'\n | 'moduleDirectory'\n | 'extensions'\n | 'preserveSymlinks'\n | 'includeCoreModules'\n>;\n\ntype UpstreamResolveOptionsWithConditions = UpstreamResolveOptions &\n ResolverOptions & {\n pathExists: (file: string) => boolean;\n };\n\nconst defaultResolver = (\n path: string,\n {\n enablePackageExports,\n blockList = [],\n ...options\n }: Omit<ResolverOptions, 'defaultResolver' | 'getPackageForModule'>\n): string => {\n // @ts-expect-error\n const resolveOptions: UpstreamResolveOptionsWithConditions = {\n ...options,\n\n isDirectory(file) {\n if (blockList.some((regex) => regex.test(file))) {\n return false;\n }\n return directoryExistsSync(file);\n },\n isFile(file) {\n if (blockList.some((regex) => regex.test(file))) {\n return false;\n }\n return fileExistsSync(file);\n },\n pathExists(file) {\n if (blockList.some((regex) => regex.test(file))) {\n return false;\n }\n try {\n fs.accessSync(path, fs.constants.F_OK);\n return true; // File exists\n } catch {\n return false; // File doesn't exist\n }\n },\n preserveSymlinks: options.preserveSymlinks,\n defaultResolver,\n };\n\n // resolveSync dereferences symlinks to ensure we don't create a separate\n // module instance depending on how it was referenced.\n const result = resolveSync(enablePackageExports ? getPathInModule(path, resolveOptions) : path, {\n ...resolveOptions,\n preserveSymlinks: !options.preserveSymlinks,\n });\n\n return result;\n};\n\nexport default defaultResolver;\n\n/*\n * helper functions\n */\n\nfunction getPathInModule(path: string, options: UpstreamResolveOptionsWithConditions): string {\n if (shouldIgnoreRequestForExports(path)) {\n return path;\n }\n\n const segments = path.split('/');\n\n let moduleName = segments.shift();\n\n if (!moduleName) {\n return path;\n }\n\n if (moduleName.startsWith('@')) {\n moduleName = `${moduleName}/${segments.shift()}`;\n }\n\n // Disable package exports for babel/runtime for https://github.com/facebook/metro/issues/984/\n if (moduleName === '@babel/runtime') {\n return path;\n }\n\n // self-reference\n const closestPackageJson = findClosestPackageJson(options.basedir, options);\n if (closestPackageJson) {\n const pkg = options.readPackageSync!(options.readFileSync!, closestPackageJson);\n assert(pkg, 'package.json should be read by `readPackageSync`');\n\n if (pkg.name === moduleName) {\n const resolved = resolve.exports(\n pkg,\n (segments.join('/') || '.') as resolve.Exports.Entry,\n createResolveOptions(options.conditions)\n );\n\n if (resolved) {\n return pathResolve(dirname(closestPackageJson), resolved[0]);\n }\n\n if (pkg.exports) {\n throw new Error(\n \"`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue\"\n );\n }\n }\n }\n\n let packageJsonPath = '';\n\n try {\n packageJsonPath = resolveSync(`${moduleName}/package.json`, options);\n } catch {\n // ignore if package.json cannot be found\n }\n\n if (!packageJsonPath) {\n return path;\n }\n\n const pkg = options.readPackageSync!(options.readFileSync!, packageJsonPath);\n assert(pkg, 'package.json should be read by `readPackageSync`');\n\n const resolved = resolve.exports(\n pkg,\n (segments.join('/') || '.') as resolve.Exports.Entry,\n createResolveOptions(options.conditions)\n );\n\n if (resolved) {\n return pathResolve(dirname(packageJsonPath), resolved[0]);\n }\n\n if (pkg.exports) {\n throw new Error(\n \"`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue\"\n );\n }\n\n return path;\n}\n\nfunction createResolveOptions(conditions: string[] | undefined): resolve.Options {\n return conditions\n ? { conditions, unsafe: true }\n : // no conditions were passed - let's assume this is Jest internal and it should be `require`\n { browser: false, require: true };\n}\n\n// if it's a relative import or an absolute path, imports/exports are ignored\nconst shouldIgnoreRequestForExports = (path: string) => path.startsWith('.') || isAbsolute(path);\n\n// adapted from\n// https://github.com/lukeed/escalade/blob/2477005062cdbd8407afc90d3f48f4930354252b/src/sync.js\nfunction findClosestPackageJson(\n start: string,\n options: UpstreamResolveOptionsWithConditions\n): string | undefined {\n let dir = pathResolve('.', start);\n if (!options.isDirectory!(dir)) {\n dir = dirname(dir);\n }\n\n while (true) {\n const pkgJsonFile = pathResolve(dir, './package.json');\n const hasPackageJson = options.pathExists!(pkgJsonFile);\n\n if (hasPackageJson) {\n return pkgJsonFile;\n }\n\n const prevDir = dir;\n dir = dirname(dir);\n\n if (prevDir === dir) {\n return undefined;\n }\n }\n}\n"],"names":["defaultResolver","path","enablePackageExports","blockList","options","resolveOptions","isDirectory","file","some","regex","test","directoryExistsSync","isFile","fileExistsSync","pathExists","fs","accessSync","constants","F_OK","preserveSymlinks","result","resolveSync","getPathInModule","shouldIgnoreRequestForExports","segments","split","moduleName","shift","startsWith","closestPackageJson","findClosestPackageJson","basedir","pkg","readPackageSync","readFileSync","assert","name","resolved","resolve","exports","join","createResolveOptions","conditions","pathResolve","dirname","Error","packageJsonPath","unsafe","browser","require","isAbsolute","start","dir","pkgJsonFile","hasPackageJson","prevDir","undefined"],"mappings":"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"}
@@ -1,17 +1,25 @@
1
- "use strict";
1
+ /**
2
+ * Copyright © 2022 650 Industries.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */ "use strict";
2
7
  Object.defineProperty(exports, "__esModule", {
3
8
  value: true
4
9
  });
5
- exports.createRouteHandlerMiddleware = createRouteHandlerMiddleware;
10
+ Object.defineProperty(exports, "createRouteHandlerMiddleware", {
11
+ enumerable: true,
12
+ get: ()=>createRouteHandlerMiddleware
13
+ });
6
14
  function _resolve() {
7
- const data = _interopRequireDefault(require("resolve"));
15
+ const data = /*#__PURE__*/ _interopRequireDefault(require("resolve"));
8
16
  _resolve = function() {
9
17
  return data;
10
18
  };
11
19
  return data;
12
20
  }
13
21
  function _resolveFrom() {
14
- const data = _interopRequireDefault(require("resolve-from"));
22
+ const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
15
23
  _resolveFrom = function() {
16
24
  return data;
17
25
  };
@@ -24,18 +32,18 @@ function _util() {
24
32
  };
25
33
  return data;
26
34
  }
27
- var _metroBundlerDevServer = require("./MetroBundlerDevServer");
28
- var _fetchRouterManifest = require("./fetchRouterManifest");
29
- var _metroErrorInterface = require("./metroErrorInterface");
30
- var _router = require("./router");
31
- var _errors = require("../../../utils/errors");
35
+ const _metroBundlerDevServer = require("./MetroBundlerDevServer");
36
+ const _fetchRouterManifest = require("./fetchRouterManifest");
37
+ const _metroErrorInterface = require("./metroErrorInterface");
38
+ const _router = require("./router");
39
+ const _errors = require("../../../utils/errors");
32
40
  function _interopRequireDefault(obj) {
33
41
  return obj && obj.__esModule ? obj : {
34
42
  default: obj
35
43
  };
36
44
  }
37
45
  const debug = require("debug")("expo:start:server:metro");
38
- const resolveAsync = _util().promisify(_resolve().default);
46
+ const resolveAsync = (0, _util().promisify)(_resolve().default);
39
47
  function createRouteHandlerMiddleware(projectRoot, options) {
40
48
  if (!_resolveFrom().default.silent(projectRoot, "expo-router")) {
41
49
  throw new _errors.CommandError("static and server rendering requires the expo-router package to be installed in your project.");
@@ -45,7 +53,7 @@ function createRouteHandlerMiddleware(projectRoot, options) {
45
53
  build: ""
46
54
  }, {
47
55
  async getRoutesManifest () {
48
- const manifest = await (0, _fetchRouterManifest).fetchManifest(projectRoot, options);
56
+ const manifest = await (0, _fetchRouterManifest.fetchManifest)(projectRoot, options);
49
57
  debug("manifest", manifest);
50
58
  // NOTE: no app dir if null
51
59
  // TODO: Redirect to 404 page
@@ -78,7 +86,7 @@ function createRouteHandlerMiddleware(projectRoot, options) {
78
86
  });
79
87
  }
80
88
  try {
81
- return new Response(await (0, _metroErrorInterface).getErrorOverlayHtmlAsync({
89
+ return new Response(await (0, _metroErrorInterface.getErrorOverlayHtmlAsync)({
82
90
  error,
83
91
  projectRoot,
84
92
  routerRoot: options.routerRoot
@@ -101,7 +109,7 @@ function createRouteHandlerMiddleware(projectRoot, options) {
101
109
  }
102
110
  },
103
111
  logApiRouteExecutionError (error) {
104
- (0, _metroErrorInterface).logMetroError(projectRoot, {
112
+ (0, _metroErrorInterface.logMetroError)(projectRoot, {
105
113
  error
106
114
  });
107
115
  },
@@ -109,7 +117,7 @@ function createRouteHandlerMiddleware(projectRoot, options) {
109
117
  var ref;
110
118
  const { exp } = options.config;
111
119
  if (((ref = exp.web) == null ? void 0 : ref.output) !== "server") {
112
- (0, _router).warnInvalidWebOutput();
120
+ (0, _router.warnInvalidWebOutput)();
113
121
  }
114
122
  const resolvedFunctionPath = await resolveAsync(route.file, {
115
123
  extensions: [