@expo/cli 0.0.0-bisect-20240612-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (704) hide show
  1. package/README.md +144 -0
  2. package/build/bin/cli +260 -0
  3. package/build/bin/cli.map +1 -0
  4. package/build/src/api/endpoint.js +35 -0
  5. package/build/src/api/endpoint.js.map +1 -0
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +22 -0
  7. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -0
  8. package/build/src/api/getExpoSchema.js +89 -0
  9. package/build/src/api/getExpoSchema.js.map +1 -0
  10. package/build/src/api/getNativeModuleVersions.js +34 -0
  11. package/build/src/api/getNativeModuleVersions.js.map +1 -0
  12. package/build/src/api/getProjectDevelopmentCertificate.js +25 -0
  13. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
  14. package/build/src/api/getVersions.js +27 -0
  15. package/build/src/api/getVersions.js.map +1 -0
  16. package/build/src/api/graphql/client.js +144 -0
  17. package/build/src/api/graphql/client.js.map +1 -0
  18. package/build/src/api/graphql/queries/AppQuery.js +53 -0
  19. package/build/src/api/graphql/queries/AppQuery.js.map +1 -0
  20. package/build/src/api/graphql/queries/UserQuery.js +59 -0
  21. package/build/src/api/graphql/queries/UserQuery.js.map +1 -0
  22. package/build/src/api/graphql/types/App.js +31 -0
  23. package/build/src/api/graphql/types/App.js.map +1 -0
  24. package/build/src/api/rest/cache/FileSystemCache.js +93 -0
  25. package/build/src/api/rest/cache/FileSystemCache.js.map +1 -0
  26. package/build/src/api/rest/cache/response.js +40 -0
  27. package/build/src/api/rest/cache/response.js.map +1 -0
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +189 -0
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -0
  30. package/build/src/api/rest/client.js +134 -0
  31. package/build/src/api/rest/client.js.map +1 -0
  32. package/build/src/api/rest/client.types.js +6 -0
  33. package/build/src/api/rest/client.types.js.map +1 -0
  34. package/build/src/api/rest/wrapFetchWithBaseUrl.js +31 -0
  35. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
  36. package/build/src/api/rest/wrapFetchWithOffline.js +22 -0
  37. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
  38. package/build/src/api/rest/wrapFetchWithProgress.js +85 -0
  39. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
  40. package/build/src/api/rest/wrapFetchWithProxy.js +35 -0
  41. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -0
  42. package/build/src/api/settings.js +31 -0
  43. package/build/src/api/settings.js.map +1 -0
  44. package/build/src/api/updateDevelopmentSession.js +94 -0
  45. package/build/src/api/updateDevelopmentSession.js.map +1 -0
  46. package/build/src/api/user/UserSettings.js +91 -0
  47. package/build/src/api/user/UserSettings.js.map +1 -0
  48. package/build/src/api/user/actions.js +144 -0
  49. package/build/src/api/user/actions.js.map +1 -0
  50. package/build/src/api/user/expoSsoLauncher.js +172 -0
  51. package/build/src/api/user/expoSsoLauncher.js.map +1 -0
  52. package/build/src/api/user/otp.js +171 -0
  53. package/build/src/api/user/otp.js.map +1 -0
  54. package/build/src/api/user/user.js +176 -0
  55. package/build/src/api/user/user.js.map +1 -0
  56. package/build/src/config/configAsync.js +174 -0
  57. package/build/src/config/configAsync.js.map +1 -0
  58. package/build/src/config/index.js +97 -0
  59. package/build/src/config/index.js.map +1 -0
  60. package/build/src/customize/customizeAsync.js +53 -0
  61. package/build/src/customize/customizeAsync.js.map +1 -0
  62. package/build/src/customize/generate.js +131 -0
  63. package/build/src/customize/generate.js.map +1 -0
  64. package/build/src/customize/index.js +49 -0
  65. package/build/src/customize/index.js.map +1 -0
  66. package/build/src/customize/resolveOptions.js +21 -0
  67. package/build/src/customize/resolveOptions.js.map +1 -0
  68. package/build/src/customize/templates.js +147 -0
  69. package/build/src/customize/templates.js.map +1 -0
  70. package/build/src/customize/typescript.js +77 -0
  71. package/build/src/customize/typescript.js.map +1 -0
  72. package/build/src/export/createMetadataJson.js +49 -0
  73. package/build/src/export/createMetadataJson.js.map +1 -0
  74. package/build/src/export/embed/exportEmbedAsync.js +310 -0
  75. package/build/src/export/embed/exportEmbedAsync.js.map +1 -0
  76. package/build/src/export/embed/index.js +139 -0
  77. package/build/src/export/embed/index.js.map +1 -0
  78. package/build/src/export/embed/resolveOptions.js +67 -0
  79. package/build/src/export/embed/resolveOptions.js.map +1 -0
  80. package/build/src/export/embed/xcodeCompilerLogger.js +121 -0
  81. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -0
  82. package/build/src/export/exportApp.js +279 -0
  83. package/build/src/export/exportApp.js.map +1 -0
  84. package/build/src/export/exportAssets.js +214 -0
  85. package/build/src/export/exportAssets.js.map +1 -0
  86. package/build/src/export/exportAsync.js +85 -0
  87. package/build/src/export/exportAsync.js.map +1 -0
  88. package/build/src/export/exportHermes.js +159 -0
  89. package/build/src/export/exportHermes.js.map +1 -0
  90. package/build/src/export/exportStaticAsync.js +348 -0
  91. package/build/src/export/exportStaticAsync.js.map +1 -0
  92. package/build/src/export/favicon.js +132 -0
  93. package/build/src/export/favicon.js.map +1 -0
  94. package/build/src/export/getPublicExpoManifest.js +37 -0
  95. package/build/src/export/getPublicExpoManifest.js.map +1 -0
  96. package/build/src/export/getResolvedLocales.js +50 -0
  97. package/build/src/export/getResolvedLocales.js.map +1 -0
  98. package/build/src/export/html.js +29 -0
  99. package/build/src/export/html.js.map +1 -0
  100. package/build/src/export/index.js +115 -0
  101. package/build/src/export/index.js.map +1 -0
  102. package/build/src/export/metroAssetLocalPath.js +124 -0
  103. package/build/src/export/metroAssetLocalPath.js.map +1 -0
  104. package/build/src/export/persistMetroAssets.js +228 -0
  105. package/build/src/export/persistMetroAssets.js.map +1 -0
  106. package/build/src/export/publicFolder.js +54 -0
  107. package/build/src/export/publicFolder.js.map +1 -0
  108. package/build/src/export/resolveOptions.js +81 -0
  109. package/build/src/export/resolveOptions.js.map +1 -0
  110. package/build/src/export/saveAssets.js +195 -0
  111. package/build/src/export/saveAssets.js.map +1 -0
  112. package/build/src/export/web/exportWebAsync.js +55 -0
  113. package/build/src/export/web/exportWebAsync.js.map +1 -0
  114. package/build/src/export/web/index.js +88 -0
  115. package/build/src/export/web/index.js.map +1 -0
  116. package/build/src/export/web/resolveOptions.js +16 -0
  117. package/build/src/export/web/resolveOptions.js.map +1 -0
  118. package/build/src/export/writeContents.js +31 -0
  119. package/build/src/export/writeContents.js.map +1 -0
  120. package/build/src/graphql/generated.js +499 -0
  121. package/build/src/graphql/generated.js.map +1 -0
  122. package/build/src/install/applyPlugins.js +76 -0
  123. package/build/src/install/applyPlugins.js.map +1 -0
  124. package/build/src/install/checkPackages.js +110 -0
  125. package/build/src/install/checkPackages.js.map +1 -0
  126. package/build/src/install/fixPackages.js +107 -0
  127. package/build/src/install/fixPackages.js.map +1 -0
  128. package/build/src/install/index.js +59 -0
  129. package/build/src/install/index.js.map +1 -0
  130. package/build/src/install/installAsync.js +192 -0
  131. package/build/src/install/installAsync.js.map +1 -0
  132. package/build/src/install/installExpoPackage.js +112 -0
  133. package/build/src/install/installExpoPackage.js.map +1 -0
  134. package/build/src/install/resolveOptions.js +56 -0
  135. package/build/src/install/resolveOptions.js.map +1 -0
  136. package/build/src/install/utils/autoAddConfigPlugins.js +86 -0
  137. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -0
  138. package/build/src/lint/ESlintPrerequisite.js +174 -0
  139. package/build/src/lint/ESlintPrerequisite.js.map +1 -0
  140. package/build/src/lint/index.js +66 -0
  141. package/build/src/lint/index.js.map +1 -0
  142. package/build/src/lint/lintAsync.js +33 -0
  143. package/build/src/lint/lintAsync.js.map +1 -0
  144. package/build/src/log.js +86 -0
  145. package/build/src/log.js.map +1 -0
  146. package/build/src/login/index.js +84 -0
  147. package/build/src/login/index.js.map +1 -0
  148. package/build/src/logout/index.js +66 -0
  149. package/build/src/logout/index.js.map +1 -0
  150. package/build/src/prebuild/clearNativeFolder.js +190 -0
  151. package/build/src/prebuild/clearNativeFolder.js.map +1 -0
  152. package/build/src/prebuild/configureProjectAsync.js +103 -0
  153. package/build/src/prebuild/configureProjectAsync.js.map +1 -0
  154. package/build/src/prebuild/copyTemplateFiles.js +91 -0
  155. package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
  156. package/build/src/prebuild/ensureConfigAsync.js +119 -0
  157. package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
  158. package/build/src/prebuild/index.js +118 -0
  159. package/build/src/prebuild/index.js.map +1 -0
  160. package/build/src/prebuild/prebuildAsync.js +170 -0
  161. package/build/src/prebuild/prebuildAsync.js.map +1 -0
  162. package/build/src/prebuild/renameTemplateAppName.js +124 -0
  163. package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
  164. package/build/src/prebuild/resolveOptions.js +164 -0
  165. package/build/src/prebuild/resolveOptions.js.map +1 -0
  166. package/build/src/prebuild/resolveTemplate.js +229 -0
  167. package/build/src/prebuild/resolveTemplate.js.map +1 -0
  168. package/build/src/prebuild/updateFromTemplate.js +143 -0
  169. package/build/src/prebuild/updateFromTemplate.js.map +1 -0
  170. package/build/src/prebuild/updatePackageJson.js +284 -0
  171. package/build/src/prebuild/updatePackageJson.js.map +1 -0
  172. package/build/src/prebuild/validateTemplatePlatforms.js +81 -0
  173. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -0
  174. package/build/src/register/index.js +66 -0
  175. package/build/src/register/index.js.map +1 -0
  176. package/build/src/register/registerAsync.js +37 -0
  177. package/build/src/register/registerAsync.js.map +1 -0
  178. package/build/src/run/android/index.js +129 -0
  179. package/build/src/run/android/index.js.map +1 -0
  180. package/build/src/run/android/resolveDevice.js +26 -0
  181. package/build/src/run/android/resolveDevice.js.map +1 -0
  182. package/build/src/run/android/resolveGradlePropsAsync.js +64 -0
  183. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
  184. package/build/src/run/android/resolveInstallApkName.js +65 -0
  185. package/build/src/run/android/resolveInstallApkName.js.map +1 -0
  186. package/build/src/run/android/resolveLaunchProps.js +41 -0
  187. package/build/src/run/android/resolveLaunchProps.js.map +1 -0
  188. package/build/src/run/android/resolveOptions.js +30 -0
  189. package/build/src/run/android/resolveOptions.js.map +1 -0
  190. package/build/src/run/android/runAndroidAsync.js +95 -0
  191. package/build/src/run/android/runAndroidAsync.js.map +1 -0
  192. package/build/src/run/ensureNativeProject.js +51 -0
  193. package/build/src/run/ensureNativeProject.js.map +1 -0
  194. package/build/src/run/hints.js +40 -0
  195. package/build/src/run/hints.js.map +1 -0
  196. package/build/src/run/index.js +121 -0
  197. package/build/src/run/index.js.map +1 -0
  198. package/build/src/run/ios/XcodeBuild.js +336 -0
  199. package/build/src/run/ios/XcodeBuild.js.map +1 -0
  200. package/build/src/run/ios/XcodeBuild.types.js +6 -0
  201. package/build/src/run/ios/XcodeBuild.types.js.map +1 -0
  202. package/build/src/run/ios/appleDevice/AppleDevice.js +310 -0
  203. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -0
  204. package/build/src/run/ios/appleDevice/ClientManager.js +204 -0
  205. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -0
  206. package/build/src/run/ios/appleDevice/client/AFCClient.js +245 -0
  207. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -0
  208. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +146 -0
  209. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -0
  210. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +112 -0
  211. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -0
  212. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +183 -0
  213. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -0
  214. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +129 -0
  215. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -0
  216. package/build/src/run/ios/appleDevice/client/ServiceClient.js +35 -0
  217. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -0
  218. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +144 -0
  219. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -0
  220. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +148 -0
  221. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -0
  222. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +351 -0
  223. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -0
  224. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +159 -0
  225. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -0
  226. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +145 -0
  227. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -0
  228. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +99 -0
  229. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -0
  230. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +90 -0
  231. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -0
  232. package/build/src/run/ios/codeSigning/Security.js +104 -0
  233. package/build/src/run/ios/codeSigning/Security.js.map +1 -0
  234. package/build/src/run/ios/codeSigning/configureCodeSigning.js +104 -0
  235. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -0
  236. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +133 -0
  237. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -0
  238. package/build/src/run/ios/codeSigning/settings.js +29 -0
  239. package/build/src/run/ios/codeSigning/settings.js.map +1 -0
  240. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +65 -0
  241. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -0
  242. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +97 -0
  243. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -0
  244. package/build/src/run/ios/index.js +126 -0
  245. package/build/src/run/ios/index.js.map +1 -0
  246. package/build/src/run/ios/launchApp.js +113 -0
  247. package/build/src/run/ios/launchApp.js.map +1 -0
  248. package/build/src/run/ios/options/appleDestinations.js +124 -0
  249. package/build/src/run/ios/options/appleDestinations.js.map +1 -0
  250. package/build/src/run/ios/options/promptDevice.js +60 -0
  251. package/build/src/run/ios/options/promptDevice.js.map +1 -0
  252. package/build/src/run/ios/options/resolveDevice.js +147 -0
  253. package/build/src/run/ios/options/resolveDevice.js.map +1 -0
  254. package/build/src/run/ios/options/resolveNativeScheme.js +142 -0
  255. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -0
  256. package/build/src/run/ios/options/resolveOptions.js +50 -0
  257. package/build/src/run/ios/options/resolveOptions.js.map +1 -0
  258. package/build/src/run/ios/options/resolveXcodeProject.js +48 -0
  259. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -0
  260. package/build/src/run/ios/runIosAsync.js +122 -0
  261. package/build/src/run/ios/runIosAsync.js.map +1 -0
  262. package/build/src/run/resolveBundlerProps.js +37 -0
  263. package/build/src/run/resolveBundlerProps.js.map +1 -0
  264. package/build/src/run/startBundler.js +116 -0
  265. package/build/src/run/startBundler.js.map +1 -0
  266. package/build/src/start/detectDevClient.js +32 -0
  267. package/build/src/start/detectDevClient.js.map +1 -0
  268. package/build/src/start/doctor/Prerequisite.js +55 -0
  269. package/build/src/start/doctor/Prerequisite.js.map +1 -0
  270. package/build/src/start/doctor/SecurityBinPrerequisite.js +36 -0
  271. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -0
  272. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +103 -0
  273. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
  274. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +102 -0
  275. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -0
  276. package/build/src/start/doctor/apple/XcodePrerequisite.js +233 -0
  277. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -0
  278. package/build/src/start/doctor/apple/XcrunPrerequisite.js +86 -0
  279. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -0
  280. package/build/src/start/doctor/dependencies/bundledNativeModules.js +108 -0
  281. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -0
  282. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +186 -0
  283. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -0
  284. package/build/src/start/doctor/dependencies/getMissingPackages.js +100 -0
  285. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
  286. package/build/src/start/doctor/dependencies/getVersionedPackages.js +157 -0
  287. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
  288. package/build/src/start/doctor/dependencies/resolvePackages.js +90 -0
  289. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -0
  290. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +200 -0
  291. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
  292. package/build/src/start/doctor/ngrok/ExternalModule.js +218 -0
  293. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
  294. package/build/src/start/doctor/ngrok/NgrokResolver.js +29 -0
  295. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
  296. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +195 -0
  297. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
  298. package/build/src/start/doctor/typescript/updateTSConfig.js +140 -0
  299. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
  300. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +154 -0
  301. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
  302. package/build/src/start/index.js +143 -0
  303. package/build/src/start/index.js.map +1 -0
  304. package/build/src/start/interface/KeyPressHandler.js +122 -0
  305. package/build/src/start/interface/KeyPressHandler.js.map +1 -0
  306. package/build/src/start/interface/commandsTable.js +235 -0
  307. package/build/src/start/interface/commandsTable.js.map +1 -0
  308. package/build/src/start/interface/interactiveActions.js +244 -0
  309. package/build/src/start/interface/interactiveActions.js.map +1 -0
  310. package/build/src/start/interface/startInterface.js +254 -0
  311. package/build/src/start/interface/startInterface.js.map +1 -0
  312. package/build/src/start/platforms/AppIdResolver.js +53 -0
  313. package/build/src/start/platforms/AppIdResolver.js.map +1 -0
  314. package/build/src/start/platforms/DeviceManager.js +70 -0
  315. package/build/src/start/platforms/DeviceManager.js.map +1 -0
  316. package/build/src/start/platforms/ExpoGoInstaller.js +163 -0
  317. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
  318. package/build/src/start/platforms/PlatformManager.js +158 -0
  319. package/build/src/start/platforms/PlatformManager.js.map +1 -0
  320. package/build/src/start/platforms/android/ADBServer.js +136 -0
  321. package/build/src/start/platforms/android/ADBServer.js.map +1 -0
  322. package/build/src/start/platforms/android/AndroidAppIdResolver.js +52 -0
  323. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -0
  324. package/build/src/start/platforms/android/AndroidDeviceManager.js +218 -0
  325. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -0
  326. package/build/src/start/platforms/android/AndroidPlatformManager.js +38 -0
  327. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -0
  328. package/build/src/start/platforms/android/AndroidSdk.js +68 -0
  329. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -0
  330. package/build/src/start/platforms/android/activateWindow.js +113 -0
  331. package/build/src/start/platforms/android/activateWindow.js.map +1 -0
  332. package/build/src/start/platforms/android/adb.js +310 -0
  333. package/build/src/start/platforms/android/adb.js.map +1 -0
  334. package/build/src/start/platforms/android/adbReverse.js +121 -0
  335. package/build/src/start/platforms/android/adbReverse.js.map +1 -0
  336. package/build/src/start/platforms/android/emulator.js +175 -0
  337. package/build/src/start/platforms/android/emulator.js.map +1 -0
  338. package/build/src/start/platforms/android/getDevices.js +37 -0
  339. package/build/src/start/platforms/android/getDevices.js.map +1 -0
  340. package/build/src/start/platforms/android/gradle.js +110 -0
  341. package/build/src/start/platforms/android/gradle.js.map +1 -0
  342. package/build/src/start/platforms/android/promptAndroidDevice.js +62 -0
  343. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
  344. package/build/src/start/platforms/ios/AppleAppIdResolver.js +74 -0
  345. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
  346. package/build/src/start/platforms/ios/AppleDeviceManager.js +278 -0
  347. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -0
  348. package/build/src/start/platforms/ios/ApplePlatformManager.js +34 -0
  349. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -0
  350. package/build/src/start/platforms/ios/assertSystemRequirements.js +20 -0
  351. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -0
  352. package/build/src/start/platforms/ios/devicectl.js +371 -0
  353. package/build/src/start/platforms/ios/devicectl.js.map +1 -0
  354. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +118 -0
  355. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -0
  356. package/build/src/start/platforms/ios/getBestSimulator.js +131 -0
  357. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -0
  358. package/build/src/start/platforms/ios/promptAppleDevice.js +68 -0
  359. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
  360. package/build/src/start/platforms/ios/simctl.js +352 -0
  361. package/build/src/start/platforms/ios/simctl.js.map +1 -0
  362. package/build/src/start/platforms/ios/simctlLogging.js +273 -0
  363. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -0
  364. package/build/src/start/platforms/ios/xcrun.js +61 -0
  365. package/build/src/start/platforms/ios/xcrun.js.map +1 -0
  366. package/build/src/start/project/devices.js +82 -0
  367. package/build/src/start/project/devices.js.map +1 -0
  368. package/build/src/start/project/dotExpo.js +100 -0
  369. package/build/src/start/project/dotExpo.js.map +1 -0
  370. package/build/src/start/project/settings.js +15 -0
  371. package/build/src/start/project/settings.js.map +1 -0
  372. package/build/src/start/resolveOptions.js +160 -0
  373. package/build/src/start/resolveOptions.js.map +1 -0
  374. package/build/src/start/server/AsyncNgrok.js +263 -0
  375. package/build/src/start/server/AsyncNgrok.js.map +1 -0
  376. package/build/src/start/server/BundlerDevServer.js +395 -0
  377. package/build/src/start/server/BundlerDevServer.js.map +1 -0
  378. package/build/src/start/server/DevServerManager.js +256 -0
  379. package/build/src/start/server/DevServerManager.js.map +1 -0
  380. package/build/src/start/server/DevToolsPluginManager.js +80 -0
  381. package/build/src/start/server/DevToolsPluginManager.js.map +1 -0
  382. package/build/src/start/server/DevelopmentSession.js +138 -0
  383. package/build/src/start/server/DevelopmentSession.js.map +1 -0
  384. package/build/src/start/server/ReactDevToolsProxy.js +99 -0
  385. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -0
  386. package/build/src/start/server/UrlCreator.js +209 -0
  387. package/build/src/start/server/UrlCreator.js.map +1 -0
  388. package/build/src/start/server/getStaticRenderFunctions.js +157 -0
  389. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -0
  390. package/build/src/start/server/metro/MetroBundlerDevServer.js +982 -0
  391. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
  392. package/build/src/start/server/metro/MetroTerminalReporter.js +191 -0
  393. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
  394. package/build/src/start/server/metro/TerminalReporter.js +163 -0
  395. package/build/src/start/server/metro/TerminalReporter.js.map +1 -0
  396. package/build/src/start/server/metro/TerminalReporter.types.js +6 -0
  397. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -0
  398. package/build/src/start/server/metro/createExpoMetroResolver.js +251 -0
  399. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -0
  400. package/build/src/start/server/metro/createJResolver.js +222 -0
  401. package/build/src/start/server/metro/createJResolver.js.map +1 -0
  402. package/build/src/start/server/metro/createServerRouteMiddleware.js +137 -0
  403. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -0
  404. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +47 -0
  405. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -0
  406. package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
  407. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
  408. package/build/src/start/server/metro/debugging/attachAtlas.js +97 -0
  409. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -0
  410. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +52 -0
  411. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -0
  412. package/build/src/start/server/metro/debugging/createHandlersFactory.js +64 -0
  413. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
  414. package/build/src/start/server/metro/debugging/getDebuggerType.js +18 -0
  415. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
  416. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +34 -0
  417. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
  418. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +26 -0
  419. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -0
  420. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +28 -0
  421. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
  422. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +25 -0
  423. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
  424. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +31 -0
  425. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
  426. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +47 -0
  427. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
  428. package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
  429. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
  430. package/build/src/start/server/metro/debugging/types.js +6 -0
  431. package/build/src/start/server/metro/debugging/types.js.map +1 -0
  432. package/build/src/start/server/metro/externals.js +92 -0
  433. package/build/src/start/server/metro/externals.js.map +1 -0
  434. package/build/src/start/server/metro/fetchRouterManifest.js +79 -0
  435. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -0
  436. package/build/src/start/server/metro/formatFileCandidates.js +82 -0
  437. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -0
  438. package/build/src/start/server/metro/getCssModulesFromBundler.js +109 -0
  439. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -0
  440. package/build/src/start/server/metro/instantiateMetro.js +276 -0
  441. package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
  442. package/build/src/start/server/metro/metroErrorInterface.js +279 -0
  443. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -0
  444. package/build/src/start/server/metro/metroErrors.js +23 -0
  445. package/build/src/start/server/metro/metroErrors.js.map +1 -0
  446. package/build/src/start/server/metro/metroPrivateServer.js +26 -0
  447. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -0
  448. package/build/src/start/server/metro/metroVirtualModules.js +90 -0
  449. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
  450. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +60 -0
  451. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -0
  452. package/build/src/start/server/metro/router.js +128 -0
  453. package/build/src/start/server/metro/router.js.map +1 -0
  454. package/build/src/start/server/metro/runServer-fork.js +153 -0
  455. package/build/src/start/server/metro/runServer-fork.js.map +1 -0
  456. package/build/src/start/server/metro/serializeHtml.js +72 -0
  457. package/build/src/start/server/metro/serializeHtml.js.map +1 -0
  458. package/build/src/start/server/metro/symbolicate.js +6 -0
  459. package/build/src/start/server/metro/symbolicate.js.map +1 -0
  460. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +97 -0
  461. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -0
  462. package/build/src/start/server/metro/withMetroMultiPlatform.js +517 -0
  463. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -0
  464. package/build/src/start/server/metro/withMetroResolvers.js +320 -0
  465. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -0
  466. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +30 -0
  467. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -0
  468. package/build/src/start/server/middleware/CorsMiddleware.js +59 -0
  469. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -0
  470. package/build/src/start/server/middleware/CreateFileMiddleware.js +126 -0
  471. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -0
  472. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +76 -0
  473. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -0
  474. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +274 -0
  475. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
  476. package/build/src/start/server/middleware/ExpoMiddleware.js +115 -0
  477. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
  478. package/build/src/start/server/middleware/FaviconMiddleware.js +47 -0
  479. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -0
  480. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +27 -0
  481. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -0
  482. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +118 -0
  483. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
  484. package/build/src/start/server/middleware/ManifestMiddleware.js +362 -0
  485. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
  486. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +79 -0
  487. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -0
  488. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +102 -0
  489. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
  490. package/build/src/start/server/middleware/ServeStaticMiddleware.js +83 -0
  491. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -0
  492. package/build/src/start/server/middleware/inspector/JsInspector.js +113 -0
  493. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -0
  494. package/build/src/start/server/middleware/inspector/LaunchBrowser.js +75 -0
  495. package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -0
  496. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +15 -0
  497. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -0
  498. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +104 -0
  499. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -0
  500. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +125 -0
  501. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -0
  502. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +146 -0
  503. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -0
  504. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +91 -0
  505. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -0
  506. package/build/src/start/server/middleware/inspector/middlwareMutations.js +26 -0
  507. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -0
  508. package/build/src/start/server/middleware/metroOptions.js +213 -0
  509. package/build/src/start/server/middleware/metroOptions.js.map +1 -0
  510. package/build/src/start/server/middleware/mutations.js +26 -0
  511. package/build/src/start/server/middleware/mutations.js.map +1 -0
  512. package/build/src/start/server/middleware/resolveAssets.js +146 -0
  513. package/build/src/start/server/middleware/resolveAssets.js.map +1 -0
  514. package/build/src/start/server/middleware/resolvePlatform.js +61 -0
  515. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -0
  516. package/build/src/start/server/middleware/server.types.js +6 -0
  517. package/build/src/start/server/middleware/server.types.js.map +1 -0
  518. package/build/src/start/server/middleware/suppressErrorMiddleware.js +19 -0
  519. package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -0
  520. package/build/src/start/server/openPlatforms.js +31 -0
  521. package/build/src/start/server/openPlatforms.js.map +1 -0
  522. package/build/src/start/server/platformBundlers.js +40 -0
  523. package/build/src/start/server/platformBundlers.js.map +1 -0
  524. package/build/src/start/server/serverLogLikeMetro.js +255 -0
  525. package/build/src/start/server/serverLogLikeMetro.js.map +1 -0
  526. package/build/src/start/server/type-generation/expo-env.js +47 -0
  527. package/build/src/start/server/type-generation/expo-env.js.map +1 -0
  528. package/build/src/start/server/type-generation/routes.js +531 -0
  529. package/build/src/start/server/type-generation/routes.js.map +1 -0
  530. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +77 -0
  531. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -0
  532. package/build/src/start/server/type-generation/tsconfig.js +114 -0
  533. package/build/src/start/server/type-generation/tsconfig.js.map +1 -0
  534. package/build/src/start/server/webTemplate.js +108 -0
  535. package/build/src/start/server/webTemplate.js.map +1 -0
  536. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +315 -0
  537. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
  538. package/build/src/start/server/webpack/compile.js +97 -0
  539. package/build/src/start/server/webpack/compile.js.map +1 -0
  540. package/build/src/start/server/webpack/formatWebpackMessages.js +104 -0
  541. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -0
  542. package/build/src/start/server/webpack/resolveFromProject.js +57 -0
  543. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -0
  544. package/build/src/start/server/webpack/tls.js +122 -0
  545. package/build/src/start/server/webpack/tls.js.map +1 -0
  546. package/build/src/start/startAsync.js +207 -0
  547. package/build/src/start/startAsync.js.map +1 -0
  548. package/build/src/utils/FileNotifier.js +135 -0
  549. package/build/src/utils/FileNotifier.js.map +1 -0
  550. package/build/src/utils/analytics/getDevClientProperties.js +73 -0
  551. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -0
  552. package/build/src/utils/analytics/getMetroDebugProperties.js +18 -0
  553. package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -0
  554. package/build/src/utils/analytics/getMetroProperties.js +31 -0
  555. package/build/src/utils/analytics/getMetroProperties.js.map +1 -0
  556. package/build/src/utils/analytics/metroDebuggerMiddleware.js +63 -0
  557. package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -0
  558. package/build/src/utils/ansi.js +20 -0
  559. package/build/src/utils/ansi.js.map +1 -0
  560. package/build/src/utils/args.js +131 -0
  561. package/build/src/utils/args.js.map +1 -0
  562. package/build/src/utils/array.js +74 -0
  563. package/build/src/utils/array.js.map +1 -0
  564. package/build/src/utils/cocoapods.js +250 -0
  565. package/build/src/utils/cocoapods.js.map +1 -0
  566. package/build/src/utils/codesigning.js +393 -0
  567. package/build/src/utils/codesigning.js.map +1 -0
  568. package/build/src/utils/createFileTransform.js +65 -0
  569. package/build/src/utils/createFileTransform.js.map +1 -0
  570. package/build/src/utils/delay.js +46 -0
  571. package/build/src/utils/delay.js.map +1 -0
  572. package/build/src/utils/dir.js +73 -0
  573. package/build/src/utils/dir.js.map +1 -0
  574. package/build/src/utils/downloadAppAsync.js +106 -0
  575. package/build/src/utils/downloadAppAsync.js.map +1 -0
  576. package/build/src/utils/downloadExpoGoAsync.js +137 -0
  577. package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
  578. package/build/src/utils/editor.js +107 -0
  579. package/build/src/utils/editor.js.map +1 -0
  580. package/build/src/utils/env.js +160 -0
  581. package/build/src/utils/env.js.map +1 -0
  582. package/build/src/utils/errors.js +93 -0
  583. package/build/src/utils/errors.js.map +1 -0
  584. package/build/src/utils/exit.js +72 -0
  585. package/build/src/utils/exit.js.map +1 -0
  586. package/build/src/utils/findUp.js +57 -0
  587. package/build/src/utils/findUp.js.map +1 -0
  588. package/build/src/utils/fn.js +40 -0
  589. package/build/src/utils/fn.js.map +1 -0
  590. package/build/src/utils/getOrPromptApplicationId.js +219 -0
  591. package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
  592. package/build/src/utils/getRunningProcess.js +134 -0
  593. package/build/src/utils/getRunningProcess.js.map +1 -0
  594. package/build/src/utils/git.js +127 -0
  595. package/build/src/utils/git.js.map +1 -0
  596. package/build/src/utils/glob.js +76 -0
  597. package/build/src/utils/glob.js.map +1 -0
  598. package/build/src/utils/interactive.js +14 -0
  599. package/build/src/utils/interactive.js.map +1 -0
  600. package/build/src/utils/ip.js +25 -0
  601. package/build/src/utils/ip.js.map +1 -0
  602. package/build/src/utils/isModuleSymlinked.js +52 -0
  603. package/build/src/utils/isModuleSymlinked.js.map +1 -0
  604. package/build/src/utils/link.js +51 -0
  605. package/build/src/utils/link.js.map +1 -0
  606. package/build/src/utils/mergeGitIgnorePaths.js +171 -0
  607. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -0
  608. package/build/src/utils/modifyConfigAsync.js +106 -0
  609. package/build/src/utils/modifyConfigAsync.js.map +1 -0
  610. package/build/src/utils/modifyConfigPlugins.js +78 -0
  611. package/build/src/utils/modifyConfigPlugins.js.map +1 -0
  612. package/build/src/utils/nodeEnv.js +18 -0
  613. package/build/src/utils/nodeEnv.js.map +1 -0
  614. package/build/src/utils/nodeModules.js +50 -0
  615. package/build/src/utils/nodeModules.js.map +1 -0
  616. package/build/src/utils/npm.js +183 -0
  617. package/build/src/utils/npm.js.map +1 -0
  618. package/build/src/utils/obj.js +53 -0
  619. package/build/src/utils/obj.js.map +1 -0
  620. package/build/src/utils/open.js +35 -0
  621. package/build/src/utils/open.js.map +1 -0
  622. package/build/src/utils/ora.js +107 -0
  623. package/build/src/utils/ora.js.map +1 -0
  624. package/build/src/utils/plist.js +103 -0
  625. package/build/src/utils/plist.js.map +1 -0
  626. package/build/src/utils/port.js +198 -0
  627. package/build/src/utils/port.js.map +1 -0
  628. package/build/src/utils/profile.js +90 -0
  629. package/build/src/utils/profile.js.map +1 -0
  630. package/build/src/utils/progress.js +71 -0
  631. package/build/src/utils/progress.js.map +1 -0
  632. package/build/src/utils/prompts.js +133 -0
  633. package/build/src/utils/prompts.js.map +1 -0
  634. package/build/src/utils/resolveArgs.js +149 -0
  635. package/build/src/utils/resolveArgs.js.map +1 -0
  636. package/build/src/utils/scheme.js +204 -0
  637. package/build/src/utils/scheme.js.map +1 -0
  638. package/build/src/utils/strings.js +31 -0
  639. package/build/src/utils/strings.js.map +1 -0
  640. package/build/src/utils/tar.js +95 -0
  641. package/build/src/utils/tar.js.map +1 -0
  642. package/build/src/utils/telemetry/DetachedClient.js +90 -0
  643. package/build/src/utils/telemetry/DetachedClient.js.map +1 -0
  644. package/build/src/utils/telemetry/RudderClient.js +101 -0
  645. package/build/src/utils/telemetry/RudderClient.js.map +1 -0
  646. package/build/src/utils/telemetry/flushDetached.js +44 -0
  647. package/build/src/utils/telemetry/flushDetached.js.map +1 -0
  648. package/build/src/utils/telemetry/getContext.js +112 -0
  649. package/build/src/utils/telemetry/getContext.js.map +1 -0
  650. package/build/src/utils/telemetry/index.js +37 -0
  651. package/build/src/utils/telemetry/index.js.map +1 -0
  652. package/build/src/utils/telemetry/types.js +6 -0
  653. package/build/src/utils/telemetry/types.js.map +1 -0
  654. package/build/src/utils/template.js +46 -0
  655. package/build/src/utils/template.js.map +1 -0
  656. package/build/src/utils/terminal.js +13 -0
  657. package/build/src/utils/terminal.js.map +1 -0
  658. package/build/src/utils/tsconfig/evaluateTsConfig.js +79 -0
  659. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -0
  660. package/build/src/utils/tsconfig/loadTsConfigPaths.js +81 -0
  661. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -0
  662. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +92 -0
  663. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -0
  664. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +60 -0
  665. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -0
  666. package/build/src/utils/url.js +83 -0
  667. package/build/src/utils/url.js.map +1 -0
  668. package/build/src/utils/validateApplicationId.js +198 -0
  669. package/build/src/utils/validateApplicationId.js.map +1 -0
  670. package/build/src/utils/variadic.js +69 -0
  671. package/build/src/utils/variadic.js.map +1 -0
  672. package/build/src/whoami/index.js +65 -0
  673. package/build/src/whoami/index.js.map +1 -0
  674. package/build/src/whoami/whoamiAsync.js +71 -0
  675. package/build/src/whoami/whoamiAsync.js.map +1 -0
  676. package/package.json +175 -0
  677. package/static/canary/react-is/cjs/react-is.development.js +200 -0
  678. package/static/canary/react-is/cjs/react-is.production.js +130 -0
  679. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js +26803 -0
  680. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js +10414 -0
  681. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-profiling.js +11127 -0
  682. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27227 -0
  683. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +10635 -0
  684. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +11347 -0
  685. package/static/canary/scheduler/cjs/scheduler-unstable_mock.development.js +711 -0
  686. package/static/canary/scheduler/cjs/scheduler-unstable_mock.production.js +415 -0
  687. package/static/canary/scheduler/cjs/scheduler-unstable_post_task.development.js +208 -0
  688. package/static/canary/scheduler/cjs/scheduler-unstable_post_task.production.js +145 -0
  689. package/static/canary/scheduler/cjs/scheduler.development.js +625 -0
  690. package/static/canary/scheduler/cjs/scheduler.native.development.js +538 -0
  691. package/static/canary/scheduler/cjs/scheduler.native.production.js +329 -0
  692. package/static/canary/scheduler/cjs/scheduler.production.js +341 -0
  693. package/static/loading-page/index.html +363 -0
  694. package/static/react-devtools-page/index.html +113 -0
  695. package/static/react-devtools-page/standalone.js +3 -0
  696. package/static/shims/react-native-web/dist/cjs/exports/AppRegistry/AppContainer.js +13 -0
  697. package/static/shims/react-native-web/dist/cjs/exports/BackHandler/index.js +10 -0
  698. package/static/shims/react-native-web/dist/exports/AppRegistry/AppContainer.js +12 -0
  699. package/static/shims/react-native-web/dist/exports/BackHandler/index.js +7 -0
  700. package/static/template/babel.config.js +6 -0
  701. package/static/template/index.html +36 -0
  702. package/static/template/metro.config.js +7 -0
  703. package/static/template/serve.json +13 -0
  704. package/static/template/webpack.config.js +7 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/serializeHtml.ts"],"sourcesContent":["import { SerialAsset } from '@expo/metro-config/build/serializer/serializerAssets';\nimport { RouteNode } from 'expo-router/build/Route';\n\nconst debug = require('debug')('expo:metro:html') as typeof console.log;\n\nexport function serializeHtmlWithAssets({\n resources,\n template,\n devBundleUrl,\n baseUrl,\n route,\n isExporting,\n}: {\n resources: SerialAsset[];\n template: string;\n /** asset prefix used for deploying to non-standard origins like GitHub pages. */\n baseUrl: string;\n devBundleUrl?: string;\n route?: RouteNode;\n isExporting: boolean;\n}): string {\n if (!resources) {\n return '';\n }\n return htmlFromSerialAssets(resources, {\n isExporting,\n template,\n baseUrl,\n bundleUrl: isExporting ? undefined : devBundleUrl,\n route,\n });\n}\n\n/**\n * Combine the path segments of a URL.\n * This filters out empty segments and avoids duplicate slashes when joining.\n * If base url is empty, it will be treated as a root path, adding `/` to the beginning.\n */\nfunction combineUrlPath(baseUrl: string, ...segments: string[]) {\n return [baseUrl || '/', ...segments]\n .filter(Boolean)\n .map((segment, index) => {\n const segmentIsBaseUrl = index === 0;\n // Do not remove leading slashes from baseUrl\n return segment.replace(segmentIsBaseUrl ? /\\/+$/g : /^\\/+|\\/+$/g, '');\n })\n .join('/');\n}\n\nfunction htmlFromSerialAssets(\n assets: SerialAsset[],\n {\n isExporting,\n template,\n baseUrl,\n bundleUrl,\n route,\n }: {\n isExporting: boolean;\n template: string;\n baseUrl: string;\n /** This is dev-only. */\n bundleUrl?: string;\n route?: RouteNode;\n }\n) {\n // Combine the CSS modules into tags that have hot refresh data attributes.\n const styleString = assets\n .filter((asset) => asset.type === 'css')\n .map(({ metadata, filename, source }) => {\n if (isExporting) {\n return [\n `<link rel=\"preload\" href=\"${combineUrlPath(baseUrl, filename)}\" as=\"style\">`,\n `<link rel=\"stylesheet\" href=\"${combineUrlPath(baseUrl, filename)}\">`,\n ].join('');\n } else {\n return `<style data-expo-css-hmr=\"${metadata.hmrId}\">` + source + '\\n</style>';\n }\n })\n .join('');\n\n const jsAssets = assets.filter((asset) => asset.type === 'js');\n\n const scripts = bundleUrl\n ? `<script src=\"${bundleUrl}\" defer></script>`\n : jsAssets\n .map(({ filename, metadata }) => {\n // TODO: Mark dependencies of the HTML and include them to prevent waterfalls.\n if (metadata.isAsync) {\n // We have the data required to match async chunks to the route's HTML file.\n if (\n route?.entryPoints &&\n metadata.modulePaths &&\n Array.isArray(route.entryPoints) &&\n Array.isArray(metadata.modulePaths)\n ) {\n // TODO: Handle module IDs like `expo-router/build/views/Unmatched.js`\n const doesAsyncChunkContainRouteEntryPoint = route.entryPoints.some((entryPoint) =>\n (metadata.modulePaths as string[]).includes(entryPoint)\n );\n if (!doesAsyncChunkContainRouteEntryPoint) {\n return '';\n }\n debug('Linking async chunk %s to HTML for route %s', filename, route.contextKey);\n // Pass through to the next condition.\n } else {\n return '';\n }\n // Mark async chunks as defer so they don't block the page load.\n // return `<script src=\"${combineUrlPath(baseUrl, filename)\" defer></script>`;\n }\n\n return `<script src=\"${combineUrlPath(baseUrl, filename)}\" defer></script>`;\n })\n .join('');\n\n return template\n .replace('</head>', `${styleString}</head>`)\n .replace('</body>', `${scripts}\\n</body>`);\n}\n"],"names":["serializeHtmlWithAssets","debug","require","resources","template","devBundleUrl","baseUrl","route","isExporting","htmlFromSerialAssets","bundleUrl","undefined","combineUrlPath","segments","filter","Boolean","map","segment","index","segmentIsBaseUrl","replace","join","assets","styleString","asset","type","metadata","filename","source","hmrId","jsAssets","scripts","isAsync","entryPoints","modulePaths","Array","isArray","doesAsyncChunkContainRouteEntryPoint","some","entryPoint","includes","contextKey"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+
6
+ //# sourceMappingURL=symbolicate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/symbolicate.ts"],"sourcesContent":["import { StackFrame } from 'stacktrace-parser';\n\nexport type CodeFrame = {\n content: string;\n location?: {\n row: number;\n column: number;\n [key: string]: any;\n };\n fileName: string;\n};\n\nexport type MetroStackFrame = StackFrame & { collapse?: boolean };\nexport type Stack = StackFrame[];\n"],"names":[],"mappings":"AAAA"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ waitForMetroToObserveTypeScriptFile: ()=>waitForMetroToObserveTypeScriptFile,
13
+ observeFileChanges: ()=>observeFileChanges,
14
+ observeAnyFileChanges: ()=>observeAnyFileChanges
15
+ });
16
+ function _path() {
17
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
18
+ _path = function() {
19
+ return data;
20
+ };
21
+ return data;
22
+ }
23
+ function _interopRequireDefault(obj) {
24
+ return obj && obj.__esModule ? obj : {
25
+ default: obj
26
+ };
27
+ }
28
+ const debug = require("debug")("expo:start:server:metro:waitForTypescript");
29
+ function waitForMetroToObserveTypeScriptFile(projectRoot, runner, callback) {
30
+ const watcher = runner.metro.getBundler().getBundler().getWatcher();
31
+ const tsconfigPath = _path().default.join(projectRoot, "tsconfig.json");
32
+ const listener = ({ eventsQueue })=>{
33
+ for (const event of eventsQueue){
34
+ var ref;
35
+ if (event.type === "add" && ((ref = event.metadata) == null ? void 0 : ref.type) !== "d" && // We need to ignore node_modules because Metro will add all of the files in node_modules to the watcher.
36
+ !/node_modules/.test(event.filePath)) {
37
+ const { filePath } = event;
38
+ // Is TypeScript?
39
+ if (// If the user adds a TypeScript file to the observable files in their project.
40
+ /\.tsx?$/.test(filePath) || // Or if the user adds a tsconfig.json file to the project root.
41
+ filePath === tsconfigPath) {
42
+ debug("Detected TypeScript file added to the project: ", filePath);
43
+ callback();
44
+ off();
45
+ return;
46
+ }
47
+ }
48
+ }
49
+ };
50
+ debug("Waiting for TypeScript files to be added to the project...");
51
+ watcher.addListener("change", listener);
52
+ const off = ()=>{
53
+ watcher.removeListener("change", listener);
54
+ };
55
+ runner.server.addListener == null ? void 0 : runner.server.addListener("close", off);
56
+ return off;
57
+ }
58
+ function observeFileChanges(runner, files, callback) {
59
+ const watcher = runner.metro.getBundler().getBundler().getWatcher();
60
+ const listener = ({ eventsQueue })=>{
61
+ for (const event of eventsQueue){
62
+ var // event.type === 'add' &&
63
+ ref;
64
+ if (((ref = event.metadata) == null ? void 0 : ref.type) !== "d" && // We need to ignore node_modules because Metro will add all of the files in node_modules to the watcher.
65
+ !/node_modules/.test(event.filePath)) {
66
+ const { filePath } = event;
67
+ // Is TypeScript?
68
+ if (files.includes(filePath)) {
69
+ debug("Observed change:", filePath);
70
+ callback();
71
+ return;
72
+ }
73
+ }
74
+ }
75
+ };
76
+ debug("Watching file changes:", files);
77
+ watcher.addListener("change", listener);
78
+ const off = ()=>{
79
+ watcher.removeListener("change", listener);
80
+ };
81
+ runner.server.addListener == null ? void 0 : runner.server.addListener("close", off);
82
+ return off;
83
+ }
84
+ function observeAnyFileChanges(runner, callback) {
85
+ const watcher = runner.metro.getBundler().getBundler().getWatcher();
86
+ const listener = ({ eventsQueue })=>{
87
+ callback(eventsQueue);
88
+ };
89
+ watcher.addListener("change", listener);
90
+ const off = ()=>{
91
+ watcher.removeListener("change", listener);
92
+ };
93
+ runner.server.addListener == null ? void 0 : runner.server.addListener("close", off);
94
+ return off;
95
+ }
96
+
97
+ //# sourceMappingURL=waitForMetroToObserveTypeScriptFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/waitForMetroToObserveTypeScriptFile.ts"],"sourcesContent":["import path from 'path';\n\nimport type { ServerLike } from '../BundlerDevServer';\n\nconst debug = require('debug')('expo:start:server:metro:waitForTypescript') as typeof console.log;\n\nexport type FileChangeEvent = {\n filePath: string;\n metadata?: {\n type: 'f' | 'd' | 'l'; // Regular file / Directory / Symlink\n } | null;\n type: string;\n};\n\n/**\n * Use the native file watcher / Metro ruleset to detect if a\n * TypeScript file is added to the project during development.\n */\nexport function waitForMetroToObserveTypeScriptFile(\n projectRoot: string,\n runner: {\n metro: import('metro').Server;\n server: ServerLike;\n },\n callback: () => Promise<void>\n): () => void {\n const watcher = runner.metro.getBundler().getBundler().getWatcher();\n\n const tsconfigPath = path.join(projectRoot, 'tsconfig.json');\n\n const listener = ({ eventsQueue }: { eventsQueue: FileChangeEvent[] }) => {\n for (const event of eventsQueue) {\n if (\n event.type === 'add' &&\n event.metadata?.type !== 'd' &&\n // We need to ignore node_modules because Metro will add all of the files in node_modules to the watcher.\n !/node_modules/.test(event.filePath)\n ) {\n const { filePath } = event;\n // Is TypeScript?\n if (\n // If the user adds a TypeScript file to the observable files in their project.\n /\\.tsx?$/.test(filePath) ||\n // Or if the user adds a tsconfig.json file to the project root.\n filePath === tsconfigPath\n ) {\n debug('Detected TypeScript file added to the project: ', filePath);\n callback();\n off();\n return;\n }\n }\n }\n };\n\n debug('Waiting for TypeScript files to be added to the project...');\n watcher.addListener('change', listener);\n\n const off = () => {\n watcher.removeListener('change', listener);\n };\n\n runner.server.addListener?.('close', off);\n return off;\n}\n\nexport function observeFileChanges(\n runner: {\n metro: import('metro').Server;\n server: ServerLike;\n },\n files: string[],\n callback: () => void | Promise<void>\n): () => void {\n const watcher = runner.metro.getBundler().getBundler().getWatcher();\n\n const listener = ({\n eventsQueue,\n }: {\n eventsQueue: {\n filePath: string;\n metadata?: {\n type: 'f' | 'd' | 'l'; // Regular file / Directory / Symlink\n } | null;\n type: string;\n }[];\n }) => {\n for (const event of eventsQueue) {\n if (\n // event.type === 'add' &&\n event.metadata?.type !== 'd' &&\n // We need to ignore node_modules because Metro will add all of the files in node_modules to the watcher.\n !/node_modules/.test(event.filePath)\n ) {\n const { filePath } = event;\n // Is TypeScript?\n if (files.includes(filePath)) {\n debug('Observed change:', filePath);\n callback();\n return;\n }\n }\n }\n };\n\n debug('Watching file changes:', files);\n watcher.addListener('change', listener);\n\n const off = () => {\n watcher.removeListener('change', listener);\n };\n\n runner.server.addListener?.('close', off);\n return off;\n}\n\nexport function observeAnyFileChanges(\n runner: {\n metro: import('metro').Server;\n server: ServerLike;\n },\n callback: (events: FileChangeEvent[]) => void | Promise<void>\n): () => void {\n const watcher = runner.metro.getBundler().getBundler().getWatcher();\n\n const listener = ({ eventsQueue }: { eventsQueue: FileChangeEvent[] }) => {\n callback(eventsQueue);\n };\n\n watcher.addListener('change', listener);\n\n const off = () => {\n watcher.removeListener('change', listener);\n };\n\n runner.server.addListener?.('close', off);\n return off;\n}\n"],"names":["waitForMetroToObserveTypeScriptFile","observeFileChanges","observeAnyFileChanges","debug","require","projectRoot","runner","callback","watcher","metro","getBundler","getWatcher","tsconfigPath","path","join","listener","eventsQueue","event","type","metadata","test","filePath","off","addListener","removeListener","server","files","includes"],"mappings":"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"}
@@ -0,0 +1,517 @@
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";
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
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
+ getNodejsExtensions: ()=>getNodejsExtensions,
18
+ withExtendedResolver: ()=>withExtendedResolver,
19
+ shouldAliasAssetRegistryForWeb: ()=>shouldAliasAssetRegistryForWeb,
20
+ shouldAliasModule: ()=>shouldAliasModule,
21
+ withMetroMultiPlatformAsync: ()=>withMetroMultiPlatformAsync
22
+ });
23
+ function _fs() {
24
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
25
+ _fs = function() {
26
+ return data;
27
+ };
28
+ return data;
29
+ }
30
+ function _metroResolver() {
31
+ const data = /*#__PURE__*/ _interopRequireWildcard(require("metro-resolver"));
32
+ _metroResolver = function() {
33
+ return data;
34
+ };
35
+ return data;
36
+ }
37
+ function _path() {
38
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
39
+ _path = function() {
40
+ return data;
41
+ };
42
+ return data;
43
+ }
44
+ function _resolveFrom() {
45
+ const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
46
+ _resolveFrom = function() {
47
+ return data;
48
+ };
49
+ return data;
50
+ }
51
+ const _createExpoMetroResolver = require("./createExpoMetroResolver");
52
+ const _externals = require("./externals");
53
+ const _metroErrors = require("./metroErrors");
54
+ const _metroVirtualModules = require("./metroVirtualModules");
55
+ const _withMetroResolvers = require("./withMetroResolvers");
56
+ const _log = require("../../../log");
57
+ const _fileNotifier = require("../../../utils/FileNotifier");
58
+ const _env = require("../../../utils/env");
59
+ const _exit = require("../../../utils/exit");
60
+ const _interactive = require("../../../utils/interactive");
61
+ const _loadTsConfigPaths = require("../../../utils/tsconfig/loadTsConfigPaths");
62
+ const _resolveWithTsConfigPaths = require("../../../utils/tsconfig/resolveWithTsConfigPaths");
63
+ const _metroOptions = require("../middleware/metroOptions");
64
+ function _interopRequireDefault(obj) {
65
+ return obj && obj.__esModule ? obj : {
66
+ default: obj
67
+ };
68
+ }
69
+ function _getRequireWildcardCache(nodeInterop) {
70
+ if (typeof WeakMap !== "function") return null;
71
+ var cacheBabelInterop = new WeakMap();
72
+ var cacheNodeInterop = new WeakMap();
73
+ return (_getRequireWildcardCache = function(nodeInterop) {
74
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
75
+ })(nodeInterop);
76
+ }
77
+ function _interopRequireWildcard(obj, nodeInterop) {
78
+ if (!nodeInterop && obj && obj.__esModule) {
79
+ return obj;
80
+ }
81
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
82
+ return {
83
+ default: obj
84
+ };
85
+ }
86
+ var cache = _getRequireWildcardCache(nodeInterop);
87
+ if (cache && cache.has(obj)) {
88
+ return cache.get(obj);
89
+ }
90
+ var newObj = {};
91
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
92
+ for(var key in obj){
93
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
94
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
95
+ if (desc && (desc.get || desc.set)) {
96
+ Object.defineProperty(newObj, key, desc);
97
+ } else {
98
+ newObj[key] = obj[key];
99
+ }
100
+ }
101
+ }
102
+ newObj.default = obj;
103
+ if (cache) {
104
+ cache.set(obj, newObj);
105
+ }
106
+ return newObj;
107
+ }
108
+ const debug = require("debug")("expo:start:server:metro:multi-platform");
109
+ function withWebPolyfills(config, { getMetroBundler }) {
110
+ const originalGetPolyfills = config.serializer.getPolyfills ? config.serializer.getPolyfills.bind(config.serializer) : ()=>[];
111
+ const getPolyfills = (ctx)=>{
112
+ const virtualEnvVarId = `\0polyfill:environment-variables`;
113
+ (0, _metroVirtualModules.getMetroBundlerWithVirtualModules)(getMetroBundler()).setVirtualModule(virtualEnvVarId, (()=>{
114
+ return `//`;
115
+ })());
116
+ const virtualModuleId = `\0polyfill:external-require`;
117
+ (0, _metroVirtualModules.getMetroBundlerWithVirtualModules)(getMetroBundler()).setVirtualModule(virtualModuleId, (()=>{
118
+ if (ctx.platform === "web") {
119
+ return `global.$$require_external = typeof window === "undefined" ? require : () => null;`;
120
+ } else {
121
+ // Wrap in try/catch to support Android.
122
+ return 'try { global.$$require_external = typeof expo === "undefined" ? eval("require") : (moduleId) => { throw new Error(`Node.js standard library module ${moduleId} is not available in this JavaScript environment`);} } catch { global.$$require_external = (moduleId) => { throw new Error(`Node.js standard library module ${moduleId} is not available in this JavaScript environment`);} }';
123
+ }
124
+ })());
125
+ if (ctx.platform === "web") {
126
+ return [
127
+ virtualModuleId,
128
+ virtualEnvVarId
129
+ ];
130
+ }
131
+ // Generally uses `rn-get-polyfills`
132
+ const polyfills = originalGetPolyfills(ctx);
133
+ return [
134
+ ...polyfills,
135
+ virtualModuleId,
136
+ virtualEnvVarId
137
+ ];
138
+ };
139
+ return {
140
+ ...config,
141
+ serializer: {
142
+ ...config.serializer,
143
+ getPolyfills
144
+ }
145
+ };
146
+ }
147
+ function normalizeSlashes(p) {
148
+ return p.replace(/\\/g, "/");
149
+ }
150
+ function getNodejsExtensions(srcExts) {
151
+ const mjsExts = srcExts.filter((ext)=>/mjs$/.test(ext));
152
+ const nodejsSourceExtensions = srcExts.filter((ext)=>!/mjs$/.test(ext));
153
+ // find index of last `*.js` extension
154
+ const jsIndex = nodejsSourceExtensions.reduce((index, ext, i)=>{
155
+ return /jsx?$/.test(ext) ? i : index;
156
+ }, -1);
157
+ // insert `*.mjs` extensions after `*.js` extensions
158
+ nodejsSourceExtensions.splice(jsIndex + 1, 0, ...mjsExts);
159
+ return nodejsSourceExtensions;
160
+ }
161
+ function withExtendedResolver(config, { tsconfig , isTsconfigPathsEnabled , isFastResolverEnabled , isExporting , isReactCanaryEnabled , getMetroBundler }) {
162
+ var ref, ref1, ref2, ref3;
163
+ if (isFastResolverEnabled) {
164
+ _log.Log.warn(`Experimental bundling features are enabled.`);
165
+ }
166
+ if (isReactCanaryEnabled) {
167
+ _log.Log.warn(`Experimental React Canary version is enabled.`);
168
+ }
169
+ // Get the `transformer.assetRegistryPath`
170
+ // this needs to be unified since you can't dynamically
171
+ // swap out the transformer based on platform.
172
+ const assetRegistryPath = _fs().default.realpathSync(_path().default.resolve((0, _resolveFrom().default)(config.projectRoot, "@react-native/assets-registry/registry.js")));
173
+ const defaultResolver = _metroResolver().resolve;
174
+ var ref4;
175
+ const resolver = isFastResolverEnabled ? (0, _createExpoMetroResolver.createFastResolver)({
176
+ preserveSymlinks: (ref4 = (ref = config.resolver) == null ? void 0 : ref.unstable_enableSymlinks) != null ? ref4 : true,
177
+ blockList: Array.isArray((ref1 = config.resolver) == null ? void 0 : ref1.blockList) ? (ref2 = config.resolver) == null ? void 0 : ref2.blockList : [
178
+ (ref3 = config.resolver) == null ? void 0 : ref3.blockList
179
+ ]
180
+ }) : defaultResolver;
181
+ const aliases = {
182
+ web: {
183
+ "react-native": "react-native-web",
184
+ "react-native/index": "react-native-web"
185
+ }
186
+ };
187
+ const universalAliases = [];
188
+ // This package is currently always installed as it is included in the `expo` package.
189
+ if (_resolveFrom().default.silent(config.projectRoot, "@expo/vector-icons")) {
190
+ debug("Enabling alias: react-native-vector-icons -> @expo/vector-icons");
191
+ universalAliases.push([
192
+ /^react-native-vector-icons(\/.*)?/,
193
+ "@expo/vector-icons$1"
194
+ ]);
195
+ }
196
+ const preferredMainFields = {
197
+ // Defaults from Expo Webpack. Most packages using `react-native` don't support web
198
+ // in the `react-native` field, so we should prefer the `browser` field.
199
+ // https://github.com/expo/router/issues/37
200
+ web: [
201
+ "browser",
202
+ "module",
203
+ "main"
204
+ ]
205
+ };
206
+ var _paths, _baseUrl;
207
+ let tsConfigResolve = isTsconfigPathsEnabled && ((tsconfig == null ? void 0 : tsconfig.paths) || (tsconfig == null ? void 0 : tsconfig.baseUrl) != null) ? _resolveWithTsConfigPaths.resolveWithTsConfigPaths.bind(_resolveWithTsConfigPaths.resolveWithTsConfigPaths, {
208
+ paths: (_paths = tsconfig.paths) != null ? _paths : {},
209
+ baseUrl: (_baseUrl = tsconfig.baseUrl) != null ? _baseUrl : config.projectRoot,
210
+ hasBaseUrl: !!tsconfig.baseUrl
211
+ }) : null;
212
+ // TODO: Move this to be a transform key for invalidation.
213
+ if (!isExporting && (0, _interactive.isInteractive)()) {
214
+ if (isTsconfigPathsEnabled) {
215
+ // TODO: We should track all the files that used imports and invalidate them
216
+ // currently the user will need to save all the files that use imports to
217
+ // use the new aliases.
218
+ const configWatcher = new _fileNotifier.FileNotifier(config.projectRoot, [
219
+ "./tsconfig.json",
220
+ "./jsconfig.json",
221
+ ]);
222
+ configWatcher.startObserving(()=>{
223
+ debug("Reloading tsconfig.json");
224
+ (0, _loadTsConfigPaths.loadTsConfigPathsAsync)(config.projectRoot).then((tsConfigPaths)=>{
225
+ if ((tsConfigPaths == null ? void 0 : tsConfigPaths.paths) && !!Object.keys(tsConfigPaths.paths).length) {
226
+ debug("Enabling tsconfig.json paths support");
227
+ var _paths, _baseUrl;
228
+ tsConfigResolve = _resolveWithTsConfigPaths.resolveWithTsConfigPaths.bind(_resolveWithTsConfigPaths.resolveWithTsConfigPaths, {
229
+ paths: (_paths = tsConfigPaths.paths) != null ? _paths : {},
230
+ baseUrl: (_baseUrl = tsConfigPaths.baseUrl) != null ? _baseUrl : config.projectRoot,
231
+ hasBaseUrl: !!tsConfigPaths.baseUrl
232
+ });
233
+ } else {
234
+ debug("Disabling tsconfig.json paths support");
235
+ tsConfigResolve = null;
236
+ }
237
+ });
238
+ });
239
+ // TODO: This probably prevents the process from exiting.
240
+ (0, _exit.installExitHooks)(()=>{
241
+ configWatcher.stopObserving();
242
+ });
243
+ } else {
244
+ debug("Skipping tsconfig.json paths support");
245
+ }
246
+ }
247
+ let nodejsSourceExtensions = null;
248
+ function getStrictResolver({ resolveRequest , ...context }, platform) {
249
+ return function doResolve(moduleName) {
250
+ return resolver(context, moduleName, platform);
251
+ };
252
+ }
253
+ function getOptionalResolver(context, platform) {
254
+ const doResolve = getStrictResolver(context, platform);
255
+ return function optionalResolve(moduleName) {
256
+ try {
257
+ return doResolve(moduleName);
258
+ } catch (error) {
259
+ // If the error is directly related to a resolver not being able to resolve a module, then
260
+ // we can ignore the error and try the next resolver. Otherwise, we should throw the error.
261
+ const isResolutionError = (0, _metroErrors.isFailedToResolveNameError)(error) || (0, _metroErrors.isFailedToResolvePathError)(error);
262
+ if (!isResolutionError) {
263
+ throw error;
264
+ }
265
+ }
266
+ return null;
267
+ };
268
+ }
269
+ const metroConfigWithCustomResolver = (0, _withMetroResolvers.withMetroResolvers)(config, [
270
+ // Mock out production react imports in development.
271
+ (context, moduleName, platform)=>{
272
+ // This resolution is dev-only to prevent bundling the production React packages in development.
273
+ // @ts-expect-error: dev is not on type.
274
+ if (!context.dev) return null;
275
+ if (// Match react-native renderers.
276
+ (platform !== "web" && context.originModulePath.match(/[\\/]node_modules[\\/]react-native[\\/]/) && moduleName.match(/([\\/]ReactFabric|ReactNativeRenderer)-prod/)) || // Match react production imports.
277
+ (moduleName.match(/\.production(\.min)?\.js$/) && // Match if the import originated from a react package.
278
+ context.originModulePath.match(/[\\/]node_modules[\\/](react[-\\/]|scheduler[\\/])/))) {
279
+ debug(`Skipping production module: ${moduleName}`);
280
+ // /Users/path/to/expo/node_modules/react/index.js ./cjs/react.production.min.js
281
+ // /Users/path/to/expo/node_modules/react/jsx-dev-runtime.js ./cjs/react-jsx-dev-runtime.production.min.js
282
+ // /Users/path/to/expo/node_modules/react-is/index.js ./cjs/react-is.production.min.js
283
+ // /Users/path/to/expo/node_modules/react-refresh/runtime.js ./cjs/react-refresh-runtime.production.min.js
284
+ // /Users/path/to/expo/node_modules/react-native/node_modules/scheduler/index.native.js ./cjs/scheduler.native.production.min.js
285
+ // /Users/path/to/expo/node_modules/react-native/node_modules/react-is/index.js ./cjs/react-is.production.min.js
286
+ return {
287
+ type: "empty"
288
+ };
289
+ }
290
+ return null;
291
+ },
292
+ // tsconfig paths
293
+ (context, moduleName, platform)=>{
294
+ var ref;
295
+ return (ref = tsConfigResolve == null ? void 0 : tsConfigResolve({
296
+ originModulePath: context.originModulePath,
297
+ moduleName
298
+ }, getOptionalResolver(context, platform))) != null ? ref : null;
299
+ },
300
+ // Node.js externals support
301
+ (context, moduleName, platform)=>{
302
+ var ref, ref1;
303
+ const isServer = ((ref = context.customResolverOptions) == null ? void 0 : ref.environment) === "node" || ((ref1 = context.customResolverOptions) == null ? void 0 : ref1.environment) === "react-server";
304
+ if (platform !== "web" && !isServer) {
305
+ // This is a web/server-only feature, we may extend the shimming to native platforms in the future.
306
+ return null;
307
+ }
308
+ const moduleId = (0, _externals.isNodeExternal)(moduleName);
309
+ if (!moduleId) {
310
+ return null;
311
+ }
312
+ if (// In browser runtimes, we want to either resolve a local node module by the same name, or shim the module to
313
+ // prevent crashing when Node.js built-ins are imported.
314
+ !isServer) {
315
+ // Perform optional resolve first. If the module doesn't exist (no module in the node_modules)
316
+ // then we can mock the file to use an empty module.
317
+ const result = getOptionalResolver(context, platform)(moduleName);
318
+ return result != null ? result : {
319
+ // In this case, mock the file to use an empty module.
320
+ type: "empty"
321
+ };
322
+ }
323
+ const contents = `module.exports=$$require_external('node:${moduleId}');`;
324
+ debug(`Virtualizing Node.js "${moduleId}"`);
325
+ const virtualModuleId = `\0node:${moduleId}`;
326
+ (0, _metroVirtualModules.getMetroBundlerWithVirtualModules)(getMetroBundler()).setVirtualModule(virtualModuleId, contents);
327
+ return {
328
+ type: "sourceFile",
329
+ filePath: virtualModuleId
330
+ };
331
+ },
332
+ // Basic moduleId aliases
333
+ (context, moduleName, platform)=>{
334
+ // Conditionally remap `react-native` to `react-native-web` on web in
335
+ // a way that doesn't require Babel to resolve the alias.
336
+ if (platform && platform in aliases && aliases[platform][moduleName]) {
337
+ const redirectedModuleName = aliases[platform][moduleName];
338
+ return getStrictResolver(context, platform)(redirectedModuleName);
339
+ }
340
+ for (const [matcher, alias] of universalAliases){
341
+ const match = moduleName.match(matcher);
342
+ if (match) {
343
+ var ref;
344
+ const aliasedModule = alias.replace(/\$(\d+)/g, (_, index)=>(ref = match[parseInt(index, 10)]) != null ? ref : "");
345
+ const doResolve = getStrictResolver(context, platform);
346
+ debug(`Alias "${moduleName}" to "${aliasedModule}"`);
347
+ return doResolve(aliasedModule);
348
+ }
349
+ }
350
+ return null;
351
+ },
352
+ // TODO: Reduce these as much as possible in the future.
353
+ // Complex post-resolution rewrites.
354
+ (context, moduleName, platform)=>{
355
+ const doResolve = getStrictResolver(context, platform);
356
+ const result = doResolve(moduleName);
357
+ if (result.type !== "sourceFile") {
358
+ return result;
359
+ }
360
+ if (platform === "web") {
361
+ // Replace the web resolver with the original one.
362
+ // This is basically an alias for web-only.
363
+ // TODO: Drop this in favor of the standalone asset registry module.
364
+ if (shouldAliasAssetRegistryForWeb(platform, result)) {
365
+ // @ts-expect-error: `readonly` for some reason.
366
+ result.filePath = assetRegistryPath;
367
+ }
368
+ if (platform === "web" && result.filePath.includes("node_modules")) {
369
+ // Replace with static shims
370
+ const normalName = normalizeSlashes(result.filePath)// Drop everything up until the `node_modules` folder.
371
+ .replace(/.*node_modules\//, "");
372
+ const shimFile = (0, _externals.shouldCreateVirtualShim)(normalName);
373
+ if (shimFile) {
374
+ const virtualId = `\0shim:${normalName}`;
375
+ const bundler = (0, _metroVirtualModules.getMetroBundlerWithVirtualModules)(getMetroBundler());
376
+ if (!bundler.hasVirtualModule(virtualId)) {
377
+ bundler.setVirtualModule(virtualId, _fs().default.readFileSync(shimFile, "utf8"));
378
+ }
379
+ debug(`Redirecting module "${result.filePath}" to shim`);
380
+ return {
381
+ ...result,
382
+ filePath: virtualId
383
+ };
384
+ }
385
+ }
386
+ } else {
387
+ // When server components are enabled, redirect React Native's renderer to the canary build
388
+ // this will enable the use hook and other requisite features from React 19.
389
+ if (isReactCanaryEnabled && result.filePath.includes("node_modules")) {
390
+ const normalName1 = normalizeSlashes(result.filePath)// Drop everything up until the `node_modules` folder.
391
+ .replace(/.*node_modules\//, "");
392
+ const canaryFile = (0, _externals.shouldCreateVirtualCanary)(normalName1);
393
+ if (canaryFile) {
394
+ debug(`Redirecting React Native module "${result.filePath}" to canary build`);
395
+ return {
396
+ ...result,
397
+ filePath: canaryFile
398
+ };
399
+ }
400
+ }
401
+ }
402
+ return result;
403
+ },
404
+ ]);
405
+ // Ensure we mutate the resolution context to include the custom resolver options for server and web.
406
+ const metroConfigWithCustomContext = (0, _withMetroResolvers.withMetroMutatedResolverContext)(metroConfigWithCustomResolver, (immutableContext, moduleName, platform)=>{
407
+ var ref;
408
+ const context = {
409
+ ...immutableContext,
410
+ preferNativePlatform: platform !== "web"
411
+ };
412
+ if ((0, _metroOptions.isServerEnvironment)((ref = context.customResolverOptions) == null ? void 0 : ref.environment)) {
413
+ var ref1;
414
+ // Adjust nodejs source extensions to sort mjs after js, including platform variants.
415
+ if (nodejsSourceExtensions === null) {
416
+ nodejsSourceExtensions = getNodejsExtensions(context.sourceExts);
417
+ }
418
+ context.sourceExts = nodejsSourceExtensions;
419
+ context.unstable_enablePackageExports = true;
420
+ context.unstable_conditionsByPlatform = {};
421
+ // Node.js runtimes should only be importing main at the moment.
422
+ // This is a temporary fix until we can support the package.json exports.
423
+ context.mainFields = [
424
+ "main",
425
+ "module"
426
+ ];
427
+ // Enable react-server import conditions.
428
+ if (((ref1 = context.customResolverOptions) == null ? void 0 : ref1.environment) === "react-server") {
429
+ context.unstable_conditionNames = [
430
+ "node",
431
+ "require",
432
+ "react-server",
433
+ "workerd"
434
+ ];
435
+ } else {
436
+ context.unstable_conditionNames = [
437
+ "node",
438
+ "require"
439
+ ];
440
+ }
441
+ } else {
442
+ // Non-server changes
443
+ if (!_env.env.EXPO_METRO_NO_MAIN_FIELD_OVERRIDE && platform && platform in preferredMainFields) {
444
+ context.mainFields = preferredMainFields[platform];
445
+ }
446
+ }
447
+ return context;
448
+ });
449
+ return (0, _withMetroResolvers.withMetroErrorReportingResolver)(metroConfigWithCustomContext);
450
+ }
451
+ function shouldAliasAssetRegistryForWeb(platform, result) {
452
+ return platform === "web" && (result == null ? void 0 : result.type) === "sourceFile" && typeof (result == null ? void 0 : result.filePath) === "string" && normalizeSlashes(result.filePath).endsWith("react-native-web/dist/modules/AssetRegistry/index.js");
453
+ }
454
+ function shouldAliasModule(input, alias) {
455
+ var ref, ref1;
456
+ return input.platform === alias.platform && ((ref = input.result) == null ? void 0 : ref.type) === "sourceFile" && typeof ((ref1 = input.result) == null ? void 0 : ref1.filePath) === "string" && normalizeSlashes(input.result.filePath).endsWith(alias.output);
457
+ }
458
+ async function withMetroMultiPlatformAsync(projectRoot, { config , exp , platformBundlers , isTsconfigPathsEnabled , webOutput , isFastResolverEnabled , isExporting , isReactCanaryEnabled , getMetroBundler }) {
459
+ if (!config.projectRoot) {
460
+ // @ts-expect-error: read-only types
461
+ config.projectRoot = projectRoot;
462
+ }
463
+ var _EXPO_PUBLIC_PROJECT_ROOT;
464
+ // Required for @expo/metro-runtime to format paths in the web LogBox.
465
+ process.env.EXPO_PUBLIC_PROJECT_ROOT = (_EXPO_PUBLIC_PROJECT_ROOT = process.env.EXPO_PUBLIC_PROJECT_ROOT) != null ? _EXPO_PUBLIC_PROJECT_ROOT : projectRoot;
466
+ if ([
467
+ "static",
468
+ "server"
469
+ ].includes(webOutput != null ? webOutput : "")) {
470
+ // Enable static rendering in runtime space.
471
+ process.env.EXPO_PUBLIC_USE_STATIC = "1";
472
+ }
473
+ // This is used for running Expo CLI in development against projects outside the monorepo.
474
+ if (!isDirectoryIn(__dirname, projectRoot)) {
475
+ if (!config.watchFolders) {
476
+ // @ts-expect-error: watchFolders is readonly
477
+ config.watchFolders = [];
478
+ }
479
+ // @ts-expect-error: watchFolders is readonly
480
+ config.watchFolders.push(_path().default.join(require.resolve("metro-runtime/package.json"), "../.."));
481
+ }
482
+ // @ts-expect-error
483
+ config.transformer._expoRouterWebRendering = webOutput;
484
+ // @ts-expect-error: Invalidate the cache when the location of expo-router changes on-disk.
485
+ config.transformer._expoRouterPath = _resolveFrom().default.silent(projectRoot, "expo-router");
486
+ let tsconfig = null;
487
+ if (isTsconfigPathsEnabled) {
488
+ tsconfig = await (0, _loadTsConfigPaths.loadTsConfigPathsAsync)(projectRoot);
489
+ }
490
+ let expoConfigPlatforms = Object.entries(platformBundlers).filter(([platform, bundler])=>{
491
+ var ref;
492
+ return bundler === "metro" && ((ref = exp.platforms) == null ? void 0 : ref.includes(platform));
493
+ }).map(([platform])=>platform);
494
+ if (Array.isArray(config.resolver.platforms)) {
495
+ expoConfigPlatforms = [
496
+ ...new Set(expoConfigPlatforms.concat(config.resolver.platforms))
497
+ ];
498
+ }
499
+ // @ts-expect-error: typed as `readonly`.
500
+ config.resolver.platforms = expoConfigPlatforms;
501
+ config = withWebPolyfills(config, {
502
+ getMetroBundler
503
+ });
504
+ return withExtendedResolver(config, {
505
+ tsconfig,
506
+ isExporting,
507
+ isTsconfigPathsEnabled,
508
+ isFastResolverEnabled,
509
+ isReactCanaryEnabled,
510
+ getMetroBundler
511
+ });
512
+ }
513
+ function isDirectoryIn(targetPath, rootPath) {
514
+ return targetPath.startsWith(rootPath) && targetPath.length >= rootPath.length;
515
+ }
516
+
517
+ //# sourceMappingURL=withMetroMultiPlatform.js.map