@expo/cli 0.22.24 → 0.22.25

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 (722) hide show
  1. package/build/bin/cli +93 -91
  2. package/build/bin/cli.map +1 -1
  3. package/build/metro-require/require.js +53 -52
  4. package/build/src/api/endpoint.js +6 -2
  5. package/build/src/api/endpoint.js.map +1 -1
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +5 -3
  7. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  8. package/build/src/api/getExpoSchema.js +16 -12
  9. package/build/src/api/getExpoSchema.js.map +1 -1
  10. package/build/src/api/getNativeModuleVersions.js +6 -4
  11. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  12. package/build/src/api/getProjectDevelopmentCertificate.js +5 -3
  13. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  14. package/build/src/api/getVersions.js +7 -5
  15. package/build/src/api/getVersions.js.map +1 -1
  16. package/build/src/api/graphql/client.js +32 -26
  17. package/build/src/api/graphql/client.js.map +1 -1
  18. package/build/src/api/graphql/queries/AppQuery.js +6 -4
  19. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  20. package/build/src/api/graphql/queries/UserQuery.js +5 -3
  21. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  22. package/build/src/api/graphql/types/App.js +3 -1
  23. package/build/src/api/graphql/types/App.js.map +1 -1
  24. package/build/src/api/rest/cache/FileSystemResponseCache.js +10 -8
  25. package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
  26. package/build/src/api/rest/cache/ResponseCache.js +20 -12
  27. package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +13 -11
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  30. package/build/src/api/rest/client.js +53 -35
  31. package/build/src/api/rest/client.js.map +1 -1
  32. package/build/src/api/rest/client.types.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithBaseUrl.js +5 -3
  34. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithOffline.js +5 -3
  36. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProgress.js +11 -7
  38. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  39. package/build/src/api/rest/wrapFetchWithProxy.js +5 -3
  40. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  41. package/build/src/api/rest/wrapFetchWithUserAgent.js +8 -6
  42. package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
  43. package/build/src/api/settings.js +7 -5
  44. package/build/src/api/settings.js.map +1 -1
  45. package/build/src/api/updateDevelopmentSession.js +23 -17
  46. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  47. package/build/src/api/user/UserSettings.js +39 -21
  48. package/build/src/api/user/UserSettings.js.map +1 -1
  49. package/build/src/api/user/actions.js +27 -21
  50. package/build/src/api/user/actions.js.map +1 -1
  51. package/build/src/api/user/expoSsoLauncher.js +30 -26
  52. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  53. package/build/src/api/user/otp.js +35 -29
  54. package/build/src/api/user/otp.js.map +1 -1
  55. package/build/src/api/user/user.js +44 -30
  56. package/build/src/api/user/user.js.map +1 -1
  57. package/build/src/config/configAsync.js +29 -23
  58. package/build/src/config/configAsync.js.map +1 -1
  59. package/build/src/config/index.js +25 -21
  60. package/build/src/config/index.js.map +1 -1
  61. package/build/src/customize/customizeAsync.js +8 -6
  62. package/build/src/customize/customizeAsync.js.map +1 -1
  63. package/build/src/customize/generate.js +20 -16
  64. package/build/src/customize/generate.js.map +1 -1
  65. package/build/src/customize/index.js +14 -12
  66. package/build/src/customize/index.js.map +1 -1
  67. package/build/src/customize/resolveOptions.js +4 -2
  68. package/build/src/customize/resolveOptions.js.map +1 -1
  69. package/build/src/customize/templates.js +58 -54
  70. package/build/src/customize/templates.js.map +1 -1
  71. package/build/src/customize/typescript.js +11 -7
  72. package/build/src/customize/typescript.js.map +1 -1
  73. package/build/src/export/createMetadataJson.js +11 -9
  74. package/build/src/export/createMetadataJson.js.map +1 -1
  75. package/build/src/export/embed/exportEager.js +8 -6
  76. package/build/src/export/embed/exportEager.js.map +1 -1
  77. package/build/src/export/embed/exportEmbedAsync.js +71 -61
  78. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  79. package/build/src/export/embed/exportServer.js +57 -55
  80. package/build/src/export/embed/exportServer.js.map +1 -1
  81. package/build/src/export/embed/index.js +44 -40
  82. package/build/src/export/embed/index.js.map +1 -1
  83. package/build/src/export/embed/resolveOptions.js +44 -36
  84. package/build/src/export/embed/resolveOptions.js.map +1 -1
  85. package/build/src/export/embed/xcodeCompilerLogger.js +39 -27
  86. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  87. package/build/src/export/exportApp.js +67 -63
  88. package/build/src/export/exportApp.js.map +1 -1
  89. package/build/src/export/exportAssets.js +35 -27
  90. package/build/src/export/exportAssets.js.map +1 -1
  91. package/build/src/export/exportAsync.js +13 -9
  92. package/build/src/export/exportAsync.js.map +1 -1
  93. package/build/src/export/exportDomComponents.js +53 -45
  94. package/build/src/export/exportDomComponents.js.map +1 -1
  95. package/build/src/export/exportHermes.js +85 -63
  96. package/build/src/export/exportHermes.js.map +1 -1
  97. package/build/src/export/exportStaticAsync.js +72 -62
  98. package/build/src/export/exportStaticAsync.js.map +1 -1
  99. package/build/src/export/favicon.js +33 -27
  100. package/build/src/export/favicon.js.map +1 -1
  101. package/build/src/export/getPublicExpoManifest.js +7 -5
  102. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  103. package/build/src/export/getResolvedLocales.js +11 -9
  104. package/build/src/export/getResolvedLocales.js.map +1 -1
  105. package/build/src/export/html.js +10 -6
  106. package/build/src/export/html.js.map +1 -1
  107. package/build/src/export/index.js +32 -28
  108. package/build/src/export/index.js.map +1 -1
  109. package/build/src/export/metroAssetLocalPath.js +36 -30
  110. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  111. package/build/src/export/persistMetroAssets.js +42 -34
  112. package/build/src/export/persistMetroAssets.js.map +1 -1
  113. package/build/src/export/publicFolder.js +10 -6
  114. package/build/src/export/publicFolder.js.map +1 -1
  115. package/build/src/export/resolveOptions.js +28 -24
  116. package/build/src/export/resolveOptions.js.map +1 -1
  117. package/build/src/export/saveAssets.js +50 -46
  118. package/build/src/export/saveAssets.js.map +1 -1
  119. package/build/src/export/web/exportWebAsync.js +13 -11
  120. package/build/src/export/web/exportWebAsync.js.map +1 -1
  121. package/build/src/export/web/index.js +19 -15
  122. package/build/src/export/web/index.js.map +1 -1
  123. package/build/src/export/web/resolveOptions.js +5 -3
  124. package/build/src/export/web/resolveOptions.js.map +1 -1
  125. package/build/src/export/writeContents.js +4 -2
  126. package/build/src/export/writeContents.js.map +1 -1
  127. package/build/src/graphql/generated.js +400 -274
  128. package/build/src/graphql/generated.js.map +1 -1
  129. package/build/src/install/applyPlugins.js +11 -7
  130. package/build/src/install/applyPlugins.js.map +1 -1
  131. package/build/src/install/checkPackages.js +26 -22
  132. package/build/src/install/checkPackages.js.map +1 -1
  133. package/build/src/install/fixPackages.js +16 -12
  134. package/build/src/install/fixPackages.js.map +1 -1
  135. package/build/src/install/index.js +18 -16
  136. package/build/src/install/index.js.map +1 -1
  137. package/build/src/install/installAsync.js +32 -26
  138. package/build/src/install/installAsync.js.map +1 -1
  139. package/build/src/install/installExpoPackage.js +22 -18
  140. package/build/src/install/installExpoPackage.js.map +1 -1
  141. package/build/src/install/resolveOptions.js +21 -19
  142. package/build/src/install/resolveOptions.js.map +1 -1
  143. package/build/src/install/utils/autoAddConfigPlugins.js +18 -14
  144. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  145. package/build/src/install/utils/checkPackagesCompatibility.js +13 -11
  146. package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
  147. package/build/src/lint/ESlintPrerequisite.js +50 -44
  148. package/build/src/lint/ESlintPrerequisite.js.map +1 -1
  149. package/build/src/lint/index.js +12 -8
  150. package/build/src/lint/index.js.map +1 -1
  151. package/build/src/lint/lintAsync.js +10 -8
  152. package/build/src/lint/lintAsync.js.map +1 -1
  153. package/build/src/log.js +36 -16
  154. package/build/src/log.js.map +1 -1
  155. package/build/src/login/index.js +24 -20
  156. package/build/src/login/index.js.map +1 -1
  157. package/build/src/logout/index.js +11 -7
  158. package/build/src/logout/index.js.map +1 -1
  159. package/build/src/prebuild/clearNativeFolder.js +38 -26
  160. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  161. package/build/src/prebuild/configureProjectAsync.js +18 -14
  162. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  163. package/build/src/prebuild/copyTemplateFiles.js +17 -13
  164. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  165. package/build/src/prebuild/ensureConfigAsync.js +6 -4
  166. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  167. package/build/src/prebuild/index.js +36 -32
  168. package/build/src/prebuild/index.js.map +1 -1
  169. package/build/src/prebuild/prebuildAsync.js +29 -25
  170. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  171. package/build/src/prebuild/renameTemplateAppName.js +46 -40
  172. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  173. package/build/src/prebuild/resolveOptions.js +66 -52
  174. package/build/src/prebuild/resolveOptions.js.map +1 -1
  175. package/build/src/prebuild/resolveTemplate.js +36 -32
  176. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  177. package/build/src/prebuild/updateFromTemplate.js +19 -13
  178. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  179. package/build/src/prebuild/updatePackageJson.js +53 -39
  180. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  181. package/build/src/prebuild/validateTemplatePlatforms.js +12 -8
  182. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  183. package/build/src/register/index.js +11 -7
  184. package/build/src/register/index.js.map +1 -1
  185. package/build/src/register/registerAsync.js +5 -3
  186. package/build/src/register/registerAsync.js.map +1 -1
  187. package/build/src/run/android/index.js +36 -32
  188. package/build/src/run/android/index.js.map +1 -1
  189. package/build/src/run/android/resolveDevice.js +10 -8
  190. package/build/src/run/android/resolveDevice.js.map +1 -1
  191. package/build/src/run/android/resolveGradlePropsAsync.js +18 -16
  192. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  193. package/build/src/run/android/resolveInstallApkName.js +17 -15
  194. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  195. package/build/src/run/android/resolveLaunchProps.js +12 -10
  196. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  197. package/build/src/run/android/resolveOptions.js +4 -2
  198. package/build/src/run/android/resolveOptions.js.map +1 -1
  199. package/build/src/run/android/runAndroidAsync.js +23 -21
  200. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  201. package/build/src/run/ensureNativeProject.js +7 -5
  202. package/build/src/run/ensureNativeProject.js.map +1 -1
  203. package/build/src/run/hints.js +13 -7
  204. package/build/src/run/hints.js.map +1 -1
  205. package/build/src/run/index.js +27 -23
  206. package/build/src/run/index.js.map +1 -1
  207. package/build/src/run/ios/XcodeBuild.js +74 -56
  208. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  209. package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
  210. package/build/src/run/ios/appleDevice/AppleDevice.js +69 -63
  211. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  212. package/build/src/run/ios/appleDevice/ClientManager.js +29 -26
  213. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  214. package/build/src/run/ios/appleDevice/client/AFCClient.js +28 -25
  215. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  216. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +29 -26
  217. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  218. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +22 -21
  219. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  220. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +32 -29
  221. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  222. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +28 -24
  223. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  224. package/build/src/run/ios/appleDevice/client/ServiceClient.js +7 -4
  225. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  226. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +28 -27
  227. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  228. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +23 -17
  229. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  230. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +146 -132
  231. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  232. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +29 -21
  233. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  234. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +29 -21
  235. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  236. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +34 -22
  237. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  238. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +27 -17
  239. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  240. package/build/src/run/ios/codeSigning/Security.js +53 -39
  241. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  242. package/build/src/run/ios/codeSigning/configureCodeSigning.js +13 -9
  243. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  244. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +27 -19
  245. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  246. package/build/src/run/ios/codeSigning/settings.js +9 -5
  247. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  248. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +14 -12
  249. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  250. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +27 -21
  251. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  252. package/build/src/run/ios/index.js +40 -36
  253. package/build/src/run/ios/index.js.map +1 -1
  254. package/build/src/run/ios/launchApp.js +23 -17
  255. package/build/src/run/ios/launchApp.js.map +1 -1
  256. package/build/src/run/ios/options/appleDestinations.js +38 -36
  257. package/build/src/run/ios/options/appleDestinations.js.map +1 -1
  258. package/build/src/run/ios/options/promptDevice.js +20 -16
  259. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  260. package/build/src/run/ios/options/resolveDevice.js +30 -24
  261. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  262. package/build/src/run/ios/options/resolveNativeScheme.js +31 -23
  263. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  264. package/build/src/run/ios/options/resolveOptions.js +7 -5
  265. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  266. package/build/src/run/ios/options/resolveXcodeProject.js +7 -5
  267. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  268. package/build/src/run/ios/runIosAsync.js +48 -44
  269. package/build/src/run/ios/runIosAsync.js.map +1 -1
  270. package/build/src/run/ios/validateExternalBinary.js +24 -22
  271. package/build/src/run/ios/validateExternalBinary.js.map +1 -1
  272. package/build/src/run/resolveBundlerProps.js +4 -2
  273. package/build/src/run/resolveBundlerProps.js.map +1 -1
  274. package/build/src/run/startBundler.js +16 -12
  275. package/build/src/run/startBundler.js.map +1 -1
  276. package/build/src/serve/index.js +20 -16
  277. package/build/src/serve/index.js.map +1 -1
  278. package/build/src/serve/serveAsync.js +36 -32
  279. package/build/src/serve/serveAsync.js.map +1 -1
  280. package/build/src/start/detectDevClient.js +13 -9
  281. package/build/src/start/detectDevClient.js.map +1 -1
  282. package/build/src/start/doctor/Prerequisite.js +12 -7
  283. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  284. package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -11
  285. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  286. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +23 -19
  287. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  288. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +23 -19
  289. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  290. package/build/src/start/doctor/apple/XcodePrerequisite.js +51 -45
  291. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  292. package/build/src/start/doctor/apple/XcrunPrerequisite.js +18 -16
  293. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  294. package/build/src/start/doctor/dependencies/bundledNativeModules.js +23 -19
  295. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  296. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +31 -25
  297. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  298. package/build/src/start/doctor/dependencies/getMissingPackages.js +25 -17
  299. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  300. package/build/src/start/doctor/dependencies/getVersionedPackages.js +40 -32
  301. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  302. package/build/src/start/doctor/dependencies/resolvePackages.js +32 -26
  303. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  304. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +41 -31
  305. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  306. package/build/src/start/doctor/ngrok/ExternalModule.js +34 -29
  307. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  308. package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -8
  309. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  310. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +32 -28
  311. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  312. package/build/src/start/doctor/typescript/updateTSConfig.js +23 -17
  313. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  314. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +33 -27
  315. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  316. package/build/src/start/index.js +46 -42
  317. package/build/src/start/index.js.map +1 -1
  318. package/build/src/start/interface/KeyPressHandler.js +18 -14
  319. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  320. package/build/src/start/interface/commandsTable.js +94 -80
  321. package/build/src/start/interface/commandsTable.js.map +1 -1
  322. package/build/src/start/interface/interactiveActions.js +44 -40
  323. package/build/src/start/interface/interactiveActions.js.map +1 -1
  324. package/build/src/start/interface/startInterface.js +65 -61
  325. package/build/src/start/interface/startInterface.js.map +1 -1
  326. package/build/src/start/platforms/AppIdResolver.js +6 -4
  327. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  328. package/build/src/start/platforms/DeviceManager.js +10 -6
  329. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  330. package/build/src/start/platforms/ExpoGoInstaller.js +25 -20
  331. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  332. package/build/src/start/platforms/PlatformManager.js +17 -15
  333. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  334. package/build/src/start/platforms/android/ADBServer.js +39 -35
  335. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  336. package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -16
  337. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  338. package/build/src/start/platforms/android/AndroidDeviceManager.js +24 -20
  339. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  340. package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
  341. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  342. package/build/src/start/platforms/android/AndroidSdk.js +11 -9
  343. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  344. package/build/src/start/platforms/android/activateWindow.js +26 -22
  345. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  346. package/build/src/start/platforms/android/adb.js +121 -83
  347. package/build/src/start/platforms/android/adb.js.map +1 -1
  348. package/build/src/start/platforms/android/adbReverse.js +20 -12
  349. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  350. package/build/src/start/platforms/android/emulator.js +36 -26
  351. package/build/src/start/platforms/android/emulator.js.map +1 -1
  352. package/build/src/start/platforms/android/getDevices.js +7 -5
  353. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  354. package/build/src/start/platforms/android/gradle.js +36 -28
  355. package/build/src/start/platforms/android/gradle.js.map +1 -1
  356. package/build/src/start/platforms/android/promptAndroidDevice.js +19 -15
  357. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  358. package/build/src/start/platforms/ios/AppleAppIdResolver.js +21 -19
  359. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  360. package/build/src/start/platforms/ios/AppleDeviceManager.js +37 -31
  361. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  362. package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
  363. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  364. package/build/src/start/platforms/ios/assertSystemRequirements.js +9 -7
  365. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  366. package/build/src/start/platforms/ios/devicectl.js +87 -73
  367. package/build/src/start/platforms/ios/devicectl.js.map +1 -1
  368. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +22 -18
  369. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  370. package/build/src/start/platforms/ios/getBestSimulator.js +29 -19
  371. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  372. package/build/src/start/platforms/ios/promptAppleDevice.js +14 -10
  373. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  374. package/build/src/start/platforms/ios/simctl.js +102 -74
  375. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  376. package/build/src/start/platforms/ios/simctlLogging.js +57 -52
  377. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  378. package/build/src/start/platforms/ios/xcrun.js +22 -18
  379. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  380. package/build/src/start/project/devices.js +19 -9
  381. package/build/src/start/project/devices.js.map +1 -1
  382. package/build/src/start/project/dotExpo.js +15 -11
  383. package/build/src/start/project/dotExpo.js.map +1 -1
  384. package/build/src/start/project/settings.js +4 -2
  385. package/build/src/start/project/settings.js.map +1 -1
  386. package/build/src/start/resolveOptions.js +48 -40
  387. package/build/src/start/resolveOptions.js.map +1 -1
  388. package/build/src/start/server/AsyncNgrok.js +55 -51
  389. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  390. package/build/src/start/server/AsyncWsTunnel.js +40 -36
  391. package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
  392. package/build/src/start/server/BundlerDevServer.js +81 -79
  393. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  394. package/build/src/start/server/DevServerManager.js +42 -38
  395. package/build/src/start/server/DevServerManager.js.map +1 -1
  396. package/build/src/start/server/DevToolsPluginManager.js +18 -14
  397. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  398. package/build/src/start/server/DevelopmentSession.js +18 -14
  399. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  400. package/build/src/start/server/ReactDevToolsProxy.js +16 -10
  401. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  402. package/build/src/start/server/UrlCreator.js +36 -33
  403. package/build/src/start/server/UrlCreator.js.map +1 -1
  404. package/build/src/start/server/getStaticRenderFunctions.js +29 -21
  405. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  406. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +6 -4
  407. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
  408. package/build/src/start/server/metro/MetroBundlerDevServer.js +269 -271
  409. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  410. package/build/src/start/server/metro/MetroTerminalReporter.js +63 -56
  411. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  412. package/build/src/start/server/metro/TerminalReporter.js +39 -33
  413. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  414. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  415. package/build/src/start/server/metro/createExpoMetroResolver.js +46 -40
  416. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  417. package/build/src/start/server/metro/createJResolver.js +32 -28
  418. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  419. package/build/src/start/server/metro/createServerComponentsMiddleware.js +96 -92
  420. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  421. package/build/src/start/server/metro/createServerRouteMiddleware.js +32 -30
  422. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  423. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +13 -11
  424. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
  425. package/build/src/start/server/metro/debugging/MessageHandler.js +3 -1
  426. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  427. package/build/src/start/server/metro/debugging/attachAtlas.js +26 -22
  428. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
  429. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +19 -17
  430. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  431. package/build/src/start/server/metro/debugging/createHandlersFactory.js +25 -31
  432. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  433. package/build/src/start/server/metro/debugging/getDebuggerType.js +6 -4
  434. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  435. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +14 -8
  436. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  437. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -5
  438. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  439. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +8 -6
  440. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  441. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -5
  442. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  443. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +14 -12
  444. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
  445. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +14 -10
  446. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  447. package/build/src/start/server/metro/debugging/pageIsSupported.js +6 -4
  448. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  449. package/build/src/start/server/metro/debugging/types.js.map +1 -1
  450. package/build/src/start/server/metro/dev-server/createEventSocket.js +18 -16
  451. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
  452. package/build/src/start/server/metro/dev-server/createMessageSocket.js +23 -21
  453. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
  454. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +23 -21
  455. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
  456. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +4 -2
  457. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
  458. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +4 -2
  459. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
  460. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +8 -4
  461. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
  462. package/build/src/start/server/metro/externals.js +33 -25
  463. package/build/src/start/server/metro/externals.js.map +1 -1
  464. package/build/src/start/server/metro/fetchRouterManifest.js +16 -12
  465. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  466. package/build/src/start/server/metro/formatFileCandidates.js +11 -9
  467. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  468. package/build/src/start/server/metro/getCssModulesFromBundler.js +22 -18
  469. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  470. package/build/src/start/server/metro/instantiateMetro.js +85 -79
  471. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  472. package/build/src/start/server/metro/log-box/LogBoxLog.js +40 -36
  473. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
  474. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +20 -14
  475. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
  476. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +10 -6
  477. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
  478. package/build/src/start/server/metro/metroErrorInterface.js +88 -78
  479. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  480. package/build/src/start/server/metro/metroErrors.js +8 -4
  481. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  482. package/build/src/start/server/metro/metroPrivateServer.js +9 -7
  483. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
  484. package/build/src/start/server/metro/metroVirtualModules.js +10 -8
  485. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  486. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +24 -22
  487. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  488. package/build/src/start/server/metro/router.js +48 -32
  489. package/build/src/start/server/metro/router.js.map +1 -1
  490. package/build/src/start/server/metro/runServer-fork.js +24 -22
  491. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  492. package/build/src/start/server/metro/serializeHtml.js +24 -22
  493. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  494. package/build/src/start/server/metro/symbolicate.js.map +1 -1
  495. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +35 -29
  496. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  497. package/build/src/start/server/metro/withMetroMultiPlatform.js +149 -139
  498. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  499. package/build/src/start/server/metro/withMetroResolvers.js +49 -39
  500. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  501. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +8 -6
  502. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  503. package/build/src/start/server/middleware/CorsMiddleware.js +17 -15
  504. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  505. package/build/src/start/server/middleware/CreateFileMiddleware.js +32 -31
  506. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  507. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +22 -19
  508. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  509. package/build/src/start/server/middleware/DomComponentsMiddleware.js +33 -27
  510. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  511. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +64 -60
  512. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  513. package/build/src/start/server/middleware/ExpoMiddleware.js +15 -9
  514. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  515. package/build/src/start/server/middleware/FaviconMiddleware.js +15 -14
  516. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  517. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +4 -2
  518. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  519. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +34 -31
  520. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  521. package/build/src/start/server/middleware/ManifestMiddleware.js +64 -56
  522. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  523. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +23 -19
  524. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  525. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +20 -19
  526. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  527. package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -9
  528. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  529. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +17 -11
  530. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
  531. package/build/src/start/server/middleware/inspector/CdpClient.js +12 -10
  532. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
  533. package/build/src/start/server/middleware/inspector/JsInspector.js +35 -27
  534. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  535. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +21 -19
  536. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  537. package/build/src/start/server/middleware/inspector/middlwareMutations.js +6 -2
  538. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  539. package/build/src/start/server/middleware/metroOptions.js +120 -96
  540. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  541. package/build/src/start/server/middleware/mutations.js +7 -3
  542. package/build/src/start/server/middleware/mutations.js.map +1 -1
  543. package/build/src/start/server/middleware/resolveAssets.js +26 -18
  544. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  545. package/build/src/start/server/middleware/resolvePlatform.js +23 -15
  546. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  547. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +11 -9
  548. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
  549. package/build/src/start/server/middleware/server.types.js.map +1 -1
  550. package/build/src/start/server/openPlatforms.js +10 -8
  551. package/build/src/start/server/openPlatforms.js.map +1 -1
  552. package/build/src/start/server/platformBundlers.js +13 -11
  553. package/build/src/start/server/platformBundlers.js.map +1 -1
  554. package/build/src/start/server/serverLogLikeMetro.js +58 -50
  555. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  556. package/build/src/start/server/type-generation/expo-env.js +11 -7
  557. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  558. package/build/src/start/server/type-generation/routes.js +76 -54
  559. package/build/src/start/server/type-generation/routes.js.map +1 -1
  560. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +21 -19
  561. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  562. package/build/src/start/server/type-generation/tsconfig.js +36 -28
  563. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  564. package/build/src/start/server/webTemplate.js +28 -24
  565. package/build/src/start/server/webTemplate.js.map +1 -1
  566. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +52 -46
  567. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  568. package/build/src/start/server/webpack/compile.js +15 -11
  569. package/build/src/start/server/webpack/compile.js.map +1 -1
  570. package/build/src/start/server/webpack/formatWebpackMessages.js +28 -26
  571. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  572. package/build/src/start/server/webpack/resolveFromProject.js +18 -12
  573. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  574. package/build/src/start/server/webpack/tls.js +18 -12
  575. package/build/src/start/server/webpack/tls.js.map +1 -1
  576. package/build/src/start/startAsync.js +31 -27
  577. package/build/src/start/startAsync.js.map +1 -1
  578. package/build/src/utils/FileNotifier.js +20 -17
  579. package/build/src/utils/FileNotifier.js.map +1 -1
  580. package/build/src/utils/ansi.js +7 -5
  581. package/build/src/utils/ansi.js.map +1 -1
  582. package/build/src/utils/args.js +24 -14
  583. package/build/src/utils/args.js.map +1 -1
  584. package/build/src/utils/array.js +18 -6
  585. package/build/src/utils/array.js.map +1 -1
  586. package/build/src/utils/cocoapods.js +54 -46
  587. package/build/src/utils/cocoapods.js.map +1 -1
  588. package/build/src/utils/codesigning.js +78 -68
  589. package/build/src/utils/codesigning.js.map +1 -1
  590. package/build/src/utils/createFileTransform.js +16 -12
  591. package/build/src/utils/createFileTransform.js.map +1 -1
  592. package/build/src/utils/createTempPath.js +17 -13
  593. package/build/src/utils/createTempPath.js.map +1 -1
  594. package/build/src/utils/delay.js +12 -6
  595. package/build/src/utils/delay.js.map +1 -1
  596. package/build/src/utils/dir.js +46 -28
  597. package/build/src/utils/dir.js.map +1 -1
  598. package/build/src/utils/downloadAppAsync.js +10 -8
  599. package/build/src/utils/downloadAppAsync.js.map +1 -1
  600. package/build/src/utils/downloadExpoGoAsync.js +25 -21
  601. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  602. package/build/src/utils/editor.js +41 -35
  603. package/build/src/utils/editor.js.map +1 -1
  604. package/build/src/utils/env.js +63 -59
  605. package/build/src/utils/env.js.map +1 -1
  606. package/build/src/utils/errors.js +37 -30
  607. package/build/src/utils/errors.js.map +1 -1
  608. package/build/src/utils/exit.js +35 -31
  609. package/build/src/utils/exit.js.map +1 -1
  610. package/build/src/utils/expoUpdatesCli.js +32 -22
  611. package/build/src/utils/expoUpdatesCli.js.map +1 -1
  612. package/build/src/utils/fetch.js +8 -4
  613. package/build/src/utils/fetch.js.map +1 -1
  614. package/build/src/utils/filePath.js +10 -6
  615. package/build/src/utils/filePath.js.map +1 -1
  616. package/build/src/utils/findUp.js +13 -9
  617. package/build/src/utils/findUp.js.map +1 -1
  618. package/build/src/utils/fn.js +6 -2
  619. package/build/src/utils/fn.js.map +1 -1
  620. package/build/src/utils/getOrPromptApplicationId.js +32 -26
  621. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  622. package/build/src/utils/getRunningProcess.js +29 -21
  623. package/build/src/utils/getRunningProcess.js.map +1 -1
  624. package/build/src/utils/git.js +26 -20
  625. package/build/src/utils/git.js.map +1 -1
  626. package/build/src/utils/glob.js +8 -4
  627. package/build/src/utils/glob.js.map +1 -1
  628. package/build/src/utils/interactive.js +3 -1
  629. package/build/src/utils/interactive.js.map +1 -1
  630. package/build/src/utils/ip.js +21 -19
  631. package/build/src/utils/ip.js.map +1 -1
  632. package/build/src/utils/isModuleSymlinked.js +11 -9
  633. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  634. package/build/src/utils/jsonSchemaDeref.js +20 -18
  635. package/build/src/utils/jsonSchemaDeref.js.map +1 -1
  636. package/build/src/utils/link.js +17 -13
  637. package/build/src/utils/link.js.map +1 -1
  638. package/build/src/utils/mergeGitIgnorePaths.js +46 -28
  639. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  640. package/build/src/utils/modifyConfigAsync.js +16 -10
  641. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  642. package/build/src/utils/modifyConfigPlugins.js +10 -6
  643. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  644. package/build/src/utils/nodeEnv.js +12 -6
  645. package/build/src/utils/nodeEnv.js.map +1 -1
  646. package/build/src/utils/nodeModules.js +10 -8
  647. package/build/src/utils/nodeModules.js.map +1 -1
  648. package/build/src/utils/npm.js +50 -36
  649. package/build/src/utils/npm.js.map +1 -1
  650. package/build/src/utils/obj.js +11 -5
  651. package/build/src/utils/obj.js.map +1 -1
  652. package/build/src/utils/open.js +10 -8
  653. package/build/src/utils/open.js.map +1 -1
  654. package/build/src/utils/ora.js +13 -7
  655. package/build/src/utils/ora.js.map +1 -1
  656. package/build/src/utils/plist.js +21 -15
  657. package/build/src/utils/plist.js.map +1 -1
  658. package/build/src/utils/port.js +43 -33
  659. package/build/src/utils/port.js.map +1 -1
  660. package/build/src/utils/profile.js +11 -7
  661. package/build/src/utils/profile.js.map +1 -1
  662. package/build/src/utils/progress.js +11 -5
  663. package/build/src/utils/progress.js.map +1 -1
  664. package/build/src/utils/prompts.js +47 -29
  665. package/build/src/utils/prompts.js.map +1 -1
  666. package/build/src/utils/resolveArgs.js +36 -24
  667. package/build/src/utils/resolveArgs.js.map +1 -1
  668. package/build/src/utils/scheme.js +40 -32
  669. package/build/src/utils/scheme.js.map +1 -1
  670. package/build/src/utils/stream.js +5 -3
  671. package/build/src/utils/stream.js.map +1 -1
  672. package/build/src/utils/strings.js +6 -4
  673. package/build/src/utils/strings.js.map +1 -1
  674. package/build/src/utils/tar.js +19 -15
  675. package/build/src/utils/tar.js.map +1 -1
  676. package/build/src/utils/telemetry/Telemetry.js +29 -27
  677. package/build/src/utils/telemetry/Telemetry.js.map +1 -1
  678. package/build/src/utils/telemetry/clients/FetchClient.js +15 -13
  679. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
  680. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +26 -22
  681. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
  682. package/build/src/utils/telemetry/clients/RudderClient.js +10 -8
  683. package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
  684. package/build/src/utils/telemetry/clients/RudderDetachedClient.js +26 -22
  685. package/build/src/utils/telemetry/clients/RudderDetachedClient.js.map +1 -1
  686. package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
  687. package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
  688. package/build/src/utils/telemetry/clients/flushRudderDetached.js +10 -10
  689. package/build/src/utils/telemetry/clients/flushRudderDetached.js.map +1 -1
  690. package/build/src/utils/telemetry/events.js +4 -2
  691. package/build/src/utils/telemetry/events.js.map +1 -1
  692. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  693. package/build/src/utils/telemetry/index.js +25 -29
  694. package/build/src/utils/telemetry/index.js.map +1 -1
  695. package/build/src/utils/telemetry/types.js.map +1 -1
  696. package/build/src/utils/telemetry/utils/constants.js +8 -4
  697. package/build/src/utils/telemetry/utils/constants.js.map +1 -1
  698. package/build/src/utils/telemetry/utils/context.js +18 -14
  699. package/build/src/utils/telemetry/utils/context.js.map +1 -1
  700. package/build/src/utils/template.js +6 -4
  701. package/build/src/utils/template.js.map +1 -1
  702. package/build/src/utils/terminal.js +4 -2
  703. package/build/src/utils/terminal.js.map +1 -1
  704. package/build/src/utils/tsconfig/evaluateTsConfig.js +21 -17
  705. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  706. package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -14
  707. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  708. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +7 -5
  709. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  710. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +14 -12
  711. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  712. package/build/src/utils/url.js +23 -13
  713. package/build/src/utils/url.js.map +1 -1
  714. package/build/src/utils/validateApplicationId.js +108 -86
  715. package/build/src/utils/validateApplicationId.js.map +1 -1
  716. package/build/src/utils/variadic.js +22 -16
  717. package/build/src/utils/variadic.js.map +1 -1
  718. package/build/src/whoami/index.js +11 -7
  719. package/build/src/whoami/index.js.map +1 -1
  720. package/build/src/whoami/whoamiAsync.js +11 -7
  721. package/build/src/whoami/whoamiAsync.js.map +1 -1
  722. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/start/server/ReactDevToolsProxy.ts"],"sourcesContent":["import assert from 'assert';\nimport { EventEmitter } from 'events';\nimport WebSocket from 'ws';\n\nlet serverInstance: WebSocket.WebSocketServer | null = null;\n\nconst eventEmitter = new EventEmitter();\n\n/**\n * Private command to support DevTools frontend reload.\n *\n * The react-devtools maintains state between frontend(webpage) and backend(app).\n * If we reload the frontend without reloading the app, the react-devtools will stuck on incorrect state.\n * We introduce this special reload command.\n * As long as the frontend reload, we will close app's WebSocket connection and tell app to reconnect again.\n */\nconst RELOAD_COMMAND = 'Expo::RELOAD';\n\n/**\n * Start the react-devtools WebSocket proxy server\n */\nexport async function startReactDevToolsProxyAsync(options?: { port: number }) {\n if (serverInstance != null) {\n return;\n }\n\n serverInstance = new WebSocket.WebSocketServer({ port: options?.port ?? 8097 });\n\n serverInstance.on('connection', function connection(ws) {\n ws.on('message', function message(rawData, isBinary) {\n assert(!isBinary);\n const data = rawData.toString();\n\n if (data === RELOAD_COMMAND) {\n closeAllOtherClients(ws);\n eventEmitter.emit(RELOAD_COMMAND);\n return;\n }\n\n serverInstance?.clients.forEach(function each(client) {\n if (client !== ws && client.readyState === WebSocket.OPEN) {\n client.send(data, { binary: isBinary });\n }\n });\n });\n });\n\n serverInstance.on('close', function () {\n serverInstance = null;\n });\n}\n\n/**\n * Close the WebSocket server\n */\nexport function closeReactDevToolsProxy() {\n serverInstance?.close();\n serverInstance = null;\n}\n\n/**\n * add event listener from react-devtools frontend reload\n */\nexport function addReactDevToolsReloadListener(listener: (...args: any[]) => void) {\n eventEmitter.addListener(RELOAD_COMMAND, listener);\n}\n\n/**\n * Close all other WebSocket clients other than the current `self` client\n */\nfunction closeAllOtherClients(self: WebSocket.WebSocket) {\n serverInstance?.clients.forEach(function each(client) {\n if (client !== self && client.readyState === WebSocket.OPEN) {\n client.close();\n }\n });\n}\n"],"names":["startReactDevToolsProxyAsync","closeReactDevToolsProxy","addReactDevToolsReloadListener","serverInstance","eventEmitter","EventEmitter","RELOAD_COMMAND","options","WebSocket","WebSocketServer","port","on","connection","ws","message","rawData","isBinary","assert","data","toString","closeAllOtherClients","emit","clients","forEach","each","client","readyState","OPEN","send","binary","close","listener","addListener","self"],"mappings":"AAAA;;;;;;;;;;;IAqBsBA,4BAA4B,MAA5BA,4BAA4B;IAkClCC,uBAAuB,MAAvBA,uBAAuB;IAQvBC,8BAA8B,MAA9BA,8BAA8B;;;8DA/D3B,QAAQ;;;;;;;yBACE,QAAQ;;;;;;;8DACf,IAAI;;;;;;;;;;;AAE1B,IAAIC,cAAc,GAAqC,IAAI,AAAC;AAE5D,MAAMC,YAAY,GAAG,IAAIC,CAAAA,OAAY,EAAA,CAAA,aAAA,EAAE,AAAC;AAExC;;;;;;;CAOC,GACD,MAAMC,cAAc,GAAG,cAAc,AAAC;AAK/B,eAAeN,4BAA4B,CAACO,OAA0B,EAAE;IAC7E,IAAIJ,cAAc,IAAI,IAAI,EAAE;QAC1B,OAAO;IACT,CAAC;IAEDA,cAAc,GAAG,IAAIK,CAAAA,GAAS,EAAA,CAAA,QAAA,CAACC,eAAe,CAAC;QAAEC,IAAI,EAAEH,CAAAA,OAAO,QAAM,GAAbA,KAAAA,CAAa,GAAbA,OAAO,CAAEG,IAAI,CAAA,IAAI,IAAI;KAAE,CAAC,CAAC;IAEhFP,cAAc,CAACQ,EAAE,CAAC,YAAY,EAAE,SAASC,UAAU,CAACC,EAAE,EAAE;QACtDA,EAAE,CAACF,EAAE,CAAC,SAAS,EAAE,SAASG,OAAO,CAACC,OAAO,EAAEC,QAAQ,EAAE;YACnDC,IAAAA,OAAM,EAAA,QAAA,EAAC,CAACD,QAAQ,CAAC,CAAC;YAClB,MAAME,IAAI,GAAGH,OAAO,CAACI,QAAQ,EAAE,AAAC;YAEhC,IAAID,IAAI,KAAKZ,cAAc,EAAE;gBAC3Bc,oBAAoB,CAACP,EAAE,CAAC,CAAC;gBACzBT,YAAY,CAACiB,IAAI,CAACf,cAAc,CAAC,CAAC;gBAClC,OAAO;YACT,CAAC;YAEDH,cAAc,QAAS,GAAvBA,KAAAA,CAAuB,GAAvBA,cAAc,CAAEmB,OAAO,CAACC,OAAO,CAAC,SAASC,IAAI,CAACC,MAAM,EAAE;gBACpD,IAAIA,MAAM,KAAKZ,EAAE,IAAIY,MAAM,CAACC,UAAU,KAAKlB,GAAS,EAAA,QAAA,CAACmB,IAAI,EAAE;oBACzDF,MAAM,CAACG,IAAI,CAACV,IAAI,EAAE;wBAAEW,MAAM,EAAEb,QAAQ;qBAAE,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEHb,cAAc,CAACQ,EAAE,CAAC,OAAO,EAAE,WAAY;QACrCR,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAKM,SAASF,uBAAuB,GAAG;IACxCE,cAAc,QAAO,GAArBA,KAAAA,CAAqB,GAArBA,cAAc,CAAE2B,KAAK,EAAE,CAAC;IACxB3B,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC;AAKM,SAASD,8BAA8B,CAAC6B,QAAkC,EAAE;IACjF3B,YAAY,CAAC4B,WAAW,CAAC1B,cAAc,EAAEyB,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED;;CAEC,GACD,SAASX,oBAAoB,CAACa,IAAyB,EAAE;IACvD9B,cAAc,QAAS,GAAvBA,KAAAA,CAAuB,GAAvBA,cAAc,CAAEmB,OAAO,CAACC,OAAO,CAAC,SAASC,IAAI,CAACC,MAAM,EAAE;QACpD,IAAIA,MAAM,KAAKQ,IAAI,IAAIR,MAAM,CAACC,UAAU,KAAKlB,GAAS,EAAA,QAAA,CAACmB,IAAI,EAAE;YAC3DF,MAAM,CAACK,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"sources":["../../../../src/start/server/ReactDevToolsProxy.ts"],"sourcesContent":["import assert from 'assert';\nimport { EventEmitter } from 'events';\nimport WebSocket from 'ws';\n\nlet serverInstance: WebSocket.WebSocketServer | null = null;\n\nconst eventEmitter = new EventEmitter();\n\n/**\n * Private command to support DevTools frontend reload.\n *\n * The react-devtools maintains state between frontend(webpage) and backend(app).\n * If we reload the frontend without reloading the app, the react-devtools will stuck on incorrect state.\n * We introduce this special reload command.\n * As long as the frontend reload, we will close app's WebSocket connection and tell app to reconnect again.\n */\nconst RELOAD_COMMAND = 'Expo::RELOAD';\n\n/**\n * Start the react-devtools WebSocket proxy server\n */\nexport async function startReactDevToolsProxyAsync(options?: { port: number }) {\n if (serverInstance != null) {\n return;\n }\n\n serverInstance = new WebSocket.WebSocketServer({ port: options?.port ?? 8097 });\n\n serverInstance.on('connection', function connection(ws) {\n ws.on('message', function message(rawData, isBinary) {\n assert(!isBinary);\n const data = rawData.toString();\n\n if (data === RELOAD_COMMAND) {\n closeAllOtherClients(ws);\n eventEmitter.emit(RELOAD_COMMAND);\n return;\n }\n\n serverInstance?.clients.forEach(function each(client) {\n if (client !== ws && client.readyState === WebSocket.OPEN) {\n client.send(data, { binary: isBinary });\n }\n });\n });\n });\n\n serverInstance.on('close', function () {\n serverInstance = null;\n });\n}\n\n/**\n * Close the WebSocket server\n */\nexport function closeReactDevToolsProxy() {\n serverInstance?.close();\n serverInstance = null;\n}\n\n/**\n * add event listener from react-devtools frontend reload\n */\nexport function addReactDevToolsReloadListener(listener: (...args: any[]) => void) {\n eventEmitter.addListener(RELOAD_COMMAND, listener);\n}\n\n/**\n * Close all other WebSocket clients other than the current `self` client\n */\nfunction closeAllOtherClients(self: WebSocket.WebSocket) {\n serverInstance?.clients.forEach(function each(client) {\n if (client !== self && client.readyState === WebSocket.OPEN) {\n client.close();\n }\n });\n}\n"],"names":["addReactDevToolsReloadListener","closeReactDevToolsProxy","startReactDevToolsProxyAsync","serverInstance","eventEmitter","EventEmitter","RELOAD_COMMAND","options","WebSocket","WebSocketServer","port","on","connection","ws","message","rawData","isBinary","assert","data","toString","closeAllOtherClients","emit","clients","forEach","each","client","readyState","OPEN","send","binary","close","listener","addListener","self"],"mappings":";;;;;;;;;;;IA+DgBA,8BAA8B;eAA9BA;;IARAC,uBAAuB;eAAvBA;;IAlCMC,4BAA4B;eAA5BA;;;;gEArBH;;;;;;;yBACU;;;;;;;gEACP;;;;;;;;;;;AAEtB,IAAIC,iBAAmD;AAEvD,MAAMC,eAAe,IAAIC,CAAAA,SAAW,cAAC;AAErC;;;;;;;CAOC,GACD,MAAMC,iBAAiB;AAKhB,eAAeJ,6BAA6BK,OAA0B;IAC3E,IAAIJ,kBAAkB,MAAM;QAC1B;IACF;IAEAA,iBAAiB,IAAIK,CAAAA,KAAQ,SAAC,CAACC,eAAe,CAAC;QAAEC,MAAMH,CAAAA,2BAAAA,QAASG,IAAI,KAAI;IAAK;IAE7EP,eAAeQ,EAAE,CAAC,cAAc,SAASC,WAAWC,EAAE;QACpDA,GAAGF,EAAE,CAAC,WAAW,SAASG,QAAQC,OAAO,EAAEC,QAAQ;YACjDC,IAAAA,iBAAM,EAAC,CAACD;YACR,MAAME,OAAOH,QAAQI,QAAQ;YAE7B,IAAID,SAASZ,gBAAgB;gBAC3Bc,qBAAqBP;gBACrBT,aAAaiB,IAAI,CAACf;gBAClB;YACF;YAEAH,kCAAAA,eAAgBmB,OAAO,CAACC,OAAO,CAAC,SAASC,KAAKC,MAAM;gBAClD,IAAIA,WAAWZ,MAAMY,OAAOC,UAAU,KAAKlB,aAAS,CAACmB,IAAI,EAAE;oBACzDF,OAAOG,IAAI,CAACV,MAAM;wBAAEW,QAAQb;oBAAS;gBACvC;YACF;QACF;IACF;IAEAb,eAAeQ,EAAE,CAAC,SAAS;QACzBR,iBAAiB;IACnB;AACF;AAKO,SAASF;IACdE,kCAAAA,eAAgB2B,KAAK;IACrB3B,iBAAiB;AACnB;AAKO,SAASH,+BAA+B+B,QAAkC;IAC/E3B,aAAa4B,WAAW,CAAC1B,gBAAgByB;AAC3C;AAEA;;CAEC,GACD,SAASX,qBAAqBa,IAAyB;IACrD9B,kCAAAA,eAAgBmB,OAAO,CAACC,OAAO,CAAC,SAASC,KAAKC,MAAM;QAClD,IAAIA,WAAWQ,QAAQR,OAAOC,UAAU,KAAKlB,aAAS,CAACmB,IAAI,EAAE;YAC3DF,OAAOK,KAAK;QACd;IACF;AACF"}
@@ -4,10 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "UrlCreator", {
6
6
  enumerable: true,
7
- get: ()=>UrlCreator
7
+ get: function() {
8
+ return UrlCreator;
9
+ }
8
10
  });
9
11
  function _assert() {
10
- const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
12
+ const data = /*#__PURE__*/ _interop_require_default(require("assert"));
11
13
  _assert = function() {
12
14
  return data;
13
15
  };
@@ -20,9 +22,9 @@ function _url() {
20
22
  };
21
23
  return data;
22
24
  }
23
- const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../log"));
25
+ const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../log"));
24
26
  const _ip = require("../../utils/ip");
25
- function _interopRequireDefault(obj) {
27
+ function _interop_require_default(obj) {
26
28
  return obj && obj.__esModule ? obj : {
27
29
  default: obj
28
30
  };
@@ -35,7 +37,7 @@ function _getRequireWildcardCache(nodeInterop) {
35
37
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
36
38
  })(nodeInterop);
37
39
  }
38
- function _interopRequireWildcard(obj, nodeInterop) {
40
+ function _interop_require_wildcard(obj, nodeInterop) {
39
41
  if (!nodeInterop && obj && obj.__esModule) {
40
42
  return obj;
41
43
  }
@@ -48,7 +50,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
48
50
  if (cache && cache.has(obj)) {
49
51
  return cache.get(obj);
50
52
  }
51
- var newObj = {};
53
+ var newObj = {
54
+ __proto__: null
55
+ };
52
56
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
53
57
  for(var key in obj){
54
58
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -66,7 +70,7 @@ function _interopRequireWildcard(obj, nodeInterop) {
66
70
  }
67
71
  return newObj;
68
72
  }
69
- const debug = require("debug")("expo:start:server:urlCreator");
73
+ const debug = require('debug')('expo:start:server:urlCreator');
70
74
  class UrlCreator {
71
75
  constructor(defaults, bundlerInfo){
72
76
  this.defaults = defaults;
@@ -82,8 +86,8 @@ class UrlCreator {
82
86
  * @returns URL like `http://localhost:8081/_expo/loading?platform=ios`
83
87
  * @returns URL like `http://localhost:8081/_expo/loading` when no platform is provided.
84
88
  */ constructLoadingUrl(options, platform) {
85
- const url = new (_url()).URL("_expo/loading", this.constructUrl({
86
- scheme: "http",
89
+ const url = new (_url()).URL('_expo/loading', this.constructUrl({
90
+ scheme: 'http',
87
91
  ...options
88
92
  }));
89
93
  if (platform) {
@@ -96,20 +100,20 @@ class UrlCreator {
96
100
  return loadingUrl;
97
101
  }
98
102
  /** Create a URI for launching in a native dev client. Returns `null` when no `scheme` can be resolved. */ constructDevClientUrl(options) {
99
- var ref, ref1;
100
- const protocol = (options == null ? void 0 : options.scheme) || ((ref = this.defaults) == null ? void 0 : ref.scheme);
103
+ var _this_defaults, _this_defaults1;
104
+ const protocol = (options == null ? void 0 : options.scheme) || ((_this_defaults = this.defaults) == null ? void 0 : _this_defaults.scheme);
101
105
  if (!protocol || // Prohibit the use of http(s) in dev client URIs since they'll never be valid.
102
106
  [
103
- "http",
104
- "https"
107
+ 'http',
108
+ 'https'
105
109
  ].includes(protocol.toLowerCase()) || // Prohibit the use of `_` characters in the protocol, Node will throw an error when parsing these URLs
106
- protocol.includes("_")) {
110
+ protocol.includes('_')) {
107
111
  debug(`Invalid protocol for dev client URL: ${protocol}`);
108
112
  return null;
109
113
  }
110
114
  const manifestUrl = this.constructUrl({
111
115
  ...options,
112
- scheme: ((ref1 = this.defaults) == null ? void 0 : ref1.hostType) === "tunnel" ? "https" : "http"
116
+ scheme: ((_this_defaults1 = this.defaults) == null ? void 0 : _this_defaults1.hostType) === 'tunnel' ? 'https' : 'http'
113
117
  });
114
118
  const devClientUrl = `${protocol}://expo-development-client/?url=${encodeURIComponent(manifestUrl)}`;
115
119
  debug(`Dev client URL: ${devClientUrl} -- manifestUrl: ${manifestUrl} -- %O`, options);
@@ -125,8 +129,7 @@ class UrlCreator {
125
129
  return url;
126
130
  }
127
131
  /** Get the URL components from the Ngrok server URL. */ getTunnelUrlComponents(options) {
128
- var _bundlerInfo, ref;
129
- const tunnelUrl = (ref = (_bundlerInfo = this.bundlerInfo).getTunnelUrl) == null ? void 0 : ref.call(_bundlerInfo);
132
+ const tunnelUrl = this.bundlerInfo.getTunnelUrl == null ? void 0 : this.bundlerInfo.getTunnelUrl.call(this.bundlerInfo);
130
133
  if (!tunnelUrl) {
131
134
  return null;
132
135
  }
@@ -134,7 +137,7 @@ class UrlCreator {
134
137
  return {
135
138
  port: parsed.port,
136
139
  hostname: parsed.hostname,
137
- protocol: options.scheme ?? "http"
140
+ protocol: options.scheme ?? 'http'
138
141
  };
139
142
  }
140
143
  getUrlComponents(options) {
@@ -144,31 +147,31 @@ class UrlCreator {
144
147
  return getUrlComponentsFromProxyUrl(options, proxyURL);
145
148
  }
146
149
  // Ngrok.
147
- if (options.hostType === "tunnel") {
150
+ if (options.hostType === 'tunnel') {
148
151
  const components = this.getTunnelUrlComponents(options);
149
152
  if (components) {
150
153
  return components;
151
154
  }
152
- _log.warn("Tunnel URL not found (it might not be ready yet), falling back to LAN URL.");
153
- } else if (options.hostType === "localhost" && !options.hostname) {
154
- options.hostname = "localhost";
155
+ _log.warn('Tunnel URL not found (it might not be ready yet), falling back to LAN URL.');
156
+ } else if (options.hostType === 'localhost' && !options.hostname) {
157
+ options.hostname = 'localhost';
155
158
  }
156
159
  return {
157
160
  hostname: getDefaultHostname(options),
158
161
  port: this.bundlerInfo.port.toString(),
159
- protocol: options.scheme ?? "http"
162
+ protocol: options.scheme ?? 'http'
160
163
  };
161
164
  }
162
165
  }
163
166
  function getUrlComponentsFromProxyUrl(options, url) {
164
167
  const parsedProxyUrl = new (_url()).URL(url);
165
- let protocol = options.scheme ?? "http";
166
- if (parsedProxyUrl.protocol === "https:") {
167
- if (protocol === "http") {
168
- protocol = "https";
168
+ let protocol = options.scheme ?? 'http';
169
+ if (parsedProxyUrl.protocol === 'https:') {
170
+ if (protocol === 'http') {
171
+ protocol = 'https';
169
172
  }
170
173
  if (!parsedProxyUrl.port) {
171
- parsedProxyUrl.port = "443";
174
+ parsedProxyUrl.port = '443';
172
175
  }
173
176
  }
174
177
  return {
@@ -181,16 +184,16 @@ function getDefaultHostname(options) {
181
184
  // TODO: Drop REACT_NATIVE_PACKAGER_HOSTNAME
182
185
  if (process.env.REACT_NATIVE_PACKAGER_HOSTNAME) {
183
186
  return process.env.REACT_NATIVE_PACKAGER_HOSTNAME.trim();
184
- } else if (options.hostname === "localhost") {
187
+ } else if (options.hostname === 'localhost') {
185
188
  // Restrict the use of `localhost`
186
189
  // TODO: Note why we do this.
187
- return "127.0.0.1";
190
+ return '127.0.0.1';
188
191
  }
189
192
  return options.hostname || (0, _ip.getIpAddress)();
190
193
  }
191
- function joinUrlComponents({ protocol , hostname , port }) {
192
- (0, _assert().default)(hostname, "hostname cannot be inferred.");
193
- const validProtocol = protocol ? `${protocol}://` : "";
194
+ function joinUrlComponents({ protocol, hostname, port }) {
195
+ (0, _assert().default)(hostname, 'hostname cannot be inferred.');
196
+ const validProtocol = protocol ? `${protocol}://` : '';
194
197
  const url = `${validProtocol}${hostname}`;
195
198
  if (port) {
196
199
  return url + `:${port}`;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/start/server/UrlCreator.ts"],"sourcesContent":["import assert from 'assert';\nimport { URL } from 'url';\n\nimport * as Log from '../../log';\nimport { getIpAddress } from '../../utils/ip';\n\nconst debug = require('debug')('expo:start:server:urlCreator') as typeof console.log;\n\nexport interface CreateURLOptions {\n /** URL scheme to use when opening apps in custom runtimes. */\n scheme?: string | null;\n /** Type of dev server host to use. */\n hostType?: 'localhost' | 'lan' | 'tunnel';\n /** Requested hostname. */\n hostname?: string | null;\n}\n\ninterface UrlComponents {\n port: string;\n hostname: string;\n protocol: string;\n}\nexport class UrlCreator {\n constructor(\n public defaults: CreateURLOptions | undefined,\n private bundlerInfo: { port: number; getTunnelUrl?: () => string | null }\n ) {}\n\n /**\n * Return a URL for the \"loading\" interstitial page that is used to disambiguate which\n * native runtime to open the dev server with.\n *\n * @param options options for creating the URL\n * @param platform when opening the URL from the CLI to a connected device we can specify the platform as a query parameter, otherwise it will be inferred from the unsafe user agent sniffing.\n *\n * @returns URL like `http://localhost:8081/_expo/loading?platform=ios`\n * @returns URL like `http://localhost:8081/_expo/loading` when no platform is provided.\n */\n public constructLoadingUrl(options: CreateURLOptions, platform: string | null): string {\n const url = new URL('_expo/loading', this.constructUrl({ scheme: 'http', ...options }));\n if (platform) {\n url.search = new URLSearchParams({ platform }).toString();\n }\n const loadingUrl = url.toString();\n debug(`Loading URL: ${loadingUrl}`);\n return loadingUrl;\n }\n\n /** Create a URI for launching in a native dev client. Returns `null` when no `scheme` can be resolved. */\n public constructDevClientUrl(options?: CreateURLOptions): null | string {\n const protocol = options?.scheme || this.defaults?.scheme;\n\n if (\n !protocol ||\n // Prohibit the use of http(s) in dev client URIs since they'll never be valid.\n ['http', 'https'].includes(protocol.toLowerCase()) ||\n // Prohibit the use of `_` characters in the protocol, Node will throw an error when parsing these URLs\n protocol.includes('_')\n ) {\n debug(`Invalid protocol for dev client URL: ${protocol}`);\n return null;\n }\n\n const manifestUrl = this.constructUrl({\n ...options,\n scheme: this.defaults?.hostType === 'tunnel' ? 'https' : 'http',\n });\n const devClientUrl = `${protocol}://expo-development-client/?url=${encodeURIComponent(\n manifestUrl\n )}`;\n debug(`Dev client URL: ${devClientUrl} -- manifestUrl: ${manifestUrl} -- %O`, options);\n return devClientUrl;\n }\n\n /** Create a generic URL. */\n public constructUrl(options?: Partial<CreateURLOptions> | null): string {\n const urlComponents = this.getUrlComponents({\n ...this.defaults,\n ...options,\n });\n const url = joinUrlComponents(urlComponents);\n debug(`URL: ${url}`);\n return url;\n }\n\n /** Get the URL components from the Ngrok server URL. */\n private getTunnelUrlComponents(options: Pick<CreateURLOptions, 'scheme'>): UrlComponents | null {\n const tunnelUrl = this.bundlerInfo.getTunnelUrl?.();\n if (!tunnelUrl) {\n return null;\n }\n const parsed = new URL(tunnelUrl);\n return {\n port: parsed.port,\n hostname: parsed.hostname,\n protocol: options.scheme ?? 'http',\n };\n }\n\n private getUrlComponents(options: CreateURLOptions): UrlComponents {\n // Proxy comes first.\n const proxyURL = getProxyUrl();\n if (proxyURL) {\n return getUrlComponentsFromProxyUrl(options, proxyURL);\n }\n\n // Ngrok.\n if (options.hostType === 'tunnel') {\n const components = this.getTunnelUrlComponents(options);\n if (components) {\n return components;\n }\n Log.warn('Tunnel URL not found (it might not be ready yet), falling back to LAN URL.');\n } else if (options.hostType === 'localhost' && !options.hostname) {\n options.hostname = 'localhost';\n }\n\n return {\n hostname: getDefaultHostname(options),\n port: this.bundlerInfo.port.toString(),\n protocol: options.scheme ?? 'http',\n };\n }\n}\n\nfunction getUrlComponentsFromProxyUrl(\n options: Pick<CreateURLOptions, 'scheme'>,\n url: string\n): UrlComponents {\n const parsedProxyUrl = new URL(url);\n let protocol = options.scheme ?? 'http';\n if (parsedProxyUrl.protocol === 'https:') {\n if (protocol === 'http') {\n protocol = 'https';\n }\n if (!parsedProxyUrl.port) {\n parsedProxyUrl.port = '443';\n }\n }\n return {\n port: parsedProxyUrl.port,\n hostname: parsedProxyUrl.hostname,\n protocol,\n };\n}\n\nfunction getDefaultHostname(options: Pick<CreateURLOptions, 'hostname'>) {\n // TODO: Drop REACT_NATIVE_PACKAGER_HOSTNAME\n if (process.env.REACT_NATIVE_PACKAGER_HOSTNAME) {\n return process.env.REACT_NATIVE_PACKAGER_HOSTNAME.trim();\n } else if (options.hostname === 'localhost') {\n // Restrict the use of `localhost`\n // TODO: Note why we do this.\n return '127.0.0.1';\n }\n\n return options.hostname || getIpAddress();\n}\n\nfunction joinUrlComponents({ protocol, hostname, port }: Partial<UrlComponents>): string {\n assert(hostname, 'hostname cannot be inferred.');\n const validProtocol = protocol ? `${protocol}://` : '';\n\n const url = `${validProtocol}${hostname}`;\n\n if (port) {\n return url + `:${port}`;\n }\n\n return url;\n}\n\n/** @deprecated */\nfunction getProxyUrl(): string | undefined {\n return process.env.EXPO_PACKAGER_PROXY_URL;\n}\n\n// TODO: Drop the undocumented env variables:\n// REACT_NATIVE_PACKAGER_HOSTNAME\n// EXPO_PACKAGER_PROXY_URL\n"],"names":["UrlCreator","debug","require","constructor","defaults","bundlerInfo","constructLoadingUrl","options","platform","url","URL","constructUrl","scheme","search","URLSearchParams","toString","loadingUrl","constructDevClientUrl","protocol","includes","toLowerCase","manifestUrl","hostType","devClientUrl","encodeURIComponent","urlComponents","getUrlComponents","joinUrlComponents","getTunnelUrlComponents","tunnelUrl","getTunnelUrl","parsed","port","hostname","proxyURL","getProxyUrl","getUrlComponentsFromProxyUrl","components","Log","warn","getDefaultHostname","parsedProxyUrl","process","env","REACT_NATIVE_PACKAGER_HOSTNAME","trim","getIpAddress","assert","validProtocol","EXPO_PACKAGER_PROXY_URL"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/start/server/UrlCreator.ts"],"sourcesContent":["import assert from 'assert';\nimport { URL } from 'url';\n\nimport * as Log from '../../log';\nimport { getIpAddress } from '../../utils/ip';\n\nconst debug = require('debug')('expo:start:server:urlCreator') as typeof console.log;\n\nexport interface CreateURLOptions {\n /** URL scheme to use when opening apps in custom runtimes. */\n scheme?: string | null;\n /** Type of dev server host to use. */\n hostType?: 'localhost' | 'lan' | 'tunnel';\n /** Requested hostname. */\n hostname?: string | null;\n}\n\ninterface UrlComponents {\n port: string;\n hostname: string;\n protocol: string;\n}\nexport class UrlCreator {\n constructor(\n public defaults: CreateURLOptions | undefined,\n private bundlerInfo: { port: number; getTunnelUrl?: () => string | null }\n ) {}\n\n /**\n * Return a URL for the \"loading\" interstitial page that is used to disambiguate which\n * native runtime to open the dev server with.\n *\n * @param options options for creating the URL\n * @param platform when opening the URL from the CLI to a connected device we can specify the platform as a query parameter, otherwise it will be inferred from the unsafe user agent sniffing.\n *\n * @returns URL like `http://localhost:8081/_expo/loading?platform=ios`\n * @returns URL like `http://localhost:8081/_expo/loading` when no platform is provided.\n */\n public constructLoadingUrl(options: CreateURLOptions, platform: string | null): string {\n const url = new URL('_expo/loading', this.constructUrl({ scheme: 'http', ...options }));\n if (platform) {\n url.search = new URLSearchParams({ platform }).toString();\n }\n const loadingUrl = url.toString();\n debug(`Loading URL: ${loadingUrl}`);\n return loadingUrl;\n }\n\n /** Create a URI for launching in a native dev client. Returns `null` when no `scheme` can be resolved. */\n public constructDevClientUrl(options?: CreateURLOptions): null | string {\n const protocol = options?.scheme || this.defaults?.scheme;\n\n if (\n !protocol ||\n // Prohibit the use of http(s) in dev client URIs since they'll never be valid.\n ['http', 'https'].includes(protocol.toLowerCase()) ||\n // Prohibit the use of `_` characters in the protocol, Node will throw an error when parsing these URLs\n protocol.includes('_')\n ) {\n debug(`Invalid protocol for dev client URL: ${protocol}`);\n return null;\n }\n\n const manifestUrl = this.constructUrl({\n ...options,\n scheme: this.defaults?.hostType === 'tunnel' ? 'https' : 'http',\n });\n const devClientUrl = `${protocol}://expo-development-client/?url=${encodeURIComponent(\n manifestUrl\n )}`;\n debug(`Dev client URL: ${devClientUrl} -- manifestUrl: ${manifestUrl} -- %O`, options);\n return devClientUrl;\n }\n\n /** Create a generic URL. */\n public constructUrl(options?: Partial<CreateURLOptions> | null): string {\n const urlComponents = this.getUrlComponents({\n ...this.defaults,\n ...options,\n });\n const url = joinUrlComponents(urlComponents);\n debug(`URL: ${url}`);\n return url;\n }\n\n /** Get the URL components from the Ngrok server URL. */\n private getTunnelUrlComponents(options: Pick<CreateURLOptions, 'scheme'>): UrlComponents | null {\n const tunnelUrl = this.bundlerInfo.getTunnelUrl?.();\n if (!tunnelUrl) {\n return null;\n }\n const parsed = new URL(tunnelUrl);\n return {\n port: parsed.port,\n hostname: parsed.hostname,\n protocol: options.scheme ?? 'http',\n };\n }\n\n private getUrlComponents(options: CreateURLOptions): UrlComponents {\n // Proxy comes first.\n const proxyURL = getProxyUrl();\n if (proxyURL) {\n return getUrlComponentsFromProxyUrl(options, proxyURL);\n }\n\n // Ngrok.\n if (options.hostType === 'tunnel') {\n const components = this.getTunnelUrlComponents(options);\n if (components) {\n return components;\n }\n Log.warn('Tunnel URL not found (it might not be ready yet), falling back to LAN URL.');\n } else if (options.hostType === 'localhost' && !options.hostname) {\n options.hostname = 'localhost';\n }\n\n return {\n hostname: getDefaultHostname(options),\n port: this.bundlerInfo.port.toString(),\n protocol: options.scheme ?? 'http',\n };\n }\n}\n\nfunction getUrlComponentsFromProxyUrl(\n options: Pick<CreateURLOptions, 'scheme'>,\n url: string\n): UrlComponents {\n const parsedProxyUrl = new URL(url);\n let protocol = options.scheme ?? 'http';\n if (parsedProxyUrl.protocol === 'https:') {\n if (protocol === 'http') {\n protocol = 'https';\n }\n if (!parsedProxyUrl.port) {\n parsedProxyUrl.port = '443';\n }\n }\n return {\n port: parsedProxyUrl.port,\n hostname: parsedProxyUrl.hostname,\n protocol,\n };\n}\n\nfunction getDefaultHostname(options: Pick<CreateURLOptions, 'hostname'>) {\n // TODO: Drop REACT_NATIVE_PACKAGER_HOSTNAME\n if (process.env.REACT_NATIVE_PACKAGER_HOSTNAME) {\n return process.env.REACT_NATIVE_PACKAGER_HOSTNAME.trim();\n } else if (options.hostname === 'localhost') {\n // Restrict the use of `localhost`\n // TODO: Note why we do this.\n return '127.0.0.1';\n }\n\n return options.hostname || getIpAddress();\n}\n\nfunction joinUrlComponents({ protocol, hostname, port }: Partial<UrlComponents>): string {\n assert(hostname, 'hostname cannot be inferred.');\n const validProtocol = protocol ? `${protocol}://` : '';\n\n const url = `${validProtocol}${hostname}`;\n\n if (port) {\n return url + `:${port}`;\n }\n\n return url;\n}\n\n/** @deprecated */\nfunction getProxyUrl(): string | undefined {\n return process.env.EXPO_PACKAGER_PROXY_URL;\n}\n\n// TODO: Drop the undocumented env variables:\n// REACT_NATIVE_PACKAGER_HOSTNAME\n// EXPO_PACKAGER_PROXY_URL\n"],"names":["UrlCreator","debug","require","constructor","defaults","bundlerInfo","constructLoadingUrl","options","platform","url","URL","constructUrl","scheme","search","URLSearchParams","toString","loadingUrl","constructDevClientUrl","protocol","includes","toLowerCase","manifestUrl","hostType","devClientUrl","encodeURIComponent","urlComponents","getUrlComponents","joinUrlComponents","getTunnelUrlComponents","tunnelUrl","getTunnelUrl","parsed","port","hostname","proxyURL","getProxyUrl","getUrlComponentsFromProxyUrl","components","Log","warn","getDefaultHostname","parsedProxyUrl","process","env","REACT_NATIVE_PACKAGER_HOSTNAME","trim","getIpAddress","assert","validProtocol","EXPO_PACKAGER_PROXY_URL"],"mappings":"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"}
@@ -14,10 +14,18 @@ function _export(target, all) {
14
14
  });
15
15
  }
16
16
  _export(exports, {
17
- cachedSourceMaps: ()=>cachedSourceMaps,
18
- createMetroEndpointAsync: ()=>createMetroEndpointAsync,
19
- evalMetroAndWrapFunctions: ()=>evalMetroAndWrapFunctions,
20
- evalMetroNoHandling: ()=>evalMetroNoHandling
17
+ cachedSourceMaps: function() {
18
+ return cachedSourceMaps;
19
+ },
20
+ createMetroEndpointAsync: function() {
21
+ return createMetroEndpointAsync;
22
+ },
23
+ evalMetroAndWrapFunctions: function() {
24
+ return evalMetroAndWrapFunctions;
25
+ },
26
+ evalMetroNoHandling: function() {
27
+ return evalMetroNoHandling;
28
+ }
21
29
  });
22
30
  function _paths() {
23
31
  const data = require("@expo/config/paths");
@@ -27,22 +35,22 @@ function _paths() {
27
35
  return data;
28
36
  }
29
37
  function _fs() {
30
- const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
38
+ const data = /*#__PURE__*/ _interop_require_default(require("fs"));
31
39
  _fs = function() {
32
40
  return data;
33
41
  };
34
42
  return data;
35
43
  }
36
44
  function _path() {
37
- const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
45
+ const data = /*#__PURE__*/ _interop_require_default(require("path"));
38
46
  _path = function() {
39
47
  return data;
40
48
  };
41
49
  return data;
42
50
  }
43
- function _requireFromString() {
44
- const data = /*#__PURE__*/ _interopRequireDefault(require("require-from-string"));
45
- _requireFromString = function() {
51
+ function _requirefromstring() {
52
+ const data = /*#__PURE__*/ _interop_require_default(require("require-from-string"));
53
+ _requirefromstring = function() {
46
54
  return data;
47
55
  };
48
56
  return data;
@@ -53,7 +61,7 @@ const _serverLogLikeMetro = require("./serverLogLikeMetro");
53
61
  const _delay = require("../../utils/delay");
54
62
  const _errors = require("../../utils/errors");
55
63
  const _profile = require("../../utils/profile");
56
- function _interopRequireDefault(obj) {
64
+ function _interop_require_default(obj) {
57
65
  return obj && obj.__esModule ? obj : {
58
66
  default: obj
59
67
  };
@@ -63,7 +71,7 @@ const cachedSourceMaps = new Map();
63
71
  // Detect if running in Bun
64
72
  // @ts-expect-error: This is a global variable that is set by Bun.
65
73
  if (!process.isBun) {
66
- require("source-map-support").install({
74
+ require('source-map-support').install({
67
75
  retrieveSourceMap (source) {
68
76
  if (cachedSourceMaps.has(source)) {
69
77
  return cachedSourceMaps.get(source);
@@ -75,17 +83,17 @@ if (!process.isBun) {
75
83
  async function ensureFileInRootDirectory(projectRoot, otherFile) {
76
84
  // Cannot be accessed using Metro's server API, we need to move the file
77
85
  // into the project root and try again.
78
- if (!_path().default.relative(projectRoot, otherFile).startsWith(".." + _path().default.sep)) {
86
+ if (!_path().default.relative(projectRoot, otherFile).startsWith('..' + _path().default.sep)) {
79
87
  return otherFile;
80
88
  }
81
89
  // Copy the file into the project to ensure it works in monorepos.
82
90
  // This means the file cannot have any relative imports.
83
- const tempDir = _path().default.join(projectRoot, ".expo/static-tmp");
91
+ const tempDir = _path().default.join(projectRoot, '.expo/static-tmp');
84
92
  await _fs().default.promises.mkdir(tempDir, {
85
93
  recursive: true
86
94
  });
87
95
  const moduleId = _path().default.join(tempDir, _path().default.basename(otherFile));
88
- await _fs().default.promises.writeFile(moduleId, await _fs().default.promises.readFile(otherFile, "utf8"));
96
+ await _fs().default.promises.writeFile(moduleId, await _fs().default.promises.readFile(otherFile, 'utf8'));
89
97
  // Sleep to give watchman time to register the file.
90
98
  await (0, _delay.delayAsync)(50);
91
99
  return moduleId;
@@ -93,22 +101,22 @@ async function ensureFileInRootDirectory(projectRoot, otherFile) {
93
101
  async function createMetroEndpointAsync(projectRoot, devServerUrl, absoluteFilePath, props) {
94
102
  const root = (0, _paths().getMetroServerRoot)(projectRoot);
95
103
  const safeOtherFile = await ensureFileInRootDirectory(projectRoot, absoluteFilePath);
96
- const serverPath = _path().default.relative(root, safeOtherFile).replace(/\.[jt]sx?$/, "");
104
+ const serverPath = _path().default.relative(root, safeOtherFile).replace(/\.[jt]sx?$/, '');
97
105
  const urlFragment = (0, _metroOptions.createBundleUrlPath)({
98
106
  mainModuleName: serverPath,
99
107
  lazy: false,
100
108
  asyncRoutes: false,
101
109
  inlineSourceMap: false,
102
- engine: "hermes",
110
+ engine: 'hermes',
103
111
  minify: false,
104
112
  bytecode: false,
105
113
  ...props
106
114
  });
107
115
  let url;
108
116
  if (devServerUrl) {
109
- url = new URL(urlFragment.replace(/^\//, ""), devServerUrl).toString();
117
+ url = new URL(urlFragment.replace(/^\//, ''), devServerUrl).toString();
110
118
  } else {
111
- url = "/" + urlFragment.replace(/^\/+/, "");
119
+ url = '/' + urlFragment.replace(/^\/+/, '');
112
120
  }
113
121
  return url;
114
122
  }
@@ -118,12 +126,12 @@ function evalMetroAndWrapFunctions(projectRoot, script, filename, isExporting) {
118
126
  if (!contents) {
119
127
  // This can happen if ErrorUtils isn't working correctly on web and failing to throw an error when a module throws.
120
128
  // This is unexpected behavior and should not be pretty formatted, therefore we're avoiding CommandError.
121
- throw new Error("[Expo SSR] Module returned undefined, this could be due to a misconfiguration in Metro error handling");
129
+ throw new Error('[Expo SSR] Module returned undefined, this could be due to a misconfiguration in Metro error handling');
122
130
  }
123
131
  // wrap each function with a try/catch that uses Metro's error formatter
124
132
  return Object.keys(contents).reduce((acc, key)=>{
125
133
  const fn = contents[key];
126
- if (typeof fn !== "function") {
134
+ if (typeof fn !== 'function') {
127
135
  return {
128
136
  ...acc,
129
137
  [key]: fn
@@ -149,7 +157,7 @@ function evalMetroAndWrapFunctions(projectRoot, script, filename, isExporting) {
149
157
  }
150
158
  function evalMetroNoHandling(projectRoot, src, filename) {
151
159
  (0, _serverLogLikeMetro.augmentLogs)(projectRoot);
152
- return (0, _profile.profile)(_requireFromString().default, "eval-metro-bundle")(src, filename);
160
+ return (0, _profile.profile)(_requirefromstring().default, 'eval-metro-bundle')(src, filename);
153
161
  }
154
162
 
155
163
  //# sourceMappingURL=getStaticRenderFunctions.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/start/server/getStaticRenderFunctions.ts"],"sourcesContent":["/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { getMetroServerRoot } from '@expo/config/paths';\nimport fs from 'fs';\nimport path from 'path';\nimport requireString from 'require-from-string';\n\nimport { IS_METRO_BUNDLE_ERROR_SYMBOL, logMetroError } from './metro/metroErrorInterface';\nimport { createBundleUrlPath, ExpoMetroOptions } from './middleware/metroOptions';\nimport { augmentLogs } from './serverLogLikeMetro';\nimport { delayAsync } from '../../utils/delay';\nimport { SilentError } from '../../utils/errors';\nimport { profile } from '../../utils/profile';\n\n/** The list of input keys will become optional, everything else will remain the same. */\nexport type PickPartial<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\n\nexport const cachedSourceMaps: Map<string, { url: string; map: string }> = new Map();\n\n// Support unhandled rejections\n// Detect if running in Bun\n\n// @ts-expect-error: This is a global variable that is set by Bun.\nif (!process.isBun) {\n require('source-map-support').install({\n retrieveSourceMap(source: string) {\n if (cachedSourceMaps.has(source)) {\n return cachedSourceMaps.get(source);\n }\n return null;\n },\n });\n}\n\nasync function ensureFileInRootDirectory(projectRoot: string, otherFile: string) {\n // Cannot be accessed using Metro's server API, we need to move the file\n // into the project root and try again.\n if (!path.relative(projectRoot, otherFile).startsWith('..' + path.sep)) {\n return otherFile;\n }\n\n // Copy the file into the project to ensure it works in monorepos.\n // This means the file cannot have any relative imports.\n const tempDir = path.join(projectRoot, '.expo/static-tmp');\n await fs.promises.mkdir(tempDir, { recursive: true });\n const moduleId = path.join(tempDir, path.basename(otherFile));\n await fs.promises.writeFile(moduleId, await fs.promises.readFile(otherFile, 'utf8'));\n // Sleep to give watchman time to register the file.\n await delayAsync(50);\n return moduleId;\n}\n\nexport async function createMetroEndpointAsync(\n projectRoot: string,\n devServerUrl: string,\n absoluteFilePath: string,\n props: PickPartial<ExpoMetroOptions, 'mainModuleName' | 'bytecode'>\n): Promise<string> {\n const root = getMetroServerRoot(projectRoot);\n const safeOtherFile = await ensureFileInRootDirectory(projectRoot, absoluteFilePath);\n const serverPath = path.relative(root, safeOtherFile).replace(/\\.[jt]sx?$/, '');\n\n const urlFragment = createBundleUrlPath({\n mainModuleName: serverPath,\n lazy: false,\n asyncRoutes: false,\n inlineSourceMap: false,\n engine: 'hermes',\n minify: false,\n bytecode: false,\n ...props,\n });\n\n let url: string;\n if (devServerUrl) {\n url = new URL(urlFragment.replace(/^\\//, ''), devServerUrl).toString();\n } else {\n url = '/' + urlFragment.replace(/^\\/+/, '');\n }\n return url;\n}\n\nexport function evalMetroAndWrapFunctions<T = Record<string, any>>(\n projectRoot: string,\n script: string,\n filename: string,\n isExporting: boolean\n): T {\n // TODO: Add back stack trace logic that hides traces from metro-runtime and other internal modules.\n const contents = evalMetroNoHandling(projectRoot, script, filename);\n\n if (!contents) {\n // This can happen if ErrorUtils isn't working correctly on web and failing to throw an error when a module throws.\n // This is unexpected behavior and should not be pretty formatted, therefore we're avoiding CommandError.\n throw new Error(\n '[Expo SSR] Module returned undefined, this could be due to a misconfiguration in Metro error handling'\n );\n }\n // wrap each function with a try/catch that uses Metro's error formatter\n return Object.keys(contents).reduce((acc, key) => {\n const fn = contents[key];\n if (typeof fn !== 'function') {\n return { ...acc, [key]: fn };\n }\n\n acc[key] = async function (...props: any[]) {\n try {\n return await fn.apply(this, props);\n } catch (error: any) {\n await logMetroError(projectRoot, { error });\n\n if (isExporting || error[IS_METRO_BUNDLE_ERROR_SYMBOL]) {\n throw error;\n } else {\n // TODO: When does this happen?\n throw new SilentError(error);\n }\n }\n };\n return acc;\n }, {} as any);\n}\n\nexport function evalMetroNoHandling(projectRoot: string, src: string, filename: string) {\n augmentLogs(projectRoot);\n\n return profile(requireString, 'eval-metro-bundle')(src, filename);\n}\n"],"names":["cachedSourceMaps","createMetroEndpointAsync","evalMetroAndWrapFunctions","evalMetroNoHandling","Map","process","isBun","require","install","retrieveSourceMap","source","has","get","ensureFileInRootDirectory","projectRoot","otherFile","path","relative","startsWith","sep","tempDir","join","fs","promises","mkdir","recursive","moduleId","basename","writeFile","readFile","delayAsync","devServerUrl","absoluteFilePath","props","root","getMetroServerRoot","safeOtherFile","serverPath","replace","urlFragment","createBundleUrlPath","mainModuleName","lazy","asyncRoutes","inlineSourceMap","engine","minify","bytecode","url","URL","toString","script","filename","isExporting","contents","Error","Object","keys","reduce","acc","key","fn","apply","error","logMetroError","IS_METRO_BUNDLE_ERROR_SYMBOL","SilentError","src","augmentLogs","profile","requireString"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/start/server/getStaticRenderFunctions.ts"],"sourcesContent":["/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { getMetroServerRoot } from '@expo/config/paths';\nimport fs from 'fs';\nimport path from 'path';\nimport requireString from 'require-from-string';\n\nimport { IS_METRO_BUNDLE_ERROR_SYMBOL, logMetroError } from './metro/metroErrorInterface';\nimport { createBundleUrlPath, ExpoMetroOptions } from './middleware/metroOptions';\nimport { augmentLogs } from './serverLogLikeMetro';\nimport { delayAsync } from '../../utils/delay';\nimport { SilentError } from '../../utils/errors';\nimport { profile } from '../../utils/profile';\n\n/** The list of input keys will become optional, everything else will remain the same. */\nexport type PickPartial<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\n\nexport const cachedSourceMaps: Map<string, { url: string; map: string }> = new Map();\n\n// Support unhandled rejections\n// Detect if running in Bun\n\n// @ts-expect-error: This is a global variable that is set by Bun.\nif (!process.isBun) {\n require('source-map-support').install({\n retrieveSourceMap(source: string) {\n if (cachedSourceMaps.has(source)) {\n return cachedSourceMaps.get(source);\n }\n return null;\n },\n });\n}\n\nasync function ensureFileInRootDirectory(projectRoot: string, otherFile: string) {\n // Cannot be accessed using Metro's server API, we need to move the file\n // into the project root and try again.\n if (!path.relative(projectRoot, otherFile).startsWith('..' + path.sep)) {\n return otherFile;\n }\n\n // Copy the file into the project to ensure it works in monorepos.\n // This means the file cannot have any relative imports.\n const tempDir = path.join(projectRoot, '.expo/static-tmp');\n await fs.promises.mkdir(tempDir, { recursive: true });\n const moduleId = path.join(tempDir, path.basename(otherFile));\n await fs.promises.writeFile(moduleId, await fs.promises.readFile(otherFile, 'utf8'));\n // Sleep to give watchman time to register the file.\n await delayAsync(50);\n return moduleId;\n}\n\nexport async function createMetroEndpointAsync(\n projectRoot: string,\n devServerUrl: string,\n absoluteFilePath: string,\n props: PickPartial<ExpoMetroOptions, 'mainModuleName' | 'bytecode'>\n): Promise<string> {\n const root = getMetroServerRoot(projectRoot);\n const safeOtherFile = await ensureFileInRootDirectory(projectRoot, absoluteFilePath);\n const serverPath = path.relative(root, safeOtherFile).replace(/\\.[jt]sx?$/, '');\n\n const urlFragment = createBundleUrlPath({\n mainModuleName: serverPath,\n lazy: false,\n asyncRoutes: false,\n inlineSourceMap: false,\n engine: 'hermes',\n minify: false,\n bytecode: false,\n ...props,\n });\n\n let url: string;\n if (devServerUrl) {\n url = new URL(urlFragment.replace(/^\\//, ''), devServerUrl).toString();\n } else {\n url = '/' + urlFragment.replace(/^\\/+/, '');\n }\n return url;\n}\n\nexport function evalMetroAndWrapFunctions<T = Record<string, any>>(\n projectRoot: string,\n script: string,\n filename: string,\n isExporting: boolean\n): T {\n // TODO: Add back stack trace logic that hides traces from metro-runtime and other internal modules.\n const contents = evalMetroNoHandling(projectRoot, script, filename);\n\n if (!contents) {\n // This can happen if ErrorUtils isn't working correctly on web and failing to throw an error when a module throws.\n // This is unexpected behavior and should not be pretty formatted, therefore we're avoiding CommandError.\n throw new Error(\n '[Expo SSR] Module returned undefined, this could be due to a misconfiguration in Metro error handling'\n );\n }\n // wrap each function with a try/catch that uses Metro's error formatter\n return Object.keys(contents).reduce((acc, key) => {\n const fn = contents[key];\n if (typeof fn !== 'function') {\n return { ...acc, [key]: fn };\n }\n\n acc[key] = async function (...props: any[]) {\n try {\n return await fn.apply(this, props);\n } catch (error: any) {\n await logMetroError(projectRoot, { error });\n\n if (isExporting || error[IS_METRO_BUNDLE_ERROR_SYMBOL]) {\n throw error;\n } else {\n // TODO: When does this happen?\n throw new SilentError(error);\n }\n }\n };\n return acc;\n }, {} as any);\n}\n\nexport function evalMetroNoHandling(projectRoot: string, src: string, filename: string) {\n augmentLogs(projectRoot);\n\n return profile(requireString, 'eval-metro-bundle')(src, filename);\n}\n"],"names":["cachedSourceMaps","createMetroEndpointAsync","evalMetroAndWrapFunctions","evalMetroNoHandling","Map","process","isBun","require","install","retrieveSourceMap","source","has","get","ensureFileInRootDirectory","projectRoot","otherFile","path","relative","startsWith","sep","tempDir","join","fs","promises","mkdir","recursive","moduleId","basename","writeFile","readFile","delayAsync","devServerUrl","absoluteFilePath","props","root","getMetroServerRoot","safeOtherFile","serverPath","replace","urlFragment","createBundleUrlPath","mainModuleName","lazy","asyncRoutes","inlineSourceMap","engine","minify","bytecode","url","URL","toString","script","filename","isExporting","contents","Error","Object","keys","reduce","acc","key","fn","apply","error","logMetroError","IS_METRO_BUNDLE_ERROR_SYMBOL","SilentError","src","augmentLogs","profile","requireString"],"mappings":"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"}
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "createDevToolsPluginWebsocketEndpoint", {
6
6
  enumerable: true,
7
- get: ()=>createDevToolsPluginWebsocketEndpoint
7
+ get: function() {
8
+ return createDevToolsPluginWebsocketEndpoint;
9
+ }
8
10
  });
9
11
  function _ws() {
10
12
  const data = require("ws");
@@ -17,8 +19,8 @@ function createDevToolsPluginWebsocketEndpoint() {
17
19
  const wss = new (_ws()).WebSocketServer({
18
20
  noServer: true
19
21
  });
20
- wss.on("connection", (ws)=>{
21
- ws.on("message", (message, isBinary)=>{
22
+ wss.on('connection', (ws)=>{
23
+ ws.on('message', (message, isBinary)=>{
22
24
  // Broadcast the received message to all other connected clients
23
25
  wss.clients.forEach((client)=>{
24
26
  if (client !== ws && client.readyState === _ws().WebSocket.OPEN) {
@@ -30,7 +32,7 @@ function createDevToolsPluginWebsocketEndpoint() {
30
32
  });
31
33
  });
32
34
  return {
33
- "/expo-dev-plugins/broadcast": wss
35
+ '/expo-dev-plugins/broadcast': wss
34
36
  };
35
37
  }
36
38
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/server/metro/DevToolsPluginWebsocketEndpoint.ts"],"sourcesContent":["import { WebSocket, WebSocketServer } from 'ws';\n\nexport function createDevToolsPluginWebsocketEndpoint(): Record<string, WebSocketServer> {\n const wss = new WebSocketServer({ noServer: true });\n\n wss.on('connection', (ws: WebSocket) => {\n ws.on('message', (message, isBinary) => {\n // Broadcast the received message to all other connected clients\n wss.clients.forEach((client) => {\n if (client !== ws && client.readyState === WebSocket.OPEN) {\n client.send(message, { binary: isBinary });\n }\n });\n });\n });\n\n return { '/expo-dev-plugins/broadcast': wss };\n}\n"],"names":["createDevToolsPluginWebsocketEndpoint","wss","WebSocketServer","noServer","on","ws","message","isBinary","clients","forEach","client","readyState","WebSocket","OPEN","send","binary"],"mappings":"AAAA;;;;+BAEgBA,uCAAqC;;aAArCA,qCAAqC;;;yBAFV,IAAI;;;;;;AAExC,SAASA,qCAAqC,GAAoC;IACvF,MAAMC,GAAG,GAAG,IAAIC,CAAAA,GAAe,EAAA,CAAA,gBAAA,CAAC;QAAEC,QAAQ,EAAE,IAAI;KAAE,CAAC,AAAC;IAEpDF,GAAG,CAACG,EAAE,CAAC,YAAY,EAAE,CAACC,EAAa,GAAK;QACtCA,EAAE,CAACD,EAAE,CAAC,SAAS,EAAE,CAACE,OAAO,EAAEC,QAAQ,GAAK;YACtC,gEAAgE;YAChEN,GAAG,CAACO,OAAO,CAACC,OAAO,CAAC,CAACC,MAAM,GAAK;gBAC9B,IAAIA,MAAM,KAAKL,EAAE,IAAIK,MAAM,CAACC,UAAU,KAAKC,GAAS,EAAA,UAAA,CAACC,IAAI,EAAE;oBACzDH,MAAM,CAACI,IAAI,CAACR,OAAO,EAAE;wBAAES,MAAM,EAAER,QAAQ;qBAAE,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;QAAE,6BAA6B,EAAEN,GAAG;KAAE,CAAC;AAChD,CAAC"}
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/DevToolsPluginWebsocketEndpoint.ts"],"sourcesContent":["import { WebSocket, WebSocketServer } from 'ws';\n\nexport function createDevToolsPluginWebsocketEndpoint(): Record<string, WebSocketServer> {\n const wss = new WebSocketServer({ noServer: true });\n\n wss.on('connection', (ws: WebSocket) => {\n ws.on('message', (message, isBinary) => {\n // Broadcast the received message to all other connected clients\n wss.clients.forEach((client) => {\n if (client !== ws && client.readyState === WebSocket.OPEN) {\n client.send(message, { binary: isBinary });\n }\n });\n });\n });\n\n return { '/expo-dev-plugins/broadcast': wss };\n}\n"],"names":["createDevToolsPluginWebsocketEndpoint","wss","WebSocketServer","noServer","on","ws","message","isBinary","clients","forEach","client","readyState","WebSocket","OPEN","send","binary"],"mappings":";;;;+BAEgBA;;;eAAAA;;;;yBAF2B;;;;;;AAEpC,SAASA;IACd,MAAMC,MAAM,IAAIC,CAAAA,KAAc,iBAAC,CAAC;QAAEC,UAAU;IAAK;IAEjDF,IAAIG,EAAE,CAAC,cAAc,CAACC;QACpBA,GAAGD,EAAE,CAAC,WAAW,CAACE,SAASC;YACzB,gEAAgE;YAChEN,IAAIO,OAAO,CAACC,OAAO,CAAC,CAACC;gBACnB,IAAIA,WAAWL,MAAMK,OAAOC,UAAU,KAAKC,eAAS,CAACC,IAAI,EAAE;oBACzDH,OAAOI,IAAI,CAACR,SAAS;wBAAES,QAAQR;oBAAS;gBAC1C;YACF;QACF;IACF;IAEA,OAAO;QAAE,+BAA+BN;IAAI;AAC9C"}