@expo/cli 0.17.10 → 0.18.1

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 (693) hide show
  1. package/build/bin/cli +98 -118
  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 +32 -12
  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 +78 -40
  16. package/build/src/api/graphql/client.js.map +1 -1
  17. package/build/src/api/graphql/queries/AppQuery.js +22 -8
  18. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  19. package/build/src/api/graphql/queries/UserQuery.js +13 -5
  20. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  21. package/build/src/api/graphql/types/App.js +12 -4
  22. package/build/src/api/graphql/types/App.js.map +1 -1
  23. package/build/src/api/rest/cache/FileSystemCache.js +25 -11
  24. package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
  25. package/build/src/api/rest/cache/response.js +13 -4
  26. package/build/src/api/rest/cache/response.js.map +1 -1
  27. package/build/src/api/rest/cache/wrapFetchWithCache.js +51 -18
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  29. package/build/src/api/rest/client.js +55 -30
  30. package/build/src/api/rest/client.js.map +1 -1
  31. package/build/src/api/rest/wrapFetchWithBaseUrl.js +13 -5
  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 +13 -4
  38. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  39. package/build/src/api/settings.js +16 -5
  40. package/build/src/api/settings.js.map +1 -1
  41. package/build/src/api/updateDevelopmentSession.js +33 -13
  42. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  43. package/build/src/api/user/UserSettings.js +31 -11
  44. package/build/src/api/user/UserSettings.js.map +1 -1
  45. package/build/src/api/user/actions.js +78 -41
  46. package/build/src/api/user/actions.js.map +1 -1
  47. package/build/src/api/user/expoSsoLauncher.js +72 -27
  48. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  49. package/build/src/api/user/otp.js +82 -50
  50. package/build/src/api/user/otp.js.map +1 -1
  51. package/build/src/api/user/user.js +80 -48
  52. package/build/src/api/user/user.js.map +1 -1
  53. package/build/src/config/configAsync.js +82 -45
  54. package/build/src/config/configAsync.js.map +1 -1
  55. package/build/src/config/index.js +52 -30
  56. package/build/src/config/index.js.map +1 -1
  57. package/build/src/customize/customizeAsync.js +21 -12
  58. package/build/src/customize/customizeAsync.js.map +1 -1
  59. package/build/src/customize/generate.js +74 -47
  60. package/build/src/customize/generate.js.map +1 -1
  61. package/build/src/customize/index.js +16 -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 +58 -37
  66. package/build/src/customize/templates.js.map +1 -1
  67. package/build/src/customize/typescript.js +50 -29
  68. package/build/src/customize/typescript.js.map +1 -1
  69. package/build/src/export/createMetadataJson.js +14 -7
  70. package/build/src/export/createMetadataJson.js.map +1 -1
  71. package/build/src/export/embed/exportEmbedAsync.js +103 -50
  72. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  73. package/build/src/export/embed/index.js +61 -37
  74. package/build/src/export/embed/index.js.map +1 -1
  75. package/build/src/export/embed/resolveOptions.js +14 -5
  76. package/build/src/export/embed/resolveOptions.js.map +1 -1
  77. package/build/src/export/embed/xcodeCompilerLogger.js +33 -9
  78. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  79. package/build/src/export/exportApp.js +110 -73
  80. package/build/src/export/exportApp.js.map +1 -1
  81. package/build/src/export/exportAssets.js +84 -47
  82. package/build/src/export/exportAssets.js.map +1 -1
  83. package/build/src/export/exportAsync.js +56 -27
  84. package/build/src/export/exportAsync.js.map +1 -1
  85. package/build/src/export/exportHermes.js +46 -26
  86. package/build/src/export/exportHermes.js.map +1 -1
  87. package/build/src/export/exportStaticAsync.js +109 -66
  88. package/build/src/export/exportStaticAsync.js.map +1 -1
  89. package/build/src/export/favicon.js +47 -15
  90. package/build/src/export/favicon.js.map +1 -1
  91. package/build/src/export/fork-bundleAsync.js +92 -44
  92. package/build/src/export/fork-bundleAsync.js.map +1 -1
  93. package/build/src/export/getPublicExpoManifest.js +16 -7
  94. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  95. package/build/src/export/getResolvedLocales.js +20 -5
  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 +55 -33
  100. package/build/src/export/index.js.map +1 -1
  101. package/build/src/export/metroAssetLocalPath.js +30 -8
  102. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  103. package/build/src/export/persistMetroAssets.js +59 -33
  104. package/build/src/export/persistMetroAssets.js.map +1 -1
  105. package/build/src/export/publicFolder.js +31 -11
  106. package/build/src/export/publicFolder.js.map +1 -1
  107. package/build/src/export/resolveOptions.js +26 -16
  108. package/build/src/export/resolveOptions.js.map +1 -1
  109. package/build/src/export/saveAssets.js +77 -49
  110. package/build/src/export/saveAssets.js.map +1 -1
  111. package/build/src/export/web/exportWebAsync.js +28 -13
  112. package/build/src/export/web/exportWebAsync.js.map +1 -1
  113. package/build/src/export/web/index.js +53 -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 +50 -26
  122. package/build/src/install/applyPlugins.js.map +1 -1
  123. package/build/src/install/checkPackages.js +68 -36
  124. package/build/src/install/checkPackages.js.map +1 -1
  125. package/build/src/install/fixPackages.js +58 -35
  126. package/build/src/install/fixPackages.js.map +1 -1
  127. package/build/src/install/index.js +21 -13
  128. package/build/src/install/index.js.map +1 -1
  129. package/build/src/install/installAsync.js +107 -64
  130. package/build/src/install/installAsync.js.map +1 -1
  131. package/build/src/install/installExpoPackage.js +60 -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 +29 -9
  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 +27 -15
  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 +97 -50
  150. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  151. package/build/src/prebuild/configureProjectAsync.js +64 -31
  152. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  153. package/build/src/prebuild/copyTemplateFiles.js +41 -17
  154. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  155. package/build/src/prebuild/ensureConfigAsync.js +74 -30
  156. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  157. package/build/src/prebuild/index.js +58 -38
  158. package/build/src/prebuild/index.js.map +1 -1
  159. package/build/src/prebuild/prebuildAsync.js +75 -52
  160. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  161. package/build/src/prebuild/renameTemplateAppName.js +124 -0
  162. package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
  163. package/build/src/prebuild/resolveOptions.js +85 -36
  164. package/build/src/prebuild/resolveOptions.js.map +1 -1
  165. package/build/src/prebuild/resolveTemplate.js +102 -46
  166. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  167. package/build/src/prebuild/updateFromTemplate.js +80 -41
  168. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  169. package/build/src/prebuild/updatePackageJson.js +111 -54
  170. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  171. package/build/src/prebuild/validateTemplatePlatforms.js +56 -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 +64 -32
  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 +56 -0
  182. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
  183. package/build/src/run/android/resolveInstallApkName.js +28 -14
  184. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  185. package/build/src/run/android/resolveLaunchProps.js +16 -7
  186. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  187. package/build/src/run/android/resolveOptions.js +14 -9
  188. package/build/src/run/android/resolveOptions.js.map +1 -1
  189. package/build/src/run/android/runAndroidAsync.js +39 -27
  190. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  191. package/build/src/run/ensureNativeProject.js +24 -9
  192. package/build/src/run/ensureNativeProject.js.map +1 -1
  193. package/build/src/run/hints.js +23 -9
  194. package/build/src/run/hints.js.map +1 -1
  195. package/build/src/run/index.js +55 -35
  196. package/build/src/run/index.js.map +1 -1
  197. package/build/src/run/ios/XcodeBuild.js +126 -66
  198. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  199. package/build/src/run/ios/appleDevice/AppleDevice.js +52 -27
  200. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  201. package/build/src/run/ios/appleDevice/ClientManager.js +70 -31
  202. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  203. package/build/src/run/ios/appleDevice/client/AFCClient.js +94 -44
  204. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  205. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +63 -24
  206. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  207. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -6
  208. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  209. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +64 -25
  210. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  211. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +66 -28
  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 +42 -15
  216. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  217. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +78 -34
  218. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  219. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +85 -66
  220. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  221. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +41 -15
  222. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  223. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +30 -11
  224. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  225. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +39 -14
  226. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  227. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +36 -11
  228. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  229. package/build/src/run/ios/codeSigning/Security.js +40 -21
  230. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  231. package/build/src/run/ios/codeSigning/configureCodeSigning.js +55 -28
  232. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  233. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +67 -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 +30 -10
  238. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  239. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +33 -15
  240. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  241. package/build/src/run/ios/index.js +63 -35
  242. package/build/src/run/ios/index.js.map +1 -1
  243. package/build/src/run/ios/launchApp.js +65 -32
  244. package/build/src/run/ios/launchApp.js.map +1 -1
  245. package/build/src/run/ios/options/promptDevice.js +24 -14
  246. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  247. package/build/src/run/ios/options/resolveDevice.js +64 -41
  248. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  249. package/build/src/run/ios/options/resolveNativeScheme.js +80 -39
  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 +13 -4
  254. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  255. package/build/src/run/ios/runIosAsync.js +71 -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 +60 -27
  260. package/build/src/run/startBundler.js.map +1 -1
  261. package/build/src/start/detectDevClient.js +32 -0
  262. package/build/src/start/detectDevClient.js.map +1 -0
  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 +13 -4
  266. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  267. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +57 -24
  268. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  269. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +57 -24
  270. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  271. package/build/src/start/doctor/apple/XcodePrerequisite.js +132 -57
  272. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  273. package/build/src/start/doctor/apple/XcrunPrerequisite.js +34 -13
  274. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  275. package/build/src/start/doctor/dependencies/bundledNativeModules.js +69 -30
  276. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  277. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +120 -57
  278. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  279. package/build/src/start/doctor/dependencies/getMissingPackages.js +38 -12
  280. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  281. package/build/src/start/doctor/dependencies/getVersionedPackages.js +29 -15
  282. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  283. package/build/src/start/doctor/dependencies/resolvePackages.js +39 -15
  284. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  285. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +88 -55
  286. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  287. package/build/src/start/doctor/ngrok/ExternalModule.js +88 -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 +75 -45
  292. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  293. package/build/src/start/doctor/typescript/updateTSConfig.js +81 -40
  294. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  295. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +70 -32
  296. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  297. package/build/src/start/index.js +62 -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 +81 -41
  302. package/build/src/start/interface/commandsTable.js.map +1 -1
  303. package/build/src/start/interface/interactiveActions.js +91 -68
  304. package/build/src/start/interface/interactiveActions.js.map +1 -1
  305. package/build/src/start/interface/startInterface.js +84 -57
  306. package/build/src/start/interface/startInterface.js.map +1 -1
  307. package/build/src/start/platforms/AppIdResolver.js +16 -7
  308. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  309. package/build/src/start/platforms/DeviceManager.js +47 -20
  310. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  311. package/build/src/start/platforms/ExpoGoInstaller.js +81 -45
  312. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  313. package/build/src/start/platforms/PlatformManager.js +42 -20
  314. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  315. package/build/src/start/platforms/android/ADBServer.js +28 -13
  316. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  317. package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -10
  318. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  319. package/build/src/start/platforms/android/AndroidDeviceManager.js +86 -54
  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 +38 -11
  324. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  325. package/build/src/start/platforms/android/activateWindow.js +54 -21
  326. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  327. package/build/src/start/platforms/android/adb.js +89 -51
  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 +89 -44
  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 +38 -14
  336. package/build/src/start/platforms/android/gradle.js.map +1 -1
  337. package/build/src/start/platforms/android/promptAndroidDevice.js +22 -16
  338. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  339. package/build/src/start/platforms/ios/AppleAppIdResolver.js +31 -10
  340. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  341. package/build/src/start/platforms/ios/AppleDeviceManager.js +120 -62
  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 -7
  346. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  347. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +60 -27
  348. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  349. package/build/src/start/platforms/ios/getBestSimulator.js +60 -30
  350. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  351. package/build/src/start/platforms/ios/promptAppleDevice.js +25 -13
  352. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  353. package/build/src/start/platforms/ios/simctl.js +75 -46
  354. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  355. package/build/src/start/platforms/ios/simctlLogging.js +100 -47
  356. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  357. package/build/src/start/platforms/ios/xcrun.js +21 -6
  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 +37 -11
  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 +52 -27
  366. package/build/src/start/resolveOptions.js.map +1 -1
  367. package/build/src/start/server/AsyncNgrok.js +91 -47
  368. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  369. package/build/src/start/server/BundlerDevServer.js +77 -45
  370. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  371. package/build/src/start/server/DevServerManager.js +100 -70
  372. package/build/src/start/server/DevServerManager.js.map +1 -1
  373. package/build/src/start/server/DevToolsPluginManager.js +35 -18
  374. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  375. package/build/src/start/server/DevelopmentSession.js +57 -33
  376. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  377. package/build/src/start/server/ReactDevToolsProxy.js +37 -11
  378. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  379. package/build/src/start/server/UrlCreator.js +61 -27
  380. package/build/src/start/server/UrlCreator.js.map +1 -1
  381. package/build/src/start/server/getStaticRenderFunctions.js +125 -77
  382. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  383. package/build/src/start/server/metro/MetroBundlerDevServer.js +333 -158
  384. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  385. package/build/src/start/server/metro/MetroTerminalReporter.js +50 -28
  386. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  387. package/build/src/start/server/metro/TerminalReporter.js +40 -12
  388. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  389. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  390. package/build/src/start/server/metro/createExpoMetroResolver.js +82 -35
  391. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  392. package/build/src/start/server/metro/createJResolver.js +143 -73
  393. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  394. package/build/src/start/server/metro/createServerRouteMiddleware.js +47 -38
  395. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  396. package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
  397. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
  398. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +18 -14
  399. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  400. package/build/src/start/server/metro/debugging/createHandlersFactory.js +64 -0
  401. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
  402. package/build/src/start/server/metro/debugging/{inspectorHandlers/utils.js → getDebuggerType.js} +6 -8
  403. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
  404. package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/NetworkResponse.js +12 -6
  405. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
  406. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +26 -0
  407. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -0
  408. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +28 -0
  409. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
  410. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +25 -0
  411. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
  412. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +31 -0
  413. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
  414. package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/VscodeRuntimeGetProperties.js +14 -7
  415. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
  416. package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
  417. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
  418. package/build/src/start/server/metro/debugging/types.js.map +1 -0
  419. package/build/src/start/server/metro/externals.js +67 -69
  420. package/build/src/start/server/metro/externals.js.map +1 -1
  421. package/build/src/start/server/metro/fetchRouterManifest.js +26 -7
  422. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  423. package/build/src/start/server/metro/formatFileCandidates.js +28 -18
  424. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  425. package/build/src/start/server/metro/getCssModulesFromBundler.js +44 -12
  426. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  427. package/build/src/start/server/metro/instantiateMetro.js +141 -62
  428. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  429. package/build/src/start/server/metro/metroErrorInterface.js +75 -47
  430. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  431. package/build/src/start/server/metro/metroErrors.js +11 -2
  432. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  433. package/build/src/start/server/metro/metroVirtualModules.js +90 -0
  434. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
  435. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +12 -3
  436. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  437. package/build/src/start/server/metro/router.js +64 -30
  438. package/build/src/start/server/metro/router.js.map +1 -1
  439. package/build/src/start/server/metro/runServer-fork.js +68 -19
  440. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  441. package/build/src/start/server/metro/serializeHtml.js +32 -19
  442. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  443. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +19 -5
  444. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  445. package/build/src/start/server/metro/withMetroMultiPlatform.js +232 -104
  446. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  447. package/build/src/start/server/metro/withMetroResolvers.js +95 -47
  448. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  449. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +4 -1
  450. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  451. package/build/src/start/server/middleware/CorsMiddleware.js +4 -1
  452. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  453. package/build/src/start/server/middleware/CreateFileMiddleware.js +33 -13
  454. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  455. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +27 -12
  456. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  457. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +65 -28
  458. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  459. package/build/src/start/server/middleware/ExpoMiddleware.js +54 -22
  460. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  461. package/build/src/start/server/middleware/FaviconMiddleware.js +8 -5
  462. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  463. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +6 -3
  464. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  465. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +58 -21
  466. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  467. package/build/src/start/server/middleware/ManifestMiddleware.js +117 -63
  468. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  469. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +35 -10
  470. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  471. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +54 -27
  472. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  473. package/build/src/start/server/middleware/ServeStaticMiddleware.js +31 -10
  474. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  475. package/build/src/start/server/middleware/inspector/JsInspector.js +45 -22
  476. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  477. package/build/src/start/server/middleware/inspector/LaunchBrowser.js +25 -11
  478. package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
  479. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +4 -2
  480. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -1
  481. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +36 -14
  482. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
  483. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +84 -38
  484. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
  485. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +42 -20
  486. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
  487. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +40 -13
  488. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  489. package/build/src/start/server/middleware/inspector/middlwareMutations.js +11 -4
  490. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  491. package/build/src/start/server/middleware/metroOptions.js +36 -18
  492. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  493. package/build/src/start/server/middleware/mutations.js +11 -4
  494. package/build/src/start/server/middleware/mutations.js.map +1 -1
  495. package/build/src/start/server/middleware/resolveAssets.js +78 -42
  496. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  497. package/build/src/start/server/middleware/resolvePlatform.js +21 -7
  498. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  499. package/build/src/start/server/middleware/suppressErrorMiddleware.js +4 -1
  500. package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -1
  501. package/build/src/start/server/openPlatforms.js +7 -6
  502. package/build/src/start/server/openPlatforms.js.map +1 -1
  503. package/build/src/start/server/platformBundlers.js +12 -3
  504. package/build/src/start/server/platformBundlers.js.map +1 -1
  505. package/build/src/start/server/serverLogLikeMetro.js +93 -40
  506. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  507. package/build/src/start/server/type-generation/expo-env.js +26 -6
  508. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  509. package/build/src/start/server/type-generation/routes.js +137 -82
  510. package/build/src/start/server/type-generation/routes.js.map +1 -1
  511. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +44 -23
  512. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  513. package/build/src/start/server/type-generation/tsconfig.js +41 -16
  514. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  515. package/build/src/start/server/webTemplate.js +43 -19
  516. package/build/src/start/server/webTemplate.js.map +1 -1
  517. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +105 -56
  518. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  519. package/build/src/start/server/webpack/compile.js +60 -27
  520. package/build/src/start/server/webpack/compile.js.map +1 -1
  521. package/build/src/start/server/webpack/formatWebpackMessages.js +35 -25
  522. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  523. package/build/src/start/server/webpack/resolveFromProject.js +20 -6
  524. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  525. package/build/src/start/server/webpack/tls.js +84 -34
  526. package/build/src/start/server/webpack/tls.js.map +1 -1
  527. package/build/src/start/startAsync.js +98 -52
  528. package/build/src/start/startAsync.js.map +1 -1
  529. package/build/src/utils/FileNotifier.js +73 -28
  530. package/build/src/utils/FileNotifier.js.map +1 -1
  531. package/build/src/utils/analytics/getDevClientProperties.js +48 -22
  532. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
  533. package/build/src/utils/analytics/getMetroDebugProperties.js +4 -1
  534. package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -1
  535. package/build/src/utils/analytics/getMetroProperties.js +4 -1
  536. package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
  537. package/build/src/utils/analytics/metroDebuggerMiddleware.js +14 -6
  538. package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
  539. package/build/src/utils/ansi.js +5 -2
  540. package/build/src/utils/ansi.js.map +1 -1
  541. package/build/src/utils/args.js +83 -31
  542. package/build/src/utils/args.js.map +1 -1
  543. package/build/src/utils/array.js +16 -9
  544. package/build/src/utils/array.js.map +1 -1
  545. package/build/src/utils/cocoapods.js +127 -67
  546. package/build/src/utils/cocoapods.js.map +1 -1
  547. package/build/src/utils/codesigning.js +144 -72
  548. package/build/src/utils/codesigning.js.map +1 -1
  549. package/build/src/utils/createFileTransform.js +34 -71
  550. package/build/src/utils/createFileTransform.js.map +1 -1
  551. package/build/src/utils/delay.js +13 -6
  552. package/build/src/utils/delay.js.map +1 -1
  553. package/build/src/utils/dir.js +50 -40
  554. package/build/src/utils/dir.js.map +1 -1
  555. package/build/src/utils/downloadAppAsync.js +51 -18
  556. package/build/src/utils/downloadAppAsync.js.map +1 -1
  557. package/build/src/utils/downloadExpoGoAsync.js +47 -26
  558. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  559. package/build/src/utils/editor.js +65 -27
  560. package/build/src/utils/editor.js.map +1 -1
  561. package/build/src/utils/env.js +44 -33
  562. package/build/src/utils/env.js.map +1 -1
  563. package/build/src/utils/errors.js +35 -12
  564. package/build/src/utils/errors.js.map +1 -1
  565. package/build/src/utils/exit.js +10 -7
  566. package/build/src/utils/exit.js.map +1 -1
  567. package/build/src/utils/findUp.js +38 -8
  568. package/build/src/utils/findUp.js.map +1 -1
  569. package/build/src/utils/fn.js +11 -3
  570. package/build/src/utils/fn.js.map +1 -1
  571. package/build/src/utils/getOrPromptApplicationId.js +84 -46
  572. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  573. package/build/src/utils/getRunningProcess.js +63 -25
  574. package/build/src/utils/getRunningProcess.js.map +1 -1
  575. package/build/src/utils/git.js +76 -38
  576. package/build/src/utils/git.js.map +1 -1
  577. package/build/src/utils/glob.js +23 -12
  578. package/build/src/utils/glob.js.map +1 -1
  579. package/build/src/utils/interactive.js +5 -2
  580. package/build/src/utils/interactive.js.map +1 -1
  581. package/build/src/utils/ip.js +12 -3
  582. package/build/src/utils/ip.js.map +1 -1
  583. package/build/src/utils/isModuleSymlinked.js +20 -5
  584. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  585. package/build/src/utils/link.js +28 -8
  586. package/build/src/utils/link.js.map +1 -1
  587. package/build/src/utils/mergeGitIgnorePaths.js +45 -28
  588. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  589. package/build/src/utils/modifyConfigAsync.js +69 -31
  590. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  591. package/build/src/utils/modifyConfigPlugins.js +50 -23
  592. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  593. package/build/src/utils/nodeEnv.js +8 -1
  594. package/build/src/utils/nodeEnv.js.map +1 -1
  595. package/build/src/utils/nodeModules.js +29 -8
  596. package/build/src/utils/nodeModules.js.map +1 -1
  597. package/build/src/utils/npm.js +86 -31
  598. package/build/src/utils/npm.js.map +1 -1
  599. package/build/src/utils/obj.js +12 -4
  600. package/build/src/utils/obj.js.map +1 -1
  601. package/build/src/utils/open.js +13 -4
  602. package/build/src/utils/open.js.map +1 -1
  603. package/build/src/utils/ora.js +38 -22
  604. package/build/src/utils/ora.js.map +1 -1
  605. package/build/src/utils/plist.js +73 -29
  606. package/build/src/utils/plist.js.map +1 -1
  607. package/build/src/utils/port.js +74 -36
  608. package/build/src/utils/port.js.map +1 -1
  609. package/build/src/utils/profile.js +56 -29
  610. package/build/src/utils/profile.js.map +1 -1
  611. package/build/src/utils/progress.js +23 -13
  612. package/build/src/utils/progress.js.map +1 -1
  613. package/build/src/utils/prompts.js +45 -28
  614. package/build/src/utils/prompts.js.map +1 -1
  615. package/build/src/utils/resolveArgs.js +23 -20
  616. package/build/src/utils/resolveArgs.js.map +1 -1
  617. package/build/src/utils/scheme.js +128 -52
  618. package/build/src/utils/scheme.js.map +1 -1
  619. package/build/src/utils/strings.js +11 -4
  620. package/build/src/utils/strings.js.map +1 -1
  621. package/build/src/utils/tar.js +56 -23
  622. package/build/src/utils/tar.js.map +1 -1
  623. package/build/src/utils/telemetry/DetachedClient.js +90 -0
  624. package/build/src/utils/telemetry/DetachedClient.js.map +1 -0
  625. package/build/src/utils/telemetry/RudderClient.js +101 -0
  626. package/build/src/utils/telemetry/RudderClient.js.map +1 -0
  627. package/build/src/utils/telemetry/flushDetached.js +44 -0
  628. package/build/src/utils/telemetry/flushDetached.js.map +1 -0
  629. package/build/src/utils/telemetry/getContext.js +112 -0
  630. package/build/src/utils/telemetry/getContext.js.map +1 -0
  631. package/build/src/utils/telemetry/index.js +37 -0
  632. package/build/src/utils/telemetry/index.js.map +1 -0
  633. package/build/src/utils/telemetry/types.js +6 -0
  634. package/build/src/utils/telemetry/types.js.map +1 -0
  635. package/build/src/utils/template.js +27 -2
  636. package/build/src/utils/template.js.map +1 -1
  637. package/build/src/utils/terminal.js +5 -2
  638. package/build/src/utils/terminal.js.map +1 -1
  639. package/build/src/utils/tsconfig/evaluateTsConfig.js +32 -14
  640. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  641. package/build/src/utils/tsconfig/loadTsConfigPaths.js +34 -14
  642. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  643. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +8 -4
  644. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  645. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +20 -11
  646. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  647. package/build/src/utils/url.js +35 -19
  648. package/build/src/utils/url.js.map +1 -1
  649. package/build/src/utils/validateApplicationId.js +47 -28
  650. package/build/src/utils/validateApplicationId.js.map +1 -1
  651. package/build/src/utils/variadic.js +15 -11
  652. package/build/src/utils/variadic.js.map +1 -1
  653. package/build/src/whoami/index.js +43 -25
  654. package/build/src/whoami/index.js.map +1 -1
  655. package/build/src/whoami/whoamiAsync.js +50 -23
  656. package/build/src/whoami/whoamiAsync.js.map +1 -1
  657. package/package.json +16 -17
  658. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js +27907 -0
  659. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js +9494 -0
  660. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-profiling.js +10015 -0
  661. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +28375 -0
  662. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +9714 -0
  663. package/build/src/run/android/resolveGradleProps.js +0 -37
  664. package/build/src/run/android/resolveGradleProps.js.map +0 -1
  665. package/build/src/start/server/metro/bundleApiRoutes.js +0 -52
  666. package/build/src/start/server/metro/bundleApiRoutes.js.map +0 -1
  667. package/build/src/start/server/metro/debugging/InspectorDevice.js +0 -80
  668. package/build/src/start/server/metro/debugging/InspectorDevice.js.map +0 -1
  669. package/build/src/start/server/metro/debugging/InspectorProxy.js +0 -116
  670. package/build/src/start/server/metro/debugging/InspectorProxy.js.map +0 -1
  671. package/build/src/start/server/metro/debugging/inspectorHandlers/NetworkResponse.js.map +0 -1
  672. package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js +0 -22
  673. package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js.map +0 -1
  674. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js +0 -21
  675. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +0 -1
  676. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js +0 -56
  677. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js.map +0 -1
  678. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js +0 -18
  679. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +0 -1
  680. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js +0 -24
  681. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js.map +0 -1
  682. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeGetProperties.js.map +0 -1
  683. package/build/src/start/server/metro/debugging/inspectorHandlers/types.js.map +0 -1
  684. package/build/src/start/server/metro/debugging/inspectorHandlers/utils.js.map +0 -1
  685. package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js +0 -38
  686. package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js.map +0 -1
  687. package/build/src/start/server/type-generation/__typetests__/generateFixtures.js +0 -38
  688. package/build/src/start/server/type-generation/__typetests__/generateFixtures.js.map +0 -1
  689. package/build/src/start/server/type-generation/__typetests__/route.test.js +0 -184
  690. package/build/src/start/server/type-generation/__typetests__/route.test.js.map +0 -1
  691. package/build/src/utils/analytics/rudderstackClient.js +0 -147
  692. package/build/src/utils/analytics/rudderstackClient.js.map +0 -1
  693. /package/build/src/start/server/metro/debugging/{inspectorHandlers/types.js → types.js} +0 -0
@@ -1,66 +1,136 @@
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.getDeepLinkHandler = getDeepLinkHandler;
6
- var _config = require("@expo/config");
7
- var runtimeEnv = _interopRequireWildcard(require("@expo/env"));
8
- var _chalk = _interopRequireDefault(require("chalk"));
9
- var _nodeFetch = _interopRequireDefault(require("node-fetch"));
10
- var _path = _interopRequireDefault(require("path"));
11
- var _bundleApiRoutes = require("./bundleApiRoutes");
12
- var _createServerRouteMiddleware = require("./createServerRouteMiddleware");
13
- var _fetchRouterManifest = require("./fetchRouterManifest");
14
- var _instantiateMetro = require("./instantiateMetro");
15
- var _metroWatchTypeScriptFiles = require("./metroWatchTypeScriptFiles");
16
- var _router = require("./router");
17
- var _serializeHtml = require("./serializeHtml");
18
- var _waitForMetroToObserveTypeScriptFile = require("./waitForMetroToObserveTypeScriptFile");
19
- var _log = require("../../../log");
20
- var _getDevClientProperties = _interopRequireDefault(require("../../../utils/analytics/getDevClientProperties"));
21
- var _rudderstackClient = require("../../../utils/analytics/rudderstackClient");
22
- var _errors = require("../../../utils/errors");
23
- var _port = require("../../../utils/port");
24
- var _bundlerDevServer = require("../BundlerDevServer");
25
- var _getStaticRenderFunctions = require("../getStaticRenderFunctions");
26
- var _contextModuleSourceMapsMiddleware = require("../middleware/ContextModuleSourceMapsMiddleware");
27
- var _createFileMiddleware = require("../middleware/CreateFileMiddleware");
28
- var _devToolsPluginMiddleware = require("../middleware/DevToolsPluginMiddleware");
29
- var _faviconMiddleware = require("../middleware/FaviconMiddleware");
30
- var _historyFallbackMiddleware = require("../middleware/HistoryFallbackMiddleware");
31
- var _interstitialPageMiddleware = require("../middleware/InterstitialPageMiddleware");
32
- var _manifestMiddleware = require("../middleware/ManifestMiddleware");
33
- var _reactDevToolsPageMiddleware = require("../middleware/ReactDevToolsPageMiddleware");
34
- var _runtimeRedirectMiddleware = require("../middleware/RuntimeRedirectMiddleware");
35
- var _serveStaticMiddleware = require("../middleware/ServeStaticMiddleware");
36
- var _metroOptions = require("../middleware/metroOptions");
37
- var _mutations = require("../middleware/mutations");
38
- var _startTypescriptTypeGeneration = require("../type-generation/startTypescriptTypeGeneration");
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
+ ForwardHtmlError: ()=>ForwardHtmlError,
18
+ MetroBundlerDevServer: ()=>MetroBundlerDevServer,
19
+ getDeepLinkHandler: ()=>getDeepLinkHandler
20
+ });
21
+ function _config() {
22
+ const data = require("@expo/config");
23
+ _config = function() {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
28
+ function _env() {
29
+ const data = /*#__PURE__*/ _interopRequireWildcard(require("@expo/env"));
30
+ _env = function() {
31
+ return data;
32
+ };
33
+ return data;
34
+ }
35
+ function _assert() {
36
+ const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
37
+ _assert = function() {
38
+ return data;
39
+ };
40
+ return data;
41
+ }
42
+ function _chalk() {
43
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
44
+ _chalk = function() {
45
+ return data;
46
+ };
47
+ return data;
48
+ }
49
+ function _nodeFetch() {
50
+ const data = /*#__PURE__*/ _interopRequireDefault(require("node-fetch"));
51
+ _nodeFetch = function() {
52
+ return data;
53
+ };
54
+ return data;
55
+ }
56
+ function _path() {
57
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
58
+ _path = function() {
59
+ return data;
60
+ };
61
+ return data;
62
+ }
63
+ const _createServerRouteMiddleware = require("./createServerRouteMiddleware");
64
+ const _fetchRouterManifest = require("./fetchRouterManifest");
65
+ const _instantiateMetro = require("./instantiateMetro");
66
+ const _metroErrorInterface = require("./metroErrorInterface");
67
+ const _metroWatchTypeScriptFiles = require("./metroWatchTypeScriptFiles");
68
+ const _router = require("./router");
69
+ const _serializeHtml = require("./serializeHtml");
70
+ const _waitForMetroToObserveTypeScriptFile = require("./waitForMetroToObserveTypeScriptFile");
71
+ const _log = require("../../../log");
72
+ const _getDevClientProperties = /*#__PURE__*/ _interopRequireDefault(require("../../../utils/analytics/getDevClientProperties"));
73
+ const _errors = require("../../../utils/errors");
74
+ const _port = require("../../../utils/port");
75
+ const _telemetry = require("../../../utils/telemetry");
76
+ const _bundlerDevServer = require("../BundlerDevServer");
77
+ const _getStaticRenderFunctions = require("../getStaticRenderFunctions");
78
+ const _contextModuleSourceMapsMiddleware = require("../middleware/ContextModuleSourceMapsMiddleware");
79
+ const _createFileMiddleware = require("../middleware/CreateFileMiddleware");
80
+ const _devToolsPluginMiddleware = require("../middleware/DevToolsPluginMiddleware");
81
+ const _faviconMiddleware = require("../middleware/FaviconMiddleware");
82
+ const _historyFallbackMiddleware = require("../middleware/HistoryFallbackMiddleware");
83
+ const _interstitialPageMiddleware = require("../middleware/InterstitialPageMiddleware");
84
+ const _manifestMiddleware = require("../middleware/ManifestMiddleware");
85
+ const _reactDevToolsPageMiddleware = require("../middleware/ReactDevToolsPageMiddleware");
86
+ const _runtimeRedirectMiddleware = require("../middleware/RuntimeRedirectMiddleware");
87
+ const _serveStaticMiddleware = require("../middleware/ServeStaticMiddleware");
88
+ const _metroOptions = require("../middleware/metroOptions");
89
+ const _mutations = require("../middleware/mutations");
90
+ const _startTypescriptTypeGeneration = require("../type-generation/startTypescriptTypeGeneration");
39
91
  function _interopRequireDefault(obj) {
40
92
  return obj && obj.__esModule ? obj : {
41
93
  default: obj
42
94
  };
43
95
  }
44
- function _interopRequireWildcard(obj) {
45
- if (obj && obj.__esModule) {
96
+ function _getRequireWildcardCache(nodeInterop) {
97
+ if (typeof WeakMap !== "function") return null;
98
+ var cacheBabelInterop = new WeakMap();
99
+ var cacheNodeInterop = new WeakMap();
100
+ return (_getRequireWildcardCache = function(nodeInterop) {
101
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
102
+ })(nodeInterop);
103
+ }
104
+ function _interopRequireWildcard(obj, nodeInterop) {
105
+ if (!nodeInterop && obj && obj.__esModule) {
46
106
  return obj;
47
- } else {
48
- var newObj = {};
49
- if (obj != null) {
50
- for(var key in obj){
51
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
52
- var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
53
- if (desc.get || desc.set) {
54
- Object.defineProperty(newObj, key, desc);
55
- } else {
56
- newObj[key] = obj[key];
57
- }
58
- }
107
+ }
108
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
109
+ return {
110
+ default: obj
111
+ };
112
+ }
113
+ var cache = _getRequireWildcardCache(nodeInterop);
114
+ if (cache && cache.has(obj)) {
115
+ return cache.get(obj);
116
+ }
117
+ var newObj = {};
118
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
119
+ for(var key in obj){
120
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
121
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
122
+ if (desc && (desc.get || desc.set)) {
123
+ Object.defineProperty(newObj, key, desc);
124
+ } else {
125
+ newObj[key] = obj[key];
59
126
  }
60
127
  }
61
- newObj.default = obj;
62
- return newObj;
63
128
  }
129
+ newObj.default = obj;
130
+ if (cache) {
131
+ cache.set(obj, newObj);
132
+ }
133
+ return newObj;
64
134
  }
65
135
  class ForwardHtmlError extends _errors.CommandError {
66
136
  constructor(message, html, statusCode){
@@ -69,7 +139,6 @@ class ForwardHtmlError extends _errors.CommandError {
69
139
  this.statusCode = statusCode;
70
140
  }
71
141
  }
72
- exports.ForwardHtmlError = ForwardHtmlError;
73
142
  const debug = require("debug")("expo:start:server:metro");
74
143
  /** Default port to use for apps running in Expo Go. */ const EXPO_GO_METRO_PORT = 8081;
75
144
  /** Default port to use for apps that run in standard React Native projects or Expo Dev Clients. */ const DEV_CLIENT_METRO_PORT = 8081;
@@ -82,29 +151,45 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
82
151
  var // If the manually defined port is busy then an error should be thrown...
83
152
  _port1;
84
153
  const port = (_port1 = options.port) != null ? _port1 : // Otherwise use the default port based on the runtime target.
85
- (options.devClient ? Number(process.env.RCT_METRO_PORT) || DEV_CLIENT_METRO_PORT : await (0, _port).getFreePortAsync(EXPO_GO_METRO_PORT));
154
+ (options.devClient ? Number(process.env.RCT_METRO_PORT) || DEV_CLIENT_METRO_PORT : await (0, _port.getFreePortAsync)(EXPO_GO_METRO_PORT));
86
155
  return port;
87
156
  }
88
- async exportExpoRouterApiRoutesAsync({ mode , outputDir , prerenderManifest , baseUrl , routerRoot }) {
89
- const appDir = _path.default.join(this.projectRoot, routerRoot);
157
+ async exportExpoRouterApiRoutesAsync({ includeSourceMaps , outputDir , prerenderManifest }) {
158
+ const { routerRoot } = this.instanceMetroOptions;
159
+ (0, _assert().default)(routerRoot != null, "The server must be started before calling exportExpoRouterApiRoutesAsync.");
160
+ const appDir = _path().default.join(this.projectRoot, routerRoot);
90
161
  const manifest = await this.getExpoRouterRoutesManifestAsync({
91
162
  appDir
92
163
  });
93
164
  const files = new Map();
94
165
  for (const route of manifest.apiRoutes){
95
- var ref;
96
- const filepath = _path.default.join(appDir, route.file);
97
- const contents = await (0, _bundleApiRoutes).bundleApiRoute(this.projectRoot, filepath, {
98
- mode,
99
- routerRoot,
100
- port: (ref = this.getInstance()) == null ? void 0 : ref.location.port,
101
- shouldThrow: true,
102
- baseUrl
103
- });
104
- const artifactFilename = _path.default.join(outputDir, _path.default.relative(appDir, filepath.replace(/\.[tj]sx?$/, ".js")));
166
+ const filepath = _path().default.join(appDir, route.file);
167
+ const contents = await this.bundleApiRoute(filepath);
168
+ const artifactFilename = _path().default.join(outputDir, _path().default.relative(appDir, filepath.replace(/\.[tj]sx?$/, ".js")));
105
169
  if (contents) {
170
+ let src = contents.src;
171
+ if (includeSourceMaps && contents.map) {
172
+ // TODO(kitten): Merge the source map transformer in the future
173
+ // https://github.com/expo/expo/blob/0dffdb15/packages/%40expo/metro-config/src/serializer/serializeChunks.ts#L422-L439
174
+ // Alternatively, check whether `sourcesRoot` helps here
175
+ const artifactBasename = encodeURIComponent(_path().default.basename(artifactFilename) + ".map");
176
+ src = src.replace(/\/\/# sourceMappingURL=.*/g, `//# sourceMappingURL=${artifactBasename}`);
177
+ files.set(artifactFilename + ".map", {
178
+ contents: JSON.stringify({
179
+ version: contents.map.version,
180
+ sources: contents.map.sources.map((source)=>{
181
+ source = typeof source === "string" && source.startsWith(this.projectRoot) ? _path().default.relative(this.projectRoot, source) : source;
182
+ return source.split(_path().default.sep).join("/");
183
+ }),
184
+ sourcesContent: new Array(contents.map.sources.length).fill(null),
185
+ names: contents.map.names,
186
+ mappings: contents.map.mappings
187
+ }),
188
+ targetDomain: "server"
189
+ });
190
+ }
106
191
  files.set(artifactFilename, {
107
- contents: contents.src,
192
+ contents: src,
108
193
  targetDomain: "server"
109
194
  });
110
195
  }
@@ -121,7 +206,7 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
121
206
  }
122
207
  async getExpoRouterRoutesManifestAsync({ appDir }) {
123
208
  // getBuiltTimeServerManifest
124
- const manifest = await (0, _fetchRouterManifest).fetchManifest(this.projectRoot, {
209
+ const manifest = await (0, _fetchRouterManifest.fetchManifest)(this.projectRoot, {
125
210
  asJson: true,
126
211
  appDir
127
212
  });
@@ -130,21 +215,19 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
130
215
  }
131
216
  return manifest;
132
217
  }
133
- async getStaticRenderFunctionAsync({ mode , minify =mode !== "development" , baseUrl , routerRoot }) {
218
+ async getStaticRenderFunctionAsync() {
219
+ const { mode , minify , isExporting } = this.instanceMetroOptions;
220
+ (0, _assert().default)(mode != null && minify != null && isExporting != null, "The server must be started before calling ssrLoadModule.");
134
221
  const url = this.getDevServerUrl();
135
- const { getStaticContent , getManifest , getBuildTimeServerManifestAsync } = await (0, _getStaticRenderFunctions).getStaticRenderFunctions(this.projectRoot, url, {
222
+ const { getStaticContent , getManifest , getBuildTimeServerManifestAsync } = await this.ssrLoadModule("expo-router/node/render.js", {
136
223
  minify,
137
- dev: mode !== "production",
138
- // Ensure the API Routes are included
139
- environment: "node",
140
- baseUrl,
141
- routerRoot
224
+ mode,
225
+ isExporting
142
226
  });
143
227
  return {
144
228
  serverManifest: await getBuildTimeServerManifestAsync(),
145
229
  // Get routes from Expo Router.
146
230
  manifest: await getManifest({
147
- fetchData: true,
148
231
  preserveApiRoutes: false
149
232
  }),
150
233
  // Get route generating function
@@ -153,19 +236,22 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
153
236
  }
154
237
  };
155
238
  }
156
- async getStaticResourcesAsync({ mode , minify =mode !== "development" , includeSourceMaps , baseUrl , mainModuleName , isExporting , asyncRoutes , routerRoot }) {
239
+ async getStaticResourcesAsync({ includeSourceMaps , mainModuleName } = {}) {
157
240
  var ref;
158
- const devBundleUrlPathname = (0, _metroOptions).createBundleUrlPath({
159
- platform: "web",
241
+ const { mode , minify , isExporting , baseUrl , routerRoot , asyncRoutes } = this.instanceMetroOptions;
242
+ (0, _assert().default)(mode != null && minify != null && isExporting != null && baseUrl != null && routerRoot != null && asyncRoutes != null, "The server must be started before calling getStaticPageAsync.");
243
+ const platform = "web";
244
+ const devBundleUrlPathname = (0, _metroOptions.createBundleUrlPath)({
245
+ platform,
160
246
  mode,
161
247
  minify,
162
248
  environment: "client",
163
249
  serializerOutput: "static",
164
250
  serializerIncludeMaps: includeSourceMaps,
165
- mainModuleName: mainModuleName != null ? mainModuleName : (0, _manifestMiddleware).resolveMainModuleName(this.projectRoot, {
166
- platform: "web"
251
+ mainModuleName: mainModuleName != null ? mainModuleName : (0, _manifestMiddleware.resolveMainModuleName)(this.projectRoot, {
252
+ platform
167
253
  }),
168
- lazy: (0, _metroOptions).shouldEnableAsyncImports(this.projectRoot),
254
+ lazy: (0, _metroOptions.shouldEnableAsyncImports)(this.projectRoot),
169
255
  asyncRoutes,
170
256
  baseUrl,
171
257
  isExporting,
@@ -174,7 +260,7 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
174
260
  });
175
261
  const bundleUrl = new URL(devBundleUrlPathname, this.getDevServerUrl());
176
262
  // Fetch the generated HTML from our custom Metro serializer
177
- const results = await (0, _nodeFetch).default(bundleUrl.toString());
263
+ const results = await (0, _nodeFetch().default)(bundleUrl.toString());
178
264
  const txt = await results.text();
179
265
  let data;
180
266
  try {
@@ -214,15 +300,18 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
214
300
  }
215
301
  throw new Error("Invalid resources returned from the Metro serializer. Expected array, found: " + data);
216
302
  }
217
- async getStaticPageAsync(pathname, { mode , minify =mode !== "development" , baseUrl , routerRoot , isExporting , asyncRoutes }) {
218
- const devBundleUrlPathname = (0, _metroOptions).createBundleUrlPath({
219
- platform: "web",
303
+ async getStaticPageAsync(pathname) {
304
+ const { mode , minify , isExporting , baseUrl , routerRoot , asyncRoutes } = this.instanceMetroOptions;
305
+ (0, _assert().default)(mode != null && minify != null && isExporting != null && baseUrl != null && routerRoot != null && asyncRoutes != null, "The server must be started before calling getStaticPageAsync.");
306
+ const platform = "web";
307
+ const devBundleUrlPathname = (0, _metroOptions.createBundleUrlPath)({
308
+ platform,
220
309
  mode,
221
310
  environment: "client",
222
- mainModuleName: (0, _manifestMiddleware).resolveMainModuleName(this.projectRoot, {
223
- platform: "web"
311
+ mainModuleName: (0, _manifestMiddleware.resolveMainModuleName)(this.projectRoot, {
312
+ platform
224
313
  }),
225
- lazy: (0, _metroOptions).shouldEnableAsyncImports(this.projectRoot),
314
+ lazy: (0, _metroOptions.shouldEnableAsyncImports)(this.projectRoot),
226
315
  baseUrl,
227
316
  isExporting,
228
317
  asyncRoutes,
@@ -230,30 +319,21 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
230
319
  bytecode: false
231
320
  });
232
321
  const bundleStaticHtml = async ()=>{
233
- const { getStaticContent } = await (0, _getStaticRenderFunctions).getStaticRenderFunctions(this.projectRoot, this.getDevServerUrl(), {
322
+ const { getStaticContent } = await this.ssrLoadModule("expo-router/node/render.js", {
234
323
  minify: false,
235
- dev: mode !== "production",
236
- // Ensure the API Routes are included
237
- environment: "node",
238
- baseUrl,
239
- routerRoot
324
+ mode,
325
+ isExporting,
326
+ platform
240
327
  });
241
328
  const location = new URL(pathname, this.getDevServerUrl());
242
329
  return await getStaticContent(location);
243
330
  };
244
331
  const [{ artifacts: resources }, staticHtml] = await Promise.all([
245
- this.getStaticResourcesAsync({
246
- isExporting,
247
- mode,
248
- minify,
249
- baseUrl,
250
- asyncRoutes,
251
- routerRoot
252
- }),
332
+ this.getStaticResourcesAsync(),
253
333
  bundleStaticHtml(),
254
334
  ]);
255
- const content = (0, _serializeHtml).serializeHtmlWithAssets({
256
- mode,
335
+ const content = (0, _serializeHtml.serializeHtmlWithAssets)({
336
+ isExporting,
257
337
  resources,
258
338
  template: staticHtml,
259
339
  devBundleUrl: devBundleUrlPathname,
@@ -264,6 +344,40 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
264
344
  resources
265
345
  };
266
346
  }
347
+ // Set when the server is started.
348
+ instanceMetroOptions = {};
349
+ async ssrLoadModule(filePath, specificOptions = {}) {
350
+ const { baseUrl , routerRoot , isExporting } = this.instanceMetroOptions;
351
+ (0, _assert().default)(baseUrl != null && routerRoot != null && isExporting != null, "The server must be started before calling ssrLoadModule.");
352
+ return (await (0, _getStaticRenderFunctions.getStaticRenderFunctionsForEntry)(this.projectRoot, this.getDevServerUrl(), {
353
+ // Bundle in Node.js mode for SSR.
354
+ environment: "node",
355
+ platform: "web",
356
+ mode: "development",
357
+ bytecode: false,
358
+ ...this.instanceMetroOptions,
359
+ baseUrl,
360
+ routerRoot,
361
+ isExporting,
362
+ ...specificOptions
363
+ }, filePath)).fn;
364
+ }
365
+ async ssrLoadModuleContents(filePath, specificOptions = {}) {
366
+ const { baseUrl , routerRoot , isExporting } = this.instanceMetroOptions;
367
+ (0, _assert().default)(baseUrl != null && routerRoot != null && isExporting != null, "The server must be started before calling ssrLoadModule.");
368
+ return await (0, _getStaticRenderFunctions.requireFileContentsWithMetro)(this.projectRoot, this.getDevServerUrl(), filePath, {
369
+ // Bundle in Node.js mode for SSR.
370
+ environment: "node",
371
+ platform: "web",
372
+ mode: "development",
373
+ bytecode: false,
374
+ ...this.instanceMetroOptions,
375
+ baseUrl,
376
+ routerRoot,
377
+ isExporting,
378
+ ...specificOptions
379
+ });
380
+ }
267
381
  async watchEnvironmentVariables() {
268
382
  if (!this.instance) {
269
383
  throw new Error("Cannot observe environment variable changes without a running Metro instance.");
@@ -274,22 +388,49 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
274
388
  debug("Skipping Environment Variable observation because Metro is not running (headless).");
275
389
  return;
276
390
  }
277
- const envFiles = runtimeEnv.getFiles(process.env.NODE_ENV).map((fileName)=>_path.default.join(this.projectRoot, fileName)
278
- );
279
- (0, _waitForMetroToObserveTypeScriptFile).observeFileChanges({
391
+ const envFiles = _env().getFiles(process.env.NODE_ENV).map((fileName)=>_path().default.join(this.projectRoot, fileName));
392
+ (0, _waitForMetroToObserveTypeScriptFile.observeFileChanges)({
280
393
  metro: this.metro,
281
394
  server: this.instance.server
282
395
  }, envFiles, ()=>{
283
396
  debug("Reloading environment variables...");
284
397
  // Force reload the environment variables.
285
- runtimeEnv.load(this.projectRoot, {
398
+ _env().load(this.projectRoot, {
286
399
  force: true
287
400
  });
288
401
  });
289
402
  }
403
+ getExpoLineOptions() {
404
+ return this.instanceMetroOptions;
405
+ }
290
406
  async startImplementationAsync(options) {
407
+ var ref;
291
408
  options.port = await this.resolvePortAsync(options);
292
409
  this.urlCreator = this.getUrlCreator(options);
410
+ const config = (0, _config().getConfig)(this.projectRoot, {
411
+ skipSDKVersionRequirement: true
412
+ });
413
+ const { exp } = config;
414
+ var ref1;
415
+ const useServerRendering = [
416
+ "static",
417
+ "server"
418
+ ].includes((ref1 = (ref = exp.web) == null ? void 0 : ref.output) != null ? ref1 : "");
419
+ const baseUrl = (0, _metroOptions.getBaseUrlFromExpoConfig)(exp);
420
+ var _mode;
421
+ const asyncRoutes = (0, _metroOptions.getAsyncRoutesFromExpoConfig)(exp, (_mode = options.mode) != null ? _mode : "development", "web");
422
+ const routerRoot = (0, _router.getRouterDirectoryModuleIdWithManifest)(this.projectRoot, exp);
423
+ const appDir = _path().default.join(this.projectRoot, routerRoot);
424
+ var _mode1;
425
+ const mode = (_mode1 = options.mode) != null ? _mode1 : "development";
426
+ this.instanceMetroOptions = {
427
+ isExporting: !!options.isExporting,
428
+ baseUrl,
429
+ mode,
430
+ routerRoot,
431
+ minify: options.minify,
432
+ asyncRoutes
433
+ };
293
434
  const parsedOptions = {
294
435
  port: options.port,
295
436
  maxWorkers: options.maxWorkers,
@@ -297,19 +438,19 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
297
438
  };
298
439
  // Required for symbolication:
299
440
  process.env.EXPO_DEV_SERVER_ORIGIN = `http://localhost:${options.port}`;
300
- const { metro , server , middleware , messageSocket } = await (0, _instantiateMetro).instantiateMetroAsync(this, parsedOptions, {
441
+ const { metro , server , middleware , messageSocket } = await (0, _instantiateMetro.instantiateMetroAsync)(this, parsedOptions, {
301
442
  isExporting: !!options.isExporting
302
443
  });
303
444
  const manifestMiddleware = await this.getManifestMiddlewareAsync(options);
304
445
  // Important that we noop source maps for context modules as soon as possible.
305
- (0, _mutations).prependMiddleware(middleware, new _contextModuleSourceMapsMiddleware.ContextModuleSourceMapsMiddleware().getHandler());
446
+ (0, _mutations.prependMiddleware)(middleware, new _contextModuleSourceMapsMiddleware.ContextModuleSourceMapsMiddleware().getHandler());
306
447
  // We need the manifest handler to be the first middleware to run so our
307
448
  // routes take precedence over static files. For example, the manifest is
308
449
  // served from '/' and if the user has an index.html file in their project
309
450
  // then the manifest handler will never run, the static middleware will run
310
451
  // and serve index.html instead of the manifest.
311
452
  // https://github.com/expo/expo/issues/13114
312
- (0, _mutations).prependMiddleware(middleware, manifestMiddleware.getHandler());
453
+ (0, _mutations.prependMiddleware)(middleware, manifestMiddleware.getHandler());
313
454
  var _scheme;
314
455
  middleware.use(new _interstitialPageMiddleware.InterstitialPageMiddleware(this.projectRoot, {
315
456
  // TODO: Prevent this from becoming stale.
@@ -324,8 +465,8 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
324
465
  var ref;
325
466
  return (ref = this.urlCreator) == null ? void 0 : ref.constructDevClientUrl();
326
467
  } else {
327
- var ref2;
328
- return (ref2 = this.urlCreator) == null ? void 0 : ref2.constructUrl({
468
+ var ref1;
469
+ return (ref1 = this.urlCreator) == null ? void 0 : ref1.constructUrl({
329
470
  scheme: "exp"
330
471
  });
331
472
  }
@@ -335,46 +476,21 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
335
476
  middleware.use(new _createFileMiddleware.CreateFileMiddleware(this.projectRoot).getHandler());
336
477
  // Append support for redirecting unhandled requests to the index.html page on web.
337
478
  if (this.isTargetingWeb()) {
338
- var ref3;
339
- const config = (0, _config).getConfig(this.projectRoot, {
340
- skipSDKVersionRequirement: true
341
- });
342
- const { exp } = config;
343
- var ref1;
344
- const useServerRendering = [
345
- "static",
346
- "server"
347
- ].includes((ref1 = (ref3 = exp.web) == null ? void 0 : ref3.output) != null ? ref1 : "");
348
479
  // This MUST be after the manifest middleware so it doesn't have a chance to serve the template `public/index.html`.
349
480
  middleware.use(new _serveStaticMiddleware.ServeStaticMiddleware(this.projectRoot).getHandler());
350
481
  // This should come after the static middleware so it doesn't serve the favicon from `public/favicon.ico`.
351
482
  middleware.use(new _faviconMiddleware.FaviconMiddleware(this.projectRoot).getHandler());
352
483
  if (useServerRendering) {
353
- const baseUrl = (0, _metroOptions).getBaseUrlFromExpoConfig(exp);
354
- var _mode1;
355
- const asyncRoutes = (0, _metroOptions).getAsyncRoutesFromExpoConfig(exp, (_mode1 = options.mode) != null ? _mode1 : "development", "web");
356
- const routerRoot = (0, _router).getRouterDirectoryModuleIdWithManifest(this.projectRoot, exp);
357
- const appDir = _path.default.join(this.projectRoot, routerRoot);
358
- middleware.use((0, _createServerRouteMiddleware).createRouteHandlerMiddleware(this.projectRoot, {
359
- ...options,
484
+ middleware.use((0, _createServerRouteMiddleware.createRouteHandlerMiddleware)(this.projectRoot, {
360
485
  appDir,
361
- baseUrl,
362
486
  routerRoot,
363
487
  config,
364
- getWebBundleUrl: manifestMiddleware.getWebBundleUrl.bind(manifestMiddleware),
488
+ bundleApiRoute: (functionFilePath)=>this.ssrImportApiRoute(functionFilePath),
365
489
  getStaticPageAsync: (pathname)=>{
366
- var _mode;
367
- return this.getStaticPageAsync(pathname, {
368
- isExporting: !!options.isExporting,
369
- mode: (_mode = options.mode) != null ? _mode : "development",
370
- minify: options.minify,
371
- baseUrl,
372
- asyncRoutes,
373
- routerRoot
374
- });
490
+ return this.getStaticPageAsync(pathname);
375
491
  }
376
492
  }));
377
- (0, _waitForMetroToObserveTypeScriptFile).observeAnyFileChanges({
493
+ (0, _waitForMetroToObserveTypeScriptFile.observeAnyFileChanges)({
378
494
  metro,
379
495
  server
380
496
  }, (events)=>{
@@ -385,15 +501,15 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
385
501
  // cases where the user is making subsequent requests to the same API route without changing anything.
386
502
  // This is useful for testing but pretty suboptimal. Luckily our caching is pretty aggressive so it makes
387
503
  // up for a lot of the overhead.
388
- (0, _bundleApiRoutes).invalidateApiRouteCache();
389
- } else if (!(0, _router).hasWarnedAboutApiRoutes()) {
504
+ this.invalidateApiRouteCache();
505
+ } else if (!(0, _router.hasWarnedAboutApiRoutes)()) {
390
506
  for (const event of events){
391
507
  var // If the user did not delete a file that matches the Expo Router API Route convention, then we should warn that
392
508
  // API Routes are not enabled in the project.
393
- ref4;
394
- if (((ref4 = event.metadata) == null ? void 0 : ref4.type) !== "d" && // Ensure the file is in the project's routes directory to prevent false positives in monorepos.
395
- event.filePath.startsWith(appDir) && (0, _router).isApiRouteConvention(event.filePath)) {
396
- (0, _router).warnInvalidWebOutput();
509
+ ref1;
510
+ if (((ref1 = event.metadata) == null ? void 0 : ref1.type) !== "d" && // Ensure the file is in the project's routes directory to prevent false positives in monorepos.
511
+ event.filePath.startsWith(appDir) && (0, _router.isApiRouteConvention)(event.filePath)) {
512
+ (0, _router.warnInvalidWebOutput)();
397
513
  }
398
514
  }
399
515
  }
@@ -440,7 +556,7 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
440
556
  debug("Skipping TypeScript check because Metro is not running (headless).");
441
557
  return resolve(false);
442
558
  }
443
- const off = (0, _metroWatchTypeScriptFiles).metroWatchTypeScriptFiles({
559
+ const off = (0, _metroWatchTypeScriptFiles.metroWatchTypeScriptFiles)({
444
560
  projectRoot: this.projectRoot,
445
561
  server: this.instance.server,
446
562
  metro: this.metro,
@@ -453,9 +569,7 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
453
569
  callback: async ()=>{
454
570
  // Run once, this prevents the TypeScript project prerequisite from running on every file change.
455
571
  off();
456
- const { TypeScriptProjectPrerequisite } = await Promise.resolve().then(function() {
457
- return _interopRequireWildcard(require("../../doctor/typescript/TypeScriptProjectPrerequisite.js"));
458
- });
572
+ const { TypeScriptProjectPrerequisite } = await Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../../doctor/typescript/TypeScriptProjectPrerequisite.js")));
459
573
  try {
460
574
  const req = new TypeScriptProjectPrerequisite(this.projectRoot);
461
575
  await req.bootstrapAsync();
@@ -464,7 +578,7 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
464
578
  // Ensure the process doesn't fail if the TypeScript check fails.
465
579
  // This could happen during the install.
466
580
  _log.Log.log();
467
- _log.Log.error(_chalk.default.red`Failed to automatically setup TypeScript for your project. Try restarting the dev server to fix.`);
581
+ _log.Log.error(_chalk().default.red`Failed to automatically setup TypeScript for your project. Try restarting the dev server to fix.`);
468
582
  _log.Log.exception(error);
469
583
  resolve(false);
470
584
  }
@@ -474,7 +588,7 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
474
588
  }
475
589
  async startTypeScriptServices() {
476
590
  var ref;
477
- return (0, _startTypescriptTypeGeneration).startTypescriptTypeGenerationAsync({
591
+ return (0, _startTypescriptTypeGeneration.startTypescriptTypeGenerationAsync)({
478
592
  server: (ref = this.instance) == null ? void 0 : ref.server,
479
593
  metro: this.metro,
480
594
  projectRoot: this.projectRoot
@@ -487,15 +601,76 @@ class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
487
601
  "./rn-cli.config.js"
488
602
  ];
489
603
  }
604
+ pendingRouteOperations = new Map();
605
+ // API Routes
606
+ // Bundle the API Route with Metro and return the string contents to be evaluated in the server.
607
+ async bundleApiRoute(filePath) {
608
+ if (this.pendingRouteOperations.has(filePath)) {
609
+ return this.pendingRouteOperations.get(filePath);
610
+ }
611
+ const bundleAsync = async ()=>{
612
+ try {
613
+ debug("Bundle API route:", this.instanceMetroOptions.routerRoot, filePath);
614
+ return await this.ssrLoadModuleContents(filePath);
615
+ } catch (error) {
616
+ if (error instanceof Error) {
617
+ await (0, _metroErrorInterface.logMetroErrorAsync)({
618
+ error,
619
+ projectRoot: this.projectRoot
620
+ });
621
+ }
622
+ throw error;
623
+ } finally{
624
+ // pendingRouteOperations.delete(filepath);
625
+ }
626
+ };
627
+ const route = bundleAsync();
628
+ this.pendingRouteOperations.set(filePath, route);
629
+ return route;
630
+ }
631
+ async ssrImportApiRoute(filePath) {
632
+ // TODO: Cache the evaluated function.
633
+ try {
634
+ const apiRoute = await this.bundleApiRoute(filePath);
635
+ if (!(apiRoute == null ? void 0 : apiRoute.src)) {
636
+ return null;
637
+ }
638
+ return (0, _getStaticRenderFunctions.evalMetroNoHandling)(this.projectRoot, apiRoute.src, apiRoute.filename);
639
+ } catch (error) {
640
+ // Format any errors that were thrown in the global scope of the evaluation.
641
+ if (error instanceof Error) {
642
+ try {
643
+ const htmlServerError = await (0, _metroErrorInterface.getErrorOverlayHtmlAsync)({
644
+ error,
645
+ projectRoot: this.projectRoot,
646
+ routerRoot: this.getExpoLineOptions().routerRoot
647
+ });
648
+ return new Response(htmlServerError, {
649
+ status: 500,
650
+ headers: {
651
+ "Content-Type": "text/html"
652
+ }
653
+ });
654
+ } catch (internalError) {
655
+ debug("Failed to generate Metro server error UI for API Route error:", internalError);
656
+ throw error;
657
+ }
658
+ } else {
659
+ throw error;
660
+ }
661
+ }
662
+ }
663
+ invalidateApiRouteCache() {
664
+ this.pendingRouteOperations.clear();
665
+ }
490
666
  }
491
- exports.MetroBundlerDevServer = MetroBundlerDevServer;
492
667
  function getDeepLinkHandler(projectRoot) {
493
668
  return async ({ runtime })=>{
494
669
  if (runtime === "expo") return;
495
- const { exp } = (0, _config).getConfig(projectRoot);
496
- await (0, _rudderstackClient).logEventAsync("dev client start command", {
670
+ const { exp } = (0, _config().getConfig)(projectRoot);
671
+ await (0, _telemetry.logEventAsync)("dev client start command", {
497
672
  status: "started",
498
- ...(0, _getDevClientProperties).default(projectRoot, exp)
673
+ ...(0, _getDevClientProperties.default)(projectRoot, exp)
499
674
  });
500
675
  };
501
676
  }