@expo/cli 0.22.25 → 0.22.27

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 (724) hide show
  1. package/build/bin/cli +91 -93
  2. package/build/bin/cli.map +1 -1
  3. package/build/metro-require/require.js +52 -53
  4. package/build/src/api/endpoint.js +2 -6
  5. package/build/src/api/endpoint.js.map +1 -1
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +3 -5
  7. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  8. package/build/src/api/getExpoSchema.js +12 -16
  9. package/build/src/api/getExpoSchema.js.map +1 -1
  10. package/build/src/api/getNativeModuleVersions.js +4 -6
  11. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  12. package/build/src/api/getProjectDevelopmentCertificate.js +3 -5
  13. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  14. package/build/src/api/getVersions.js +5 -7
  15. package/build/src/api/getVersions.js.map +1 -1
  16. package/build/src/api/graphql/client.js +26 -32
  17. package/build/src/api/graphql/client.js.map +1 -1
  18. package/build/src/api/graphql/queries/AppQuery.js +4 -6
  19. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  20. package/build/src/api/graphql/queries/UserQuery.js +3 -5
  21. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  22. package/build/src/api/graphql/types/App.js +1 -3
  23. package/build/src/api/graphql/types/App.js.map +1 -1
  24. package/build/src/api/rest/cache/FileSystemResponseCache.js +8 -10
  25. package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
  26. package/build/src/api/rest/cache/ResponseCache.js +12 -20
  27. package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +11 -13
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  30. package/build/src/api/rest/client.js +35 -53
  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 +3 -5
  34. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithOffline.js +3 -5
  36. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProgress.js +7 -11
  38. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  39. package/build/src/api/rest/wrapFetchWithProxy.js +3 -5
  40. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  41. package/build/src/api/rest/wrapFetchWithUserAgent.js +6 -8
  42. package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
  43. package/build/src/api/settings.js +5 -7
  44. package/build/src/api/settings.js.map +1 -1
  45. package/build/src/api/updateDevelopmentSession.js +17 -23
  46. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  47. package/build/src/api/user/UserSettings.js +21 -39
  48. package/build/src/api/user/UserSettings.js.map +1 -1
  49. package/build/src/api/user/actions.js +21 -27
  50. package/build/src/api/user/actions.js.map +1 -1
  51. package/build/src/api/user/expoSsoLauncher.js +26 -30
  52. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  53. package/build/src/api/user/otp.js +29 -35
  54. package/build/src/api/user/otp.js.map +1 -1
  55. package/build/src/api/user/user.js +30 -44
  56. package/build/src/api/user/user.js.map +1 -1
  57. package/build/src/config/configAsync.js +23 -29
  58. package/build/src/config/configAsync.js.map +1 -1
  59. package/build/src/config/index.js +21 -25
  60. package/build/src/config/index.js.map +1 -1
  61. package/build/src/customize/customizeAsync.js +6 -8
  62. package/build/src/customize/customizeAsync.js.map +1 -1
  63. package/build/src/customize/generate.js +16 -20
  64. package/build/src/customize/generate.js.map +1 -1
  65. package/build/src/customize/index.js +12 -14
  66. package/build/src/customize/index.js.map +1 -1
  67. package/build/src/customize/resolveOptions.js +2 -4
  68. package/build/src/customize/resolveOptions.js.map +1 -1
  69. package/build/src/customize/templates.js +54 -58
  70. package/build/src/customize/templates.js.map +1 -1
  71. package/build/src/customize/typescript.js +7 -11
  72. package/build/src/customize/typescript.js.map +1 -1
  73. package/build/src/export/createMetadataJson.js +9 -11
  74. package/build/src/export/createMetadataJson.js.map +1 -1
  75. package/build/src/export/embed/exportEager.js +6 -8
  76. package/build/src/export/embed/exportEager.js.map +1 -1
  77. package/build/src/export/embed/exportEmbedAsync.js +61 -71
  78. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  79. package/build/src/export/embed/exportServer.js +55 -57
  80. package/build/src/export/embed/exportServer.js.map +1 -1
  81. package/build/src/export/embed/index.js +40 -44
  82. package/build/src/export/embed/index.js.map +1 -1
  83. package/build/src/export/embed/resolveOptions.js +36 -44
  84. package/build/src/export/embed/resolveOptions.js.map +1 -1
  85. package/build/src/export/embed/xcodeCompilerLogger.js +27 -39
  86. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  87. package/build/src/export/exportApp.js +63 -67
  88. package/build/src/export/exportApp.js.map +1 -1
  89. package/build/src/export/exportAssets.js +27 -35
  90. package/build/src/export/exportAssets.js.map +1 -1
  91. package/build/src/export/exportAsync.js +9 -13
  92. package/build/src/export/exportAsync.js.map +1 -1
  93. package/build/src/export/exportDomComponents.js +45 -53
  94. package/build/src/export/exportDomComponents.js.map +1 -1
  95. package/build/src/export/exportHermes.js +63 -85
  96. package/build/src/export/exportHermes.js.map +1 -1
  97. package/build/src/export/exportStaticAsync.js +62 -72
  98. package/build/src/export/exportStaticAsync.js.map +1 -1
  99. package/build/src/export/favicon.js +27 -33
  100. package/build/src/export/favicon.js.map +1 -1
  101. package/build/src/export/getPublicExpoManifest.js +5 -7
  102. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  103. package/build/src/export/getResolvedLocales.js +9 -11
  104. package/build/src/export/getResolvedLocales.js.map +1 -1
  105. package/build/src/export/html.js +6 -10
  106. package/build/src/export/html.js.map +1 -1
  107. package/build/src/export/index.js +28 -32
  108. package/build/src/export/index.js.map +1 -1
  109. package/build/src/export/metroAssetLocalPath.js +30 -36
  110. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  111. package/build/src/export/persistMetroAssets.js +34 -42
  112. package/build/src/export/persistMetroAssets.js.map +1 -1
  113. package/build/src/export/publicFolder.js +6 -10
  114. package/build/src/export/publicFolder.js.map +1 -1
  115. package/build/src/export/resolveOptions.js +24 -28
  116. package/build/src/export/resolveOptions.js.map +1 -1
  117. package/build/src/export/saveAssets.js +46 -50
  118. package/build/src/export/saveAssets.js.map +1 -1
  119. package/build/src/export/web/exportWebAsync.js +11 -13
  120. package/build/src/export/web/exportWebAsync.js.map +1 -1
  121. package/build/src/export/web/index.js +15 -19
  122. package/build/src/export/web/index.js.map +1 -1
  123. package/build/src/export/web/resolveOptions.js +3 -5
  124. package/build/src/export/web/resolveOptions.js.map +1 -1
  125. package/build/src/export/writeContents.js +2 -4
  126. package/build/src/export/writeContents.js.map +1 -1
  127. package/build/src/graphql/generated.js +274 -400
  128. package/build/src/graphql/generated.js.map +1 -1
  129. package/build/src/install/applyPlugins.js +8 -11
  130. package/build/src/install/applyPlugins.js.map +1 -1
  131. package/build/src/install/checkPackages.js +22 -26
  132. package/build/src/install/checkPackages.js.map +1 -1
  133. package/build/src/install/fixPackages.js +13 -17
  134. package/build/src/install/fixPackages.js.map +1 -1
  135. package/build/src/install/index.js +16 -18
  136. package/build/src/install/index.js.map +1 -1
  137. package/build/src/install/installAsync.js +26 -32
  138. package/build/src/install/installAsync.js.map +1 -1
  139. package/build/src/install/installExpoPackage.js +18 -22
  140. package/build/src/install/installExpoPackage.js.map +1 -1
  141. package/build/src/install/resolveOptions.js +19 -21
  142. package/build/src/install/resolveOptions.js.map +1 -1
  143. package/build/src/install/utils/autoAddConfigPlugins.js +14 -18
  144. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  145. package/build/src/install/utils/checkPackagesCompatibility.js +11 -13
  146. package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
  147. package/build/src/install/utils/parsePackageSpecifier.js +22 -0
  148. package/build/src/install/utils/parsePackageSpecifier.js.map +1 -0
  149. package/build/src/lint/ESlintPrerequisite.js +44 -50
  150. package/build/src/lint/ESlintPrerequisite.js.map +1 -1
  151. package/build/src/lint/index.js +8 -12
  152. package/build/src/lint/index.js.map +1 -1
  153. package/build/src/lint/lintAsync.js +8 -10
  154. package/build/src/lint/lintAsync.js.map +1 -1
  155. package/build/src/log.js +16 -36
  156. package/build/src/log.js.map +1 -1
  157. package/build/src/login/index.js +20 -24
  158. package/build/src/login/index.js.map +1 -1
  159. package/build/src/logout/index.js +7 -11
  160. package/build/src/logout/index.js.map +1 -1
  161. package/build/src/prebuild/clearNativeFolder.js +26 -38
  162. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  163. package/build/src/prebuild/configureProjectAsync.js +14 -18
  164. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  165. package/build/src/prebuild/copyTemplateFiles.js +13 -17
  166. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  167. package/build/src/prebuild/ensureConfigAsync.js +4 -6
  168. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  169. package/build/src/prebuild/index.js +32 -36
  170. package/build/src/prebuild/index.js.map +1 -1
  171. package/build/src/prebuild/prebuildAsync.js +25 -29
  172. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  173. package/build/src/prebuild/renameTemplateAppName.js +40 -46
  174. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  175. package/build/src/prebuild/resolveOptions.js +52 -66
  176. package/build/src/prebuild/resolveOptions.js.map +1 -1
  177. package/build/src/prebuild/resolveTemplate.js +32 -36
  178. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  179. package/build/src/prebuild/updateFromTemplate.js +13 -19
  180. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  181. package/build/src/prebuild/updatePackageJson.js +39 -53
  182. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  183. package/build/src/prebuild/validateTemplatePlatforms.js +8 -12
  184. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  185. package/build/src/register/index.js +7 -11
  186. package/build/src/register/index.js.map +1 -1
  187. package/build/src/register/registerAsync.js +3 -5
  188. package/build/src/register/registerAsync.js.map +1 -1
  189. package/build/src/run/android/index.js +32 -36
  190. package/build/src/run/android/index.js.map +1 -1
  191. package/build/src/run/android/resolveDevice.js +8 -10
  192. package/build/src/run/android/resolveDevice.js.map +1 -1
  193. package/build/src/run/android/resolveGradlePropsAsync.js +16 -18
  194. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  195. package/build/src/run/android/resolveInstallApkName.js +15 -17
  196. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  197. package/build/src/run/android/resolveLaunchProps.js +10 -12
  198. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  199. package/build/src/run/android/resolveOptions.js +2 -4
  200. package/build/src/run/android/resolveOptions.js.map +1 -1
  201. package/build/src/run/android/runAndroidAsync.js +21 -23
  202. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  203. package/build/src/run/ensureNativeProject.js +5 -7
  204. package/build/src/run/ensureNativeProject.js.map +1 -1
  205. package/build/src/run/hints.js +7 -13
  206. package/build/src/run/hints.js.map +1 -1
  207. package/build/src/run/index.js +23 -27
  208. package/build/src/run/index.js.map +1 -1
  209. package/build/src/run/ios/XcodeBuild.js +56 -74
  210. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  211. package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
  212. package/build/src/run/ios/appleDevice/AppleDevice.js +63 -69
  213. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  214. package/build/src/run/ios/appleDevice/ClientManager.js +26 -29
  215. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  216. package/build/src/run/ios/appleDevice/client/AFCClient.js +25 -28
  217. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  218. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +26 -29
  219. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  220. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -22
  221. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  222. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +29 -32
  223. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  224. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +24 -28
  225. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  226. package/build/src/run/ios/appleDevice/client/ServiceClient.js +4 -7
  227. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  228. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +27 -28
  229. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  230. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +17 -23
  231. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  232. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +132 -146
  233. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  234. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +21 -29
  235. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  236. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +21 -29
  237. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  238. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +22 -34
  239. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  240. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +17 -27
  241. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  242. package/build/src/run/ios/codeSigning/Security.js +39 -53
  243. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  244. package/build/src/run/ios/codeSigning/configureCodeSigning.js +9 -13
  245. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  246. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +19 -27
  247. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  248. package/build/src/run/ios/codeSigning/settings.js +5 -9
  249. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  250. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +12 -14
  251. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  252. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +21 -27
  253. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  254. package/build/src/run/ios/index.js +36 -40
  255. package/build/src/run/ios/index.js.map +1 -1
  256. package/build/src/run/ios/launchApp.js +17 -23
  257. package/build/src/run/ios/launchApp.js.map +1 -1
  258. package/build/src/run/ios/options/appleDestinations.js +36 -38
  259. package/build/src/run/ios/options/appleDestinations.js.map +1 -1
  260. package/build/src/run/ios/options/promptDevice.js +16 -20
  261. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  262. package/build/src/run/ios/options/resolveDevice.js +24 -30
  263. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  264. package/build/src/run/ios/options/resolveNativeScheme.js +23 -31
  265. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  266. package/build/src/run/ios/options/resolveOptions.js +5 -7
  267. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  268. package/build/src/run/ios/options/resolveXcodeProject.js +5 -7
  269. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  270. package/build/src/run/ios/runIosAsync.js +44 -48
  271. package/build/src/run/ios/runIosAsync.js.map +1 -1
  272. package/build/src/run/ios/validateExternalBinary.js +22 -24
  273. package/build/src/run/ios/validateExternalBinary.js.map +1 -1
  274. package/build/src/run/resolveBundlerProps.js +2 -4
  275. package/build/src/run/resolveBundlerProps.js.map +1 -1
  276. package/build/src/run/startBundler.js +12 -16
  277. package/build/src/run/startBundler.js.map +1 -1
  278. package/build/src/serve/index.js +16 -20
  279. package/build/src/serve/index.js.map +1 -1
  280. package/build/src/serve/serveAsync.js +32 -36
  281. package/build/src/serve/serveAsync.js.map +1 -1
  282. package/build/src/start/detectDevClient.js +9 -13
  283. package/build/src/start/detectDevClient.js.map +1 -1
  284. package/build/src/start/doctor/Prerequisite.js +7 -12
  285. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  286. package/build/src/start/doctor/SecurityBinPrerequisite.js +11 -13
  287. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  288. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +19 -23
  289. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  290. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +19 -23
  291. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  292. package/build/src/start/doctor/apple/XcodePrerequisite.js +45 -51
  293. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  294. package/build/src/start/doctor/apple/XcrunPrerequisite.js +16 -18
  295. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  296. package/build/src/start/doctor/dependencies/bundledNativeModules.js +19 -23
  297. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  298. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +25 -31
  299. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  300. package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -25
  301. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  302. package/build/src/start/doctor/dependencies/getVersionedPackages.js +32 -40
  303. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  304. package/build/src/start/doctor/dependencies/resolvePackages.js +26 -32
  305. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  306. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +31 -41
  307. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  308. package/build/src/start/doctor/ngrok/ExternalModule.js +29 -34
  309. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  310. package/build/src/start/doctor/ngrok/NgrokResolver.js +8 -12
  311. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  312. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +28 -32
  313. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  314. package/build/src/start/doctor/typescript/updateTSConfig.js +17 -23
  315. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  316. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +27 -33
  317. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  318. package/build/src/start/index.js +42 -46
  319. package/build/src/start/index.js.map +1 -1
  320. package/build/src/start/interface/KeyPressHandler.js +14 -18
  321. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  322. package/build/src/start/interface/commandsTable.js +80 -94
  323. package/build/src/start/interface/commandsTable.js.map +1 -1
  324. package/build/src/start/interface/interactiveActions.js +40 -44
  325. package/build/src/start/interface/interactiveActions.js.map +1 -1
  326. package/build/src/start/interface/startInterface.js +61 -65
  327. package/build/src/start/interface/startInterface.js.map +1 -1
  328. package/build/src/start/platforms/AppIdResolver.js +4 -6
  329. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  330. package/build/src/start/platforms/DeviceManager.js +6 -10
  331. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  332. package/build/src/start/platforms/ExpoGoInstaller.js +20 -25
  333. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  334. package/build/src/start/platforms/PlatformManager.js +15 -17
  335. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  336. package/build/src/start/platforms/android/ADBServer.js +35 -39
  337. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  338. package/build/src/start/platforms/android/AndroidAppIdResolver.js +16 -18
  339. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  340. package/build/src/start/platforms/android/AndroidDeviceManager.js +20 -24
  341. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  342. package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
  343. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  344. package/build/src/start/platforms/android/AndroidSdk.js +9 -11
  345. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  346. package/build/src/start/platforms/android/activateWindow.js +22 -26
  347. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  348. package/build/src/start/platforms/android/adb.js +83 -121
  349. package/build/src/start/platforms/android/adb.js.map +1 -1
  350. package/build/src/start/platforms/android/adbReverse.js +12 -20
  351. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  352. package/build/src/start/platforms/android/emulator.js +26 -36
  353. package/build/src/start/platforms/android/emulator.js.map +1 -1
  354. package/build/src/start/platforms/android/getDevices.js +5 -7
  355. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  356. package/build/src/start/platforms/android/gradle.js +28 -36
  357. package/build/src/start/platforms/android/gradle.js.map +1 -1
  358. package/build/src/start/platforms/android/promptAndroidDevice.js +15 -19
  359. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  360. package/build/src/start/platforms/ios/AppleAppIdResolver.js +19 -21
  361. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  362. package/build/src/start/platforms/ios/AppleDeviceManager.js +31 -37
  363. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  364. package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
  365. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  366. package/build/src/start/platforms/ios/assertSystemRequirements.js +7 -9
  367. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  368. package/build/src/start/platforms/ios/devicectl.js +73 -87
  369. package/build/src/start/platforms/ios/devicectl.js.map +1 -1
  370. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +18 -22
  371. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  372. package/build/src/start/platforms/ios/getBestSimulator.js +19 -29
  373. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  374. package/build/src/start/platforms/ios/promptAppleDevice.js +10 -14
  375. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  376. package/build/src/start/platforms/ios/simctl.js +74 -102
  377. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  378. package/build/src/start/platforms/ios/simctlLogging.js +52 -57
  379. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  380. package/build/src/start/platforms/ios/xcrun.js +18 -22
  381. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  382. package/build/src/start/project/devices.js +9 -19
  383. package/build/src/start/project/devices.js.map +1 -1
  384. package/build/src/start/project/dotExpo.js +11 -15
  385. package/build/src/start/project/dotExpo.js.map +1 -1
  386. package/build/src/start/project/settings.js +2 -4
  387. package/build/src/start/project/settings.js.map +1 -1
  388. package/build/src/start/resolveOptions.js +40 -48
  389. package/build/src/start/resolveOptions.js.map +1 -1
  390. package/build/src/start/server/AsyncNgrok.js +51 -55
  391. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  392. package/build/src/start/server/AsyncWsTunnel.js +36 -40
  393. package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
  394. package/build/src/start/server/BundlerDevServer.js +79 -81
  395. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  396. package/build/src/start/server/DevServerManager.js +38 -42
  397. package/build/src/start/server/DevServerManager.js.map +1 -1
  398. package/build/src/start/server/DevToolsPluginManager.js +14 -18
  399. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  400. package/build/src/start/server/DevelopmentSession.js +14 -18
  401. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  402. package/build/src/start/server/ReactDevToolsProxy.js +10 -16
  403. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  404. package/build/src/start/server/UrlCreator.js +33 -36
  405. package/build/src/start/server/UrlCreator.js.map +1 -1
  406. package/build/src/start/server/getStaticRenderFunctions.js +21 -29
  407. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  408. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +4 -6
  409. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
  410. package/build/src/start/server/metro/MetroBundlerDevServer.js +275 -269
  411. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  412. package/build/src/start/server/metro/MetroTerminalReporter.js +56 -63
  413. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  414. package/build/src/start/server/metro/TerminalReporter.js +33 -39
  415. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  416. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  417. package/build/src/start/server/metro/createExpoMetroResolver.js +40 -46
  418. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  419. package/build/src/start/server/metro/createJResolver.js +28 -32
  420. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  421. package/build/src/start/server/metro/createServerComponentsMiddleware.js +92 -96
  422. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  423. package/build/src/start/server/metro/createServerRouteMiddleware.js +30 -32
  424. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  425. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +11 -13
  426. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
  427. package/build/src/start/server/metro/debugging/MessageHandler.js +1 -3
  428. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  429. package/build/src/start/server/metro/debugging/attachAtlas.js +22 -26
  430. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
  431. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +17 -19
  432. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  433. package/build/src/start/server/metro/debugging/createHandlersFactory.js +31 -25
  434. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  435. package/build/src/start/server/metro/debugging/getDebuggerType.js +4 -6
  436. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  437. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +8 -14
  438. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  439. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +5 -7
  440. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  441. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +6 -8
  442. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  443. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +5 -7
  444. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  445. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +12 -14
  446. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
  447. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +10 -14
  448. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  449. package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -6
  450. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  451. package/build/src/start/server/metro/debugging/types.js.map +1 -1
  452. package/build/src/start/server/metro/dev-server/createEventSocket.js +16 -18
  453. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
  454. package/build/src/start/server/metro/dev-server/createMessageSocket.js +21 -23
  455. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
  456. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +21 -23
  457. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
  458. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +2 -4
  459. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
  460. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +2 -4
  461. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
  462. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +4 -8
  463. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
  464. package/build/src/start/server/metro/externals.js +25 -33
  465. package/build/src/start/server/metro/externals.js.map +1 -1
  466. package/build/src/start/server/metro/fetchRouterManifest.js +12 -16
  467. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  468. package/build/src/start/server/metro/formatFileCandidates.js +9 -11
  469. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  470. package/build/src/start/server/metro/getCssModulesFromBundler.js +18 -22
  471. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  472. package/build/src/start/server/metro/instantiateMetro.js +79 -85
  473. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  474. package/build/src/start/server/metro/log-box/LogBoxLog.js +36 -40
  475. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
  476. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +14 -20
  477. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
  478. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +6 -10
  479. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
  480. package/build/src/start/server/metro/metroErrorInterface.js +78 -88
  481. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  482. package/build/src/start/server/metro/metroErrors.js +4 -8
  483. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  484. package/build/src/start/server/metro/metroPrivateServer.js +7 -9
  485. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
  486. package/build/src/start/server/metro/metroVirtualModules.js +8 -10
  487. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  488. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +22 -24
  489. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  490. package/build/src/start/server/metro/router.js +32 -48
  491. package/build/src/start/server/metro/router.js.map +1 -1
  492. package/build/src/start/server/metro/runServer-fork.js +22 -24
  493. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  494. package/build/src/start/server/metro/serializeHtml.js +22 -24
  495. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  496. package/build/src/start/server/metro/symbolicate.js.map +1 -1
  497. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +29 -35
  498. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  499. package/build/src/start/server/metro/withMetroMultiPlatform.js +139 -149
  500. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  501. package/build/src/start/server/metro/withMetroResolvers.js +39 -49
  502. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  503. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +6 -8
  504. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  505. package/build/src/start/server/middleware/CorsMiddleware.js +15 -17
  506. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  507. package/build/src/start/server/middleware/CreateFileMiddleware.js +90 -52
  508. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  509. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +19 -22
  510. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  511. package/build/src/start/server/middleware/DomComponentsMiddleware.js +27 -33
  512. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  513. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +60 -64
  514. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  515. package/build/src/start/server/middleware/ExpoMiddleware.js +9 -15
  516. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  517. package/build/src/start/server/middleware/FaviconMiddleware.js +14 -15
  518. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  519. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +2 -4
  520. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  521. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +31 -34
  522. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  523. package/build/src/start/server/middleware/ManifestMiddleware.js +56 -64
  524. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  525. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +19 -23
  526. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  527. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +19 -20
  528. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  529. package/build/src/start/server/middleware/ServeStaticMiddleware.js +9 -11
  530. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  531. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +11 -17
  532. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
  533. package/build/src/start/server/middleware/inspector/CdpClient.js +10 -12
  534. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
  535. package/build/src/start/server/middleware/inspector/JsInspector.js +27 -35
  536. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  537. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +19 -21
  538. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  539. package/build/src/start/server/middleware/inspector/middlwareMutations.js +2 -6
  540. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  541. package/build/src/start/server/middleware/metroOptions.js +96 -120
  542. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  543. package/build/src/start/server/middleware/mutations.js +3 -7
  544. package/build/src/start/server/middleware/mutations.js.map +1 -1
  545. package/build/src/start/server/middleware/resolveAssets.js +18 -26
  546. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  547. package/build/src/start/server/middleware/resolvePlatform.js +15 -23
  548. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  549. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +9 -11
  550. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
  551. package/build/src/start/server/middleware/server.types.js.map +1 -1
  552. package/build/src/start/server/openPlatforms.js +8 -10
  553. package/build/src/start/server/openPlatforms.js.map +1 -1
  554. package/build/src/start/server/platformBundlers.js +11 -13
  555. package/build/src/start/server/platformBundlers.js.map +1 -1
  556. package/build/src/start/server/serverLogLikeMetro.js +50 -58
  557. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  558. package/build/src/start/server/type-generation/expo-env.js +7 -11
  559. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  560. package/build/src/start/server/type-generation/routes.js +54 -76
  561. package/build/src/start/server/type-generation/routes.js.map +1 -1
  562. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +19 -21
  563. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  564. package/build/src/start/server/type-generation/tsconfig.js +28 -36
  565. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  566. package/build/src/start/server/webTemplate.js +24 -28
  567. package/build/src/start/server/webTemplate.js.map +1 -1
  568. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +46 -52
  569. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  570. package/build/src/start/server/webpack/compile.js +11 -15
  571. package/build/src/start/server/webpack/compile.js.map +1 -1
  572. package/build/src/start/server/webpack/formatWebpackMessages.js +26 -28
  573. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  574. package/build/src/start/server/webpack/resolveFromProject.js +12 -18
  575. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  576. package/build/src/start/server/webpack/tls.js +12 -18
  577. package/build/src/start/server/webpack/tls.js.map +1 -1
  578. package/build/src/start/startAsync.js +27 -31
  579. package/build/src/start/startAsync.js.map +1 -1
  580. package/build/src/utils/FileNotifier.js +17 -20
  581. package/build/src/utils/FileNotifier.js.map +1 -1
  582. package/build/src/utils/ansi.js +5 -7
  583. package/build/src/utils/ansi.js.map +1 -1
  584. package/build/src/utils/args.js +14 -24
  585. package/build/src/utils/args.js.map +1 -1
  586. package/build/src/utils/array.js +6 -18
  587. package/build/src/utils/array.js.map +1 -1
  588. package/build/src/utils/cocoapods.js +46 -54
  589. package/build/src/utils/cocoapods.js.map +1 -1
  590. package/build/src/utils/codesigning.js +68 -78
  591. package/build/src/utils/codesigning.js.map +1 -1
  592. package/build/src/utils/createFileTransform.js +12 -16
  593. package/build/src/utils/createFileTransform.js.map +1 -1
  594. package/build/src/utils/createTempPath.js +13 -17
  595. package/build/src/utils/createTempPath.js.map +1 -1
  596. package/build/src/utils/delay.js +6 -12
  597. package/build/src/utils/delay.js.map +1 -1
  598. package/build/src/utils/dir.js +28 -46
  599. package/build/src/utils/dir.js.map +1 -1
  600. package/build/src/utils/downloadAppAsync.js +8 -10
  601. package/build/src/utils/downloadAppAsync.js.map +1 -1
  602. package/build/src/utils/downloadExpoGoAsync.js +21 -25
  603. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  604. package/build/src/utils/editor.js +35 -41
  605. package/build/src/utils/editor.js.map +1 -1
  606. package/build/src/utils/env.js +59 -63
  607. package/build/src/utils/env.js.map +1 -1
  608. package/build/src/utils/errors.js +30 -37
  609. package/build/src/utils/errors.js.map +1 -1
  610. package/build/src/utils/exit.js +31 -35
  611. package/build/src/utils/exit.js.map +1 -1
  612. package/build/src/utils/expoUpdatesCli.js +22 -32
  613. package/build/src/utils/expoUpdatesCli.js.map +1 -1
  614. package/build/src/utils/fetch.js +4 -8
  615. package/build/src/utils/fetch.js.map +1 -1
  616. package/build/src/utils/filePath.js +6 -10
  617. package/build/src/utils/filePath.js.map +1 -1
  618. package/build/src/utils/findUp.js +9 -13
  619. package/build/src/utils/findUp.js.map +1 -1
  620. package/build/src/utils/fn.js +2 -6
  621. package/build/src/utils/fn.js.map +1 -1
  622. package/build/src/utils/getOrPromptApplicationId.js +26 -32
  623. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  624. package/build/src/utils/getRunningProcess.js +21 -29
  625. package/build/src/utils/getRunningProcess.js.map +1 -1
  626. package/build/src/utils/git.js +20 -26
  627. package/build/src/utils/git.js.map +1 -1
  628. package/build/src/utils/glob.js +4 -8
  629. package/build/src/utils/glob.js.map +1 -1
  630. package/build/src/utils/interactive.js +1 -3
  631. package/build/src/utils/interactive.js.map +1 -1
  632. package/build/src/utils/ip.js +19 -21
  633. package/build/src/utils/ip.js.map +1 -1
  634. package/build/src/utils/isModuleSymlinked.js +9 -11
  635. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  636. package/build/src/utils/jsonSchemaDeref.js +18 -20
  637. package/build/src/utils/jsonSchemaDeref.js.map +1 -1
  638. package/build/src/utils/link.js +13 -17
  639. package/build/src/utils/link.js.map +1 -1
  640. package/build/src/utils/mergeGitIgnorePaths.js +28 -46
  641. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  642. package/build/src/utils/modifyConfigAsync.js +10 -16
  643. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  644. package/build/src/utils/modifyConfigPlugins.js +6 -10
  645. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  646. package/build/src/utils/nodeEnv.js +6 -12
  647. package/build/src/utils/nodeEnv.js.map +1 -1
  648. package/build/src/utils/nodeModules.js +8 -10
  649. package/build/src/utils/nodeModules.js.map +1 -1
  650. package/build/src/utils/npm.js +36 -50
  651. package/build/src/utils/npm.js.map +1 -1
  652. package/build/src/utils/obj.js +5 -11
  653. package/build/src/utils/obj.js.map +1 -1
  654. package/build/src/utils/open.js +8 -10
  655. package/build/src/utils/open.js.map +1 -1
  656. package/build/src/utils/ora.js +7 -13
  657. package/build/src/utils/ora.js.map +1 -1
  658. package/build/src/utils/plist.js +15 -21
  659. package/build/src/utils/plist.js.map +1 -1
  660. package/build/src/utils/port.js +33 -43
  661. package/build/src/utils/port.js.map +1 -1
  662. package/build/src/utils/profile.js +7 -11
  663. package/build/src/utils/profile.js.map +1 -1
  664. package/build/src/utils/progress.js +5 -11
  665. package/build/src/utils/progress.js.map +1 -1
  666. package/build/src/utils/prompts.js +29 -47
  667. package/build/src/utils/prompts.js.map +1 -1
  668. package/build/src/utils/resolveArgs.js +24 -36
  669. package/build/src/utils/resolveArgs.js.map +1 -1
  670. package/build/src/utils/scheme.js +32 -40
  671. package/build/src/utils/scheme.js.map +1 -1
  672. package/build/src/utils/stream.js +3 -5
  673. package/build/src/utils/stream.js.map +1 -1
  674. package/build/src/utils/strings.js +4 -6
  675. package/build/src/utils/strings.js.map +1 -1
  676. package/build/src/utils/tar.js +15 -19
  677. package/build/src/utils/tar.js.map +1 -1
  678. package/build/src/utils/telemetry/Telemetry.js +27 -29
  679. package/build/src/utils/telemetry/Telemetry.js.map +1 -1
  680. package/build/src/utils/telemetry/clients/FetchClient.js +13 -15
  681. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
  682. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +22 -26
  683. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
  684. package/build/src/utils/telemetry/clients/RudderClient.js +8 -10
  685. package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
  686. package/build/src/utils/telemetry/clients/RudderDetachedClient.js +22 -26
  687. package/build/src/utils/telemetry/clients/RudderDetachedClient.js.map +1 -1
  688. package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
  689. package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
  690. package/build/src/utils/telemetry/clients/flushRudderDetached.js +10 -10
  691. package/build/src/utils/telemetry/clients/flushRudderDetached.js.map +1 -1
  692. package/build/src/utils/telemetry/events.js +2 -4
  693. package/build/src/utils/telemetry/events.js.map +1 -1
  694. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  695. package/build/src/utils/telemetry/index.js +29 -25
  696. package/build/src/utils/telemetry/index.js.map +1 -1
  697. package/build/src/utils/telemetry/types.js.map +1 -1
  698. package/build/src/utils/telemetry/utils/constants.js +4 -8
  699. package/build/src/utils/telemetry/utils/constants.js.map +1 -1
  700. package/build/src/utils/telemetry/utils/context.js +14 -18
  701. package/build/src/utils/telemetry/utils/context.js.map +1 -1
  702. package/build/src/utils/template.js +4 -6
  703. package/build/src/utils/template.js.map +1 -1
  704. package/build/src/utils/terminal.js +2 -4
  705. package/build/src/utils/terminal.js.map +1 -1
  706. package/build/src/utils/tsconfig/evaluateTsConfig.js +17 -21
  707. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  708. package/build/src/utils/tsconfig/loadTsConfigPaths.js +14 -18
  709. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  710. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +5 -7
  711. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  712. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -14
  713. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  714. package/build/src/utils/url.js +13 -23
  715. package/build/src/utils/url.js.map +1 -1
  716. package/build/src/utils/validateApplicationId.js +86 -108
  717. package/build/src/utils/validateApplicationId.js.map +1 -1
  718. package/build/src/utils/variadic.js +16 -22
  719. package/build/src/utils/variadic.js.map +1 -1
  720. package/build/src/whoami/index.js +7 -11
  721. package/build/src/whoami/index.js.map +1 -1
  722. package/build/src/whoami/whoamiAsync.js +7 -11
  723. package/build/src/whoami/whoamiAsync.js.map +1 -1
  724. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/server/middleware/RuntimeRedirectMiddleware.ts"],"sourcesContent":["import { parse } from 'url';\n\nimport { disableResponseCache, ExpoMiddleware } from './ExpoMiddleware';\nimport {\n assertMissingRuntimePlatform,\n assertRuntimePlatform,\n parsePlatformHeader,\n resolvePlatformFromUserAgentHeader,\n RuntimePlatform,\n} from './resolvePlatform';\nimport { ServerRequest, ServerResponse } from './server.types';\nimport * as Log from '../../../log';\n\nconst debug = require('debug')(\n 'expo:start:server:middleware:runtimeRedirect'\n) as typeof console.log;\n\n/** Runtime to target: expo = Expo Go, custom = Dev Client. */\ntype RuntimeTarget = 'expo' | 'custom';\n\nexport type DeepLinkHandler = (props: {\n runtime: RuntimeTarget;\n platform: RuntimePlatform;\n}) => void | Promise<void>;\n\nexport class RuntimeRedirectMiddleware extends ExpoMiddleware {\n constructor(\n protected projectRoot: string,\n protected options: {\n onDeepLink?: DeepLinkHandler;\n getLocation: (props: { runtime: RuntimeTarget }) => string | null | undefined;\n }\n ) {\n super(projectRoot, ['/_expo/link']);\n }\n\n async handleRequestAsync(req: ServerRequest, res: ServerResponse): Promise<void> {\n const { query } = parse(req.url!, true);\n const isDevClient = query['choice'] === 'expo-dev-client';\n const platform = parsePlatformHeader(req) ?? resolvePlatformFromUserAgentHeader(req);\n assertMissingRuntimePlatform(platform);\n assertRuntimePlatform(platform);\n const runtime = isDevClient ? 'custom' : 'expo';\n\n debug(`props:`, { platform, runtime });\n\n this.options.onDeepLink?.({ runtime, platform });\n\n const redirect = this.options.getLocation({ runtime });\n if (!redirect) {\n Log.warn(\n `[redirect middleware]: Unable to determine redirect location for runtime '${runtime}' and platform '${platform}'`\n );\n res.statusCode = 404;\n res.end();\n return;\n }\n debug('Redirect ->', redirect);\n res.setHeader('Location', redirect);\n\n // Disable caching\n disableResponseCache(res);\n\n // 'Temporary Redirect'\n res.statusCode = 307;\n res.end();\n }\n}\n"],"names":["RuntimeRedirectMiddleware","debug","require","ExpoMiddleware","constructor","projectRoot","options","handleRequestAsync","req","res","query","parse","url","isDevClient","platform","parsePlatformHeader","resolvePlatformFromUserAgentHeader","assertMissingRuntimePlatform","assertRuntimePlatform","runtime","onDeepLink","redirect","getLocation","Log","warn","statusCode","end","setHeader","disableResponseCache"],"mappings":";;;;+BAyBaA;;;eAAAA;;;;yBAzBS;;;;;;gCAE+B;iCAO9C;6DAEc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAErB,MAAMC,QAAQC,QAAQ,SACpB;AAWK,MAAMF,kCAAkCG,8BAAc;IAC3DC,YACE,AAAUC,WAAmB,EAC7B,AAAUC,OAGT,CACD;QACA,KAAK,CAACD,aAAa;YAAC;SAAc,QANxBA,cAAAA,kBACAC,UAAAA;IAMZ;IAEA,MAAMC,mBAAmBC,GAAkB,EAAEC,GAAmB,EAAiB;QAC/E,MAAM,EAAEC,KAAK,EAAE,GAAGC,IAAAA,YAAK,EAACH,IAAII,GAAG,EAAG;QAClC,MAAMC,cAAcH,KAAK,CAAC,SAAS,KAAK;QACxC,MAAMI,WAAWC,IAAAA,oCAAmB,EAACP,QAAQQ,IAAAA,mDAAkC,EAACR;QAChFS,IAAAA,6CAA4B,EAACH;QAC7BI,IAAAA,sCAAqB,EAACJ;QACtB,MAAMK,UAAUN,cAAc,WAAW;QAEzCZ,MAAM,CAAC,MAAM,CAAC,EAAE;YAAEa;YAAUK;QAAQ;QAEpC,IAAI,CAACb,OAAO,CAACc,UAAU,oBAAvB,IAAI,CAACd,OAAO,CAACc,UAAU,MAAvB,IAAI,CAACd,OAAO,EAAc;YAAEa;YAASL;QAAS;QAE9C,MAAMO,WAAW,IAAI,CAACf,OAAO,CAACgB,WAAW,CAAC;YAAEH;QAAQ;QACpD,IAAI,CAACE,UAAU;YACbE,KAAIC,IAAI,CACN,CAAC,0EAA0E,EAAEL,QAAQ,gBAAgB,EAAEL,SAAS,CAAC,CAAC;YAEpHL,IAAIgB,UAAU,GAAG;YACjBhB,IAAIiB,GAAG;YACP;QACF;QACAzB,MAAM,eAAeoB;QACrBZ,IAAIkB,SAAS,CAAC,YAAYN;QAE1B,kBAAkB;QAClBO,IAAAA,oCAAoB,EAACnB;QAErB,uBAAuB;QACvBA,IAAIgB,UAAU,GAAG;QACjBhB,IAAIiB,GAAG;IACT;AACF"}
1
+ {"version":3,"sources":["../../../../../src/start/server/middleware/RuntimeRedirectMiddleware.ts"],"sourcesContent":["import { parse } from 'url';\n\nimport { disableResponseCache, ExpoMiddleware } from './ExpoMiddleware';\nimport {\n assertMissingRuntimePlatform,\n assertRuntimePlatform,\n parsePlatformHeader,\n resolvePlatformFromUserAgentHeader,\n RuntimePlatform,\n} from './resolvePlatform';\nimport { ServerRequest, ServerResponse } from './server.types';\nimport * as Log from '../../../log';\n\nconst debug = require('debug')(\n 'expo:start:server:middleware:runtimeRedirect'\n) as typeof console.log;\n\n/** Runtime to target: expo = Expo Go, custom = Dev Client. */\ntype RuntimeTarget = 'expo' | 'custom';\n\nexport type DeepLinkHandler = (props: {\n runtime: RuntimeTarget;\n platform: RuntimePlatform;\n}) => void | Promise<void>;\n\nexport class RuntimeRedirectMiddleware extends ExpoMiddleware {\n constructor(\n protected projectRoot: string,\n protected options: {\n onDeepLink?: DeepLinkHandler;\n getLocation: (props: { runtime: RuntimeTarget }) => string | null | undefined;\n }\n ) {\n super(projectRoot, ['/_expo/link']);\n }\n\n async handleRequestAsync(req: ServerRequest, res: ServerResponse): Promise<void> {\n const { query } = parse(req.url!, true);\n const isDevClient = query['choice'] === 'expo-dev-client';\n const platform = parsePlatformHeader(req) ?? resolvePlatformFromUserAgentHeader(req);\n assertMissingRuntimePlatform(platform);\n assertRuntimePlatform(platform);\n const runtime = isDevClient ? 'custom' : 'expo';\n\n debug(`props:`, { platform, runtime });\n\n this.options.onDeepLink?.({ runtime, platform });\n\n const redirect = this.options.getLocation({ runtime });\n if (!redirect) {\n Log.warn(\n `[redirect middleware]: Unable to determine redirect location for runtime '${runtime}' and platform '${platform}'`\n );\n res.statusCode = 404;\n res.end();\n return;\n }\n debug('Redirect ->', redirect);\n res.setHeader('Location', redirect);\n\n // Disable caching\n disableResponseCache(res);\n\n // 'Temporary Redirect'\n res.statusCode = 307;\n res.end();\n }\n}\n"],"names":["RuntimeRedirectMiddleware","debug","require","ExpoMiddleware","constructor","projectRoot","options","handleRequestAsync","req","res","query","parse","url","isDevClient","platform","parsePlatformHeader","resolvePlatformFromUserAgentHeader","assertMissingRuntimePlatform","assertRuntimePlatform","runtime","onDeepLink","redirect","getLocation","Log","warn","statusCode","end","setHeader","disableResponseCache"],"mappings":"AAAA;;;;+BAyBaA,2BAAyB;;aAAzBA,yBAAyB;;;yBAzBhB,KAAK;;;;;;gCAE0B,kBAAkB;iCAOhE,mBAAmB;2DAEL,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEnC,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAC5B,8CAA8C,CAC/C,AAAsB,AAAC;AAUjB,MAAMF,yBAAyB,SAASG,eAAc,eAAA;IAC3DC,YACYC,WAAmB,EACnBC,OAGT,CACD;QACA,KAAK,CAACD,WAAW,EAAE;YAAC,aAAa;SAAC,CAAC,CAAC;QAN1BA,mBAAAA,WAAmB,CAAA;QACnBC,eAAAA,OAGT,CAAA;IAGH;UAEMC,kBAAkB,CAACC,GAAkB,EAAEC,GAAmB,EAAiB;YAU/E,QAAY,AAAW,EAAvB,GAAuB;QATvB,MAAM,EAAEC,KAAK,CAAA,EAAE,GAAGC,IAAAA,IAAK,EAAA,MAAA,EAACH,GAAG,CAACI,GAAG,EAAG,IAAI,CAAC,AAAC;QACxC,MAAMC,WAAW,GAAGH,KAAK,CAAC,QAAQ,CAAC,KAAK,iBAAiB,AAAC;QAC1D,MAAMI,QAAQ,GAAGC,IAAAA,gBAAmB,oBAAA,EAACP,GAAG,CAAC,IAAIQ,IAAAA,gBAAkC,mCAAA,EAACR,GAAG,CAAC,AAAC;QACrFS,IAAAA,gBAA4B,6BAAA,EAACH,QAAQ,CAAC,CAAC;QACvCI,IAAAA,gBAAqB,sBAAA,EAACJ,QAAQ,CAAC,CAAC;QAChC,MAAMK,OAAO,GAAGN,WAAW,GAAG,QAAQ,GAAG,MAAM,AAAC;QAEhDZ,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE;YAAEa,QAAQ;YAAEK,OAAO;SAAE,CAAC,CAAC;QAEvC,CAAA,GAAuB,GAAvB,CAAA,QAAY,GAAZ,IAAI,CAACb,OAAO,EAACc,UAAU,SAAyB,GAAhD,KAAA,CAAgD,GAAhD,GAAuB,CAAvB,IAAgD,CAAhD,QAAY,EAAc;YAAED,OAAO;YAAEL,QAAQ;SAAE,CAAC,CAAC;QAEjD,MAAMO,QAAQ,GAAG,IAAI,CAACf,OAAO,CAACgB,WAAW,CAAC;YAAEH,OAAO;SAAE,CAAC,AAAC;QACvD,IAAI,CAACE,QAAQ,EAAE;YACbE,IAAG,CAACC,IAAI,CACN,CAAC,0EAA0E,EAAEL,OAAO,CAAC,gBAAgB,EAAEL,QAAQ,CAAC,CAAC,CAAC,CACnH,CAAC;YACFL,GAAG,CAACgB,UAAU,GAAG,GAAG,CAAC;YACrBhB,GAAG,CAACiB,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACDzB,KAAK,CAAC,aAAa,EAAEoB,QAAQ,CAAC,CAAC;QAC/BZ,GAAG,CAACkB,SAAS,CAAC,UAAU,EAAEN,QAAQ,CAAC,CAAC;QAEpC,kBAAkB;QAClBO,IAAAA,eAAoB,qBAAA,EAACnB,GAAG,CAAC,CAAC;QAE1B,uBAAuB;QACvBA,GAAG,CAACgB,UAAU,GAAG,GAAG,CAAC;QACrBhB,GAAG,CAACiB,GAAG,EAAE,CAAC;IACZ;CACD"}
@@ -4,19 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "ServeStaticMiddleware", {
6
6
  enumerable: true,
7
- get: function() {
8
- return ServeStaticMiddleware;
9
- }
7
+ get: ()=>ServeStaticMiddleware
10
8
  });
11
9
  function _path() {
12
- const data = /*#__PURE__*/ _interop_require_default(require("path"));
10
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
13
11
  _path = function() {
14
12
  return data;
15
13
  };
16
14
  return data;
17
15
  }
18
16
  function _send() {
19
- const data = /*#__PURE__*/ _interop_require_default(require("send"));
17
+ const data = /*#__PURE__*/ _interopRequireDefault(require("send"));
20
18
  _send = function() {
21
19
  return data;
22
20
  };
@@ -31,12 +29,12 @@ function _url() {
31
29
  }
32
30
  const _resolvePlatform = require("./resolvePlatform");
33
31
  const _env = require("../../../utils/env");
34
- function _interop_require_default(obj) {
32
+ function _interopRequireDefault(obj) {
35
33
  return obj && obj.__esModule ? obj : {
36
34
  default: obj
37
35
  };
38
36
  }
39
- const debug = require('debug')('expo:start:server:middleware:serveStatic');
37
+ const debug = require("debug")("expo:start:server:middleware:serveStatic");
40
38
  class ServeStaticMiddleware {
41
39
  constructor(projectRoot){
42
40
  this.projectRoot = projectRoot;
@@ -48,12 +46,12 @@ class ServeStaticMiddleware {
48
46
  root: publicPath
49
47
  };
50
48
  return (req, res, next)=>{
51
- if (!(req == null ? void 0 : req.url) || req.method !== 'GET' && req.method !== 'HEAD') {
49
+ if (!(req == null ? void 0 : req.url) || req.method !== "GET" && req.method !== "HEAD") {
52
50
  return next();
53
51
  }
54
52
  const platform = (0, _resolvePlatform.parsePlatformHeader)(req);
55
53
  // Currently this is web-only
56
- if (platform && platform !== 'web') {
54
+ if (platform && platform !== "web") {
57
55
  return next();
58
56
  }
59
57
  const pathname = (0, _url().parse)(req.url).pathname;
@@ -64,12 +62,12 @@ class ServeStaticMiddleware {
64
62
  const stream = (0, _send().default)(req, pathname, opts);
65
63
  // add file listener for fallthrough
66
64
  let forwardError = false;
67
- stream.on('file', function onFile() {
65
+ stream.on("file", function onFile() {
68
66
  // once file is determined, always forward error
69
67
  forwardError = true;
70
68
  });
71
69
  // forward errors
72
- stream.on('error', function error(err) {
70
+ stream.on("error", function error(err) {
73
71
  if (forwardError || !(err.statusCode < 500)) {
74
72
  next(err);
75
73
  return;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/server/middleware/ServeStaticMiddleware.ts"],"sourcesContent":["import path from 'path';\nimport send from 'send';\nimport { parse } from 'url';\n\nimport { parsePlatformHeader } from './resolvePlatform';\nimport { ServerRequest, ServerResponse } from './server.types';\nimport { env } from '../../../utils/env';\n\nconst debug = require('debug')('expo:start:server:middleware:serveStatic') as typeof console.log;\n\n/**\n * Adds support for serving the files in the static `public/` folder to web apps.\n */\nexport class ServeStaticMiddleware {\n constructor(private projectRoot: string) {}\n getHandler() {\n const publicPath = path.join(this.projectRoot, env.EXPO_PUBLIC_FOLDER);\n\n debug(`Serving static files from:`, publicPath);\n const opts = {\n root: publicPath,\n };\n return (req: ServerRequest, res: ServerResponse, next: any) => {\n if (!req?.url || (req.method !== 'GET' && req.method !== 'HEAD')) {\n return next();\n }\n\n const platform = parsePlatformHeader(req);\n // Currently this is web-only\n if (platform && platform !== 'web') {\n return next();\n }\n\n const pathname = parse(req.url).pathname;\n if (!pathname) {\n return next();\n }\n\n debug(`Maybe serve static:`, pathname);\n const stream = send(req, pathname, opts);\n\n // add file listener for fallthrough\n let forwardError = false;\n stream.on('file', function onFile() {\n // once file is determined, always forward error\n forwardError = true;\n });\n\n // forward errors\n stream.on('error', function error(err: any) {\n if (forwardError || !(err.statusCode < 500)) {\n next(err);\n return;\n }\n\n next();\n });\n\n // pipe\n stream.pipe(res);\n };\n }\n}\n"],"names":["ServeStaticMiddleware","debug","require","constructor","projectRoot","getHandler","publicPath","path","join","env","EXPO_PUBLIC_FOLDER","opts","root","req","res","next","url","method","platform","parsePlatformHeader","pathname","parse","stream","send","forwardError","on","onFile","error","err","statusCode","pipe"],"mappings":";;;;+BAaaA;;;eAAAA;;;;gEAbI;;;;;;;gEACA;;;;;;;yBACK;;;;;;iCAEc;qBAEhB;;;;;;AAEpB,MAAMC,QAAQC,QAAQ,SAAS;AAKxB,MAAMF;IACXG,YAAY,AAAQC,WAAmB,CAAE;aAArBA,cAAAA;IAAsB;IAC1CC,aAAa;QACX,MAAMC,aAAaC,eAAI,CAACC,IAAI,CAAC,IAAI,CAACJ,WAAW,EAAEK,QAAG,CAACC,kBAAkB;QAErET,MAAM,CAAC,0BAA0B,CAAC,EAAEK;QACpC,MAAMK,OAAO;YACXC,MAAMN;QACR;QACA,OAAO,CAACO,KAAoBC,KAAqBC;YAC/C,IAAI,EAACF,uBAAAA,IAAKG,GAAG,KAAKH,IAAII,MAAM,KAAK,SAASJ,IAAII,MAAM,KAAK,QAAS;gBAChE,OAAOF;YACT;YAEA,MAAMG,WAAWC,IAAAA,oCAAmB,EAACN;YACrC,6BAA6B;YAC7B,IAAIK,YAAYA,aAAa,OAAO;gBAClC,OAAOH;YACT;YAEA,MAAMK,WAAWC,IAAAA,YAAK,EAACR,IAAIG,GAAG,EAAEI,QAAQ;YACxC,IAAI,CAACA,UAAU;gBACb,OAAOL;YACT;YAEAd,MAAM,CAAC,mBAAmB,CAAC,EAAEmB;YAC7B,MAAME,SAASC,IAAAA,eAAI,EAACV,KAAKO,UAAUT;YAEnC,oCAAoC;YACpC,IAAIa,eAAe;YACnBF,OAAOG,EAAE,CAAC,QAAQ,SAASC;gBACzB,gDAAgD;gBAChDF,eAAe;YACjB;YAEA,iBAAiB;YACjBF,OAAOG,EAAE,CAAC,SAAS,SAASE,MAAMC,GAAQ;gBACxC,IAAIJ,gBAAgB,CAAEI,CAAAA,IAAIC,UAAU,GAAG,GAAE,GAAI;oBAC3Cd,KAAKa;oBACL;gBACF;gBAEAb;YACF;YAEA,OAAO;YACPO,OAAOQ,IAAI,CAAChB;QACd;IACF;AACF"}
1
+ {"version":3,"sources":["../../../../../src/start/server/middleware/ServeStaticMiddleware.ts"],"sourcesContent":["import path from 'path';\nimport send from 'send';\nimport { parse } from 'url';\n\nimport { parsePlatformHeader } from './resolvePlatform';\nimport { ServerRequest, ServerResponse } from './server.types';\nimport { env } from '../../../utils/env';\n\nconst debug = require('debug')('expo:start:server:middleware:serveStatic') as typeof console.log;\n\n/**\n * Adds support for serving the files in the static `public/` folder to web apps.\n */\nexport class ServeStaticMiddleware {\n constructor(private projectRoot: string) {}\n getHandler() {\n const publicPath = path.join(this.projectRoot, env.EXPO_PUBLIC_FOLDER);\n\n debug(`Serving static files from:`, publicPath);\n const opts = {\n root: publicPath,\n };\n return (req: ServerRequest, res: ServerResponse, next: any) => {\n if (!req?.url || (req.method !== 'GET' && req.method !== 'HEAD')) {\n return next();\n }\n\n const platform = parsePlatformHeader(req);\n // Currently this is web-only\n if (platform && platform !== 'web') {\n return next();\n }\n\n const pathname = parse(req.url).pathname;\n if (!pathname) {\n return next();\n }\n\n debug(`Maybe serve static:`, pathname);\n const stream = send(req, pathname, opts);\n\n // add file listener for fallthrough\n let forwardError = false;\n stream.on('file', function onFile() {\n // once file is determined, always forward error\n forwardError = true;\n });\n\n // forward errors\n stream.on('error', function error(err: any) {\n if (forwardError || !(err.statusCode < 500)) {\n next(err);\n return;\n }\n\n next();\n });\n\n // pipe\n stream.pipe(res);\n };\n }\n}\n"],"names":["ServeStaticMiddleware","debug","require","constructor","projectRoot","getHandler","publicPath","path","join","env","EXPO_PUBLIC_FOLDER","opts","root","req","res","next","url","method","platform","parsePlatformHeader","pathname","parse","stream","send","forwardError","on","onFile","error","err","statusCode","pipe"],"mappings":"AAAA;;;;+BAaaA,uBAAqB;;aAArBA,qBAAqB;;;8DAbjB,MAAM;;;;;;;8DACN,MAAM;;;;;;;yBACD,KAAK;;;;;;iCAES,mBAAmB;qBAEnC,oBAAoB;;;;;;AAExC,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,0CAA0C,CAAC,AAAsB,AAAC;AAK1F,MAAMF,qBAAqB;IAChCG,YAAoBC,WAAmB,CAAE;QAArBA,mBAAAA,WAAmB,CAAA;IAAG;IAC1CC,UAAU,GAAG;QACX,MAAMC,UAAU,GAAGC,KAAI,EAAA,QAAA,CAACC,IAAI,CAAC,IAAI,CAACJ,WAAW,EAAEK,IAAG,IAAA,CAACC,kBAAkB,CAAC,AAAC;QAEvET,KAAK,CAAC,CAAC,0BAA0B,CAAC,EAAEK,UAAU,CAAC,CAAC;QAChD,MAAMK,IAAI,GAAG;YACXC,IAAI,EAAEN,UAAU;SACjB,AAAC;QACF,OAAO,CAACO,GAAkB,EAAEC,GAAmB,EAAEC,IAAS,GAAK;YAC7D,IAAI,CAACF,CAAAA,GAAG,QAAK,GAARA,KAAAA,CAAQ,GAARA,GAAG,CAAEG,GAAG,CAAA,IAAKH,GAAG,CAACI,MAAM,KAAK,KAAK,IAAIJ,GAAG,CAACI,MAAM,KAAK,MAAM,AAAC,EAAE;gBAChE,OAAOF,IAAI,EAAE,CAAC;YAChB,CAAC;YAED,MAAMG,QAAQ,GAAGC,IAAAA,gBAAmB,oBAAA,EAACN,GAAG,CAAC,AAAC;YAC1C,6BAA6B;YAC7B,IAAIK,QAAQ,IAAIA,QAAQ,KAAK,KAAK,EAAE;gBAClC,OAAOH,IAAI,EAAE,CAAC;YAChB,CAAC;YAED,MAAMK,QAAQ,GAAGC,IAAAA,IAAK,EAAA,MAAA,EAACR,GAAG,CAACG,GAAG,CAAC,CAACI,QAAQ,AAAC;YACzC,IAAI,CAACA,QAAQ,EAAE;gBACb,OAAOL,IAAI,EAAE,CAAC;YAChB,CAAC;YAEDd,KAAK,CAAC,CAAC,mBAAmB,CAAC,EAAEmB,QAAQ,CAAC,CAAC;YACvC,MAAME,MAAM,GAAGC,IAAAA,KAAI,EAAA,QAAA,EAACV,GAAG,EAAEO,QAAQ,EAAET,IAAI,CAAC,AAAC;YAEzC,oCAAoC;YACpC,IAAIa,YAAY,GAAG,KAAK,AAAC;YACzBF,MAAM,CAACG,EAAE,CAAC,MAAM,EAAE,SAASC,MAAM,GAAG;gBAClC,gDAAgD;gBAChDF,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,iBAAiB;YACjBF,MAAM,CAACG,EAAE,CAAC,OAAO,EAAE,SAASE,KAAK,CAACC,GAAQ,EAAE;gBAC1C,IAAIJ,YAAY,IAAI,CAAC,CAACI,GAAG,CAACC,UAAU,GAAG,GAAG,CAAC,EAAE;oBAC3Cd,IAAI,CAACa,GAAG,CAAC,CAAC;oBACV,OAAO;gBACT,CAAC;gBAEDb,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,OAAO;YACPO,MAAM,CAACQ,IAAI,CAAChB,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC;IACJ;CACD"}
@@ -9,15 +9,9 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- createBuiltinAPIRequestHandler: function() {
13
- return createBuiltinAPIRequestHandler;
14
- },
15
- createRequestHandler: function() {
16
- return createRequestHandler;
17
- },
18
- winterNext: function() {
19
- return winterNext;
20
- }
12
+ createBuiltinAPIRequestHandler: ()=>createBuiltinAPIRequestHandler,
13
+ createRequestHandler: ()=>createRequestHandler,
14
+ winterNext: ()=>winterNext
21
15
  });
22
16
  function _http() {
23
17
  const data = require("@expo/server/build/vendor/http");
@@ -44,20 +38,20 @@ function createRequestHandler(handleRequest) {
44
38
  return next();
45
39
  }
46
40
  // These headers (added by other middleware) break the browser preview of RSC.
47
- res.removeHeader('X-Content-Type-Options');
48
- res.removeHeader('Cache-Control');
49
- res.removeHeader('Expires');
50
- res.removeHeader('Surrogate-Control');
41
+ res.removeHeader("X-Content-Type-Options");
42
+ res.removeHeader("Cache-Control");
43
+ res.removeHeader("Expires");
44
+ res.removeHeader("Surrogate-Control");
51
45
  try {
52
46
  const request = (0, _http().convertRequest)(req, res);
53
47
  const response = await handleRequest(request);
54
48
  return await (0, _http().respond)(res, response);
55
49
  } catch (error) {
56
50
  if (error instanceof Error) {
57
- return await (0, _http().respond)(res, new Response('Internal Server Error: ' + error.message, {
51
+ return await (0, _http().respond)(res, new Response("Internal Server Error: " + error.message, {
58
52
  status: 500,
59
53
  headers: {
60
- 'Content-Type': 'text/plain'
54
+ "Content-Type": "text/plain"
61
55
  }
62
56
  }));
63
57
  } else if (error instanceof Response) {
@@ -71,10 +65,10 @@ function createRequestHandler(handleRequest) {
71
65
  };
72
66
  }
73
67
  function notAllowed() {
74
- throw new Response('Method Not Allowed', {
68
+ throw new Response("Method Not Allowed", {
75
69
  status: 405,
76
70
  headers: {
77
- 'Content-Type': 'text/plain'
71
+ "Content-Type": "text/plain"
78
72
  }
79
73
  });
80
74
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/server/middleware/createBuiltinAPIRequestHandler.ts"],"sourcesContent":["import { convertRequest, RequestHandler, respond } from '@expo/server/build/vendor/http';\n\nimport type { ServerNext, ServerRequest, ServerResponse } from './server.types';\n\nexport function createBuiltinAPIRequestHandler(\n matchRequest: (request: Request) => boolean,\n handlers: Record<string, (req: Request) => Promise<Response>>\n): RequestHandler {\n return createRequestHandler((req) => {\n if (!matchRequest(req)) {\n winterNext();\n }\n const handler = handlers[req.method];\n if (!handler) {\n notAllowed();\n }\n return handler(req);\n });\n}\n\n/**\n * Returns a request handler for http that serves the response using Remix.\n */\nexport function createRequestHandler(\n handleRequest: (request: Request) => Promise<Response>\n): RequestHandler {\n return async (req: ServerRequest, res: ServerResponse, next: ServerNext) => {\n if (!req?.url || !req.method) {\n return next();\n }\n // These headers (added by other middleware) break the browser preview of RSC.\n res.removeHeader('X-Content-Type-Options');\n res.removeHeader('Cache-Control');\n res.removeHeader('Expires');\n res.removeHeader('Surrogate-Control');\n\n try {\n const request = convertRequest(req, res);\n const response = await handleRequest(request);\n return await respond(res, response);\n } catch (error: unknown) {\n if (error instanceof Error) {\n return await respond(\n res,\n new Response('Internal Server Error: ' + error.message, {\n status: 500,\n headers: {\n 'Content-Type': 'text/plain',\n },\n })\n );\n } else if (error instanceof Response) {\n return await respond(res, error);\n }\n // http doesn't support async functions, so we have to pass along the\n // error manually using next().\n // @ts-expect-error\n next(error);\n }\n };\n}\n\nfunction notAllowed(): never {\n throw new Response('Method Not Allowed', {\n status: 405,\n headers: {\n 'Content-Type': 'text/plain',\n },\n });\n}\n\nexport function winterNext(): never {\n // eslint-disable-next-line no-throw-literal\n throw undefined;\n}\n"],"names":["createBuiltinAPIRequestHandler","createRequestHandler","winterNext","matchRequest","handlers","req","handler","method","notAllowed","handleRequest","res","next","url","removeHeader","request","convertRequest","response","respond","error","Error","Response","message","status","headers","undefined"],"mappings":";;;;;;;;;;;IAIgBA,8BAA8B;eAA9BA;;IAmBAC,oBAAoB;eAApBA;;IAgDAC,UAAU;eAAVA;;;;yBAvEwC;;;;;;AAIjD,SAASF,+BACdG,YAA2C,EAC3CC,QAA6D;IAE7D,OAAOH,qBAAqB,CAACI;QAC3B,IAAI,CAACF,aAAaE,MAAM;YACtBH;QACF;QACA,MAAMI,UAAUF,QAAQ,CAACC,IAAIE,MAAM,CAAC;QACpC,IAAI,CAACD,SAAS;YACZE;QACF;QACA,OAAOF,QAAQD;IACjB;AACF;AAKO,SAASJ,qBACdQ,aAAsD;IAEtD,OAAO,OAAOJ,KAAoBK,KAAqBC;QACrD,IAAI,EAACN,uBAAAA,IAAKO,GAAG,KAAI,CAACP,IAAIE,MAAM,EAAE;YAC5B,OAAOI;QACT;QACA,8EAA8E;QAC9ED,IAAIG,YAAY,CAAC;QACjBH,IAAIG,YAAY,CAAC;QACjBH,IAAIG,YAAY,CAAC;QACjBH,IAAIG,YAAY,CAAC;QAEjB,IAAI;YACF,MAAMC,UAAUC,IAAAA,sBAAc,EAACV,KAAKK;YACpC,MAAMM,WAAW,MAAMP,cAAcK;YACrC,OAAO,MAAMG,IAAAA,eAAO,EAACP,KAAKM;QAC5B,EAAE,OAAOE,OAAgB;YACvB,IAAIA,iBAAiBC,OAAO;gBAC1B,OAAO,MAAMF,IAAAA,eAAO,EAClBP,KACA,IAAIU,SAAS,4BAA4BF,MAAMG,OAAO,EAAE;oBACtDC,QAAQ;oBACRC,SAAS;wBACP,gBAAgB;oBAClB;gBACF;YAEJ,OAAO,IAAIL,iBAAiBE,UAAU;gBACpC,OAAO,MAAMH,IAAAA,eAAO,EAACP,KAAKQ;YAC5B;YACA,qEAAqE;YACrE,+BAA+B;YAC/B,mBAAmB;YACnBP,KAAKO;QACP;IACF;AACF;AAEA,SAASV;IACP,MAAM,IAAIY,SAAS,sBAAsB;QACvCE,QAAQ;QACRC,SAAS;YACP,gBAAgB;QAClB;IACF;AACF;AAEO,SAASrB;IACd,4CAA4C;IAC5C,MAAMsB;AACR"}
1
+ {"version":3,"sources":["../../../../../src/start/server/middleware/createBuiltinAPIRequestHandler.ts"],"sourcesContent":["import { convertRequest, RequestHandler, respond } from '@expo/server/build/vendor/http';\n\nimport type { ServerNext, ServerRequest, ServerResponse } from './server.types';\n\nexport function createBuiltinAPIRequestHandler(\n matchRequest: (request: Request) => boolean,\n handlers: Record<string, (req: Request) => Promise<Response>>\n): RequestHandler {\n return createRequestHandler((req) => {\n if (!matchRequest(req)) {\n winterNext();\n }\n const handler = handlers[req.method];\n if (!handler) {\n notAllowed();\n }\n return handler(req);\n });\n}\n\n/**\n * Returns a request handler for http that serves the response using Remix.\n */\nexport function createRequestHandler(\n handleRequest: (request: Request) => Promise<Response>\n): RequestHandler {\n return async (req: ServerRequest, res: ServerResponse, next: ServerNext) => {\n if (!req?.url || !req.method) {\n return next();\n }\n // These headers (added by other middleware) break the browser preview of RSC.\n res.removeHeader('X-Content-Type-Options');\n res.removeHeader('Cache-Control');\n res.removeHeader('Expires');\n res.removeHeader('Surrogate-Control');\n\n try {\n const request = convertRequest(req, res);\n const response = await handleRequest(request);\n return await respond(res, response);\n } catch (error: unknown) {\n if (error instanceof Error) {\n return await respond(\n res,\n new Response('Internal Server Error: ' + error.message, {\n status: 500,\n headers: {\n 'Content-Type': 'text/plain',\n },\n })\n );\n } else if (error instanceof Response) {\n return await respond(res, error);\n }\n // http doesn't support async functions, so we have to pass along the\n // error manually using next().\n // @ts-expect-error\n next(error);\n }\n };\n}\n\nfunction notAllowed(): never {\n throw new Response('Method Not Allowed', {\n status: 405,\n headers: {\n 'Content-Type': 'text/plain',\n },\n });\n}\n\nexport function winterNext(): never {\n // eslint-disable-next-line no-throw-literal\n throw undefined;\n}\n"],"names":["createBuiltinAPIRequestHandler","createRequestHandler","winterNext","matchRequest","handlers","req","handler","method","notAllowed","handleRequest","res","next","url","removeHeader","request","convertRequest","response","respond","error","Error","Response","message","status","headers","undefined"],"mappings":"AAAA;;;;;;;;;;;IAIgBA,8BAA8B,MAA9BA,8BAA8B;IAmB9BC,oBAAoB,MAApBA,oBAAoB;IAgDpBC,UAAU,MAAVA,UAAU;;;yBAvE8B,gCAAgC;;;;;;AAIjF,SAASF,8BAA8B,CAC5CG,YAA2C,EAC3CC,QAA6D,EAC7C;IAChB,OAAOH,oBAAoB,CAAC,CAACI,GAAG,GAAK;QACnC,IAAI,CAACF,YAAY,CAACE,GAAG,CAAC,EAAE;YACtBH,UAAU,EAAE,CAAC;QACf,CAAC;QACD,MAAMI,OAAO,GAAGF,QAAQ,CAACC,GAAG,CAACE,MAAM,CAAC,AAAC;QACrC,IAAI,CAACD,OAAO,EAAE;YACZE,UAAU,EAAE,CAAC;QACf,CAAC;QACD,OAAOF,OAAO,CAACD,GAAG,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC;AAKM,SAASJ,oBAAoB,CAClCQ,aAAsD,EACtC;IAChB,OAAO,OAAOJ,GAAkB,EAAEK,GAAmB,EAAEC,IAAgB,GAAK;QAC1E,IAAI,CAACN,CAAAA,GAAG,QAAK,GAARA,KAAAA,CAAQ,GAARA,GAAG,CAAEO,GAAG,CAAA,IAAI,CAACP,GAAG,CAACE,MAAM,EAAE;YAC5B,OAAOI,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,8EAA8E;QAC9ED,GAAG,CAACG,YAAY,CAAC,wBAAwB,CAAC,CAAC;QAC3CH,GAAG,CAACG,YAAY,CAAC,eAAe,CAAC,CAAC;QAClCH,GAAG,CAACG,YAAY,CAAC,SAAS,CAAC,CAAC;QAC5BH,GAAG,CAACG,YAAY,CAAC,mBAAmB,CAAC,CAAC;QAEtC,IAAI;YACF,MAAMC,OAAO,GAAGC,IAAAA,KAAc,EAAA,eAAA,EAACV,GAAG,EAAEK,GAAG,CAAC,AAAC;YACzC,MAAMM,QAAQ,GAAG,MAAMP,aAAa,CAACK,OAAO,CAAC,AAAC;YAC9C,OAAO,MAAMG,IAAAA,KAAO,EAAA,QAAA,EAACP,GAAG,EAAEM,QAAQ,CAAC,CAAC;QACtC,EAAE,OAAOE,KAAK,EAAW;YACvB,IAAIA,KAAK,YAAYC,KAAK,EAAE;gBAC1B,OAAO,MAAMF,IAAAA,KAAO,EAAA,QAAA,EAClBP,GAAG,EACH,IAAIU,QAAQ,CAAC,yBAAyB,GAAGF,KAAK,CAACG,OAAO,EAAE;oBACtDC,MAAM,EAAE,GAAG;oBACXC,OAAO,EAAE;wBACP,cAAc,EAAE,YAAY;qBAC7B;iBACF,CAAC,CACH,CAAC;YACJ,OAAO,IAAIL,KAAK,YAAYE,QAAQ,EAAE;gBACpC,OAAO,MAAMH,IAAAA,KAAO,EAAA,QAAA,EAACP,GAAG,EAAEQ,KAAK,CAAC,CAAC;YACnC,CAAC;YACD,qEAAqE;YACrE,+BAA+B;YAC/B,mBAAmB;YACnBP,IAAI,CAACO,KAAK,CAAC,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAASV,UAAU,GAAU;IAC3B,MAAM,IAAIY,QAAQ,CAAC,oBAAoB,EAAE;QACvCE,MAAM,EAAE,GAAG;QACXC,OAAO,EAAE;YACP,cAAc,EAAE,YAAY;SAC7B;KACF,CAAC,CAAC;AACL,CAAC;AAEM,SAASrB,UAAU,GAAU;IAClC,4CAA4C;IAC5C,MAAMsB,SAAS,CAAC;AAClB,CAAC"}
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "evaluateJsFromCdpAsync", {
6
6
  enumerable: true,
7
- get: function() {
8
- return evaluateJsFromCdpAsync;
9
- }
7
+ get: ()=>evaluateJsFromCdpAsync
10
8
  });
11
9
  function _ws() {
12
10
  const data = require("ws");
@@ -15,7 +13,7 @@ function _ws() {
15
13
  };
16
14
  return data;
17
15
  }
18
- const debug = require('debug')('expo:start:server:middleware:inspector:CdpClient');
16
+ const debug = require("debug")("expo:start:server:middleware:inspector:CdpClient");
19
17
  function evaluateJsFromCdpAsync(webSocketDebuggerUrl, source, timeoutMs = 2000) {
20
18
  const REQUEST_ID = 0;
21
19
  let timeoutHandle;
@@ -24,40 +22,40 @@ function evaluateJsFromCdpAsync(webSocketDebuggerUrl, source, timeoutMs = 2000)
24
22
  const ws = new (_ws()).WebSocket(webSocketDebuggerUrl);
25
23
  timeoutHandle = setTimeout(()=>{
26
24
  debug(`[evaluateJsFromCdpAsync] Request timeout from ${webSocketDebuggerUrl}`);
27
- reject(new Error('Request timeout'));
25
+ reject(new Error("Request timeout"));
28
26
  settled = true;
29
27
  ws.close();
30
28
  }, timeoutMs);
31
- ws.on('open', ()=>{
29
+ ws.on("open", ()=>{
32
30
  ws.send(JSON.stringify({
33
31
  id: REQUEST_ID,
34
- method: 'Runtime.evaluate',
32
+ method: "Runtime.evaluate",
35
33
  params: {
36
34
  expression: source
37
35
  }
38
36
  }));
39
37
  });
40
- ws.on('error', (e)=>{
38
+ ws.on("error", (e)=>{
41
39
  debug(`[evaluateJsFromCdpAsync] Failed to connect ${webSocketDebuggerUrl}`, e);
42
40
  reject(e);
43
41
  settled = true;
44
42
  clearTimeout(timeoutHandle);
45
43
  ws.close();
46
44
  });
47
- ws.on('close', ()=>{
45
+ ws.on("close", ()=>{
48
46
  if (!settled) {
49
- reject(new Error('WebSocket closed before response was received.'));
47
+ reject(new Error("WebSocket closed before response was received."));
50
48
  clearTimeout(timeoutHandle);
51
49
  }
52
50
  });
53
- ws.on('message', (data)=>{
51
+ ws.on("message", (data)=>{
54
52
  debug(`[evaluateJsFromCdpAsync] message received from ${webSocketDebuggerUrl}: ${data.toString()}`);
55
53
  try {
56
54
  const response = JSON.parse(data.toString());
57
55
  if (response.id === REQUEST_ID) {
58
56
  if (response.error) {
59
57
  reject(new Error(response.error.message));
60
- } else if (response.result.result.type === 'string') {
58
+ } else if (response.result.result.type === "string") {
61
59
  resolve(response.result.result.value);
62
60
  } else {
63
61
  resolve(undefined);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/CdpClient.ts"],"sourcesContent":["import { WebSocket } from 'ws';\n\nconst debug = require('debug')(\n 'expo:start:server:middleware:inspector:CdpClient'\n) as typeof console.log;\n\nexport function evaluateJsFromCdpAsync(\n webSocketDebuggerUrl: string,\n source: string,\n timeoutMs: number = 2000\n): Promise<string | undefined> {\n const REQUEST_ID = 0;\n let timeoutHandle: NodeJS.Timeout;\n\n return new Promise((resolve, reject) => {\n let settled = false;\n const ws = new WebSocket(webSocketDebuggerUrl);\n\n timeoutHandle = setTimeout(() => {\n debug(`[evaluateJsFromCdpAsync] Request timeout from ${webSocketDebuggerUrl}`);\n reject(new Error('Request timeout'));\n settled = true;\n ws.close();\n }, timeoutMs);\n\n ws.on('open', () => {\n ws.send(\n JSON.stringify({\n id: REQUEST_ID,\n method: 'Runtime.evaluate',\n params: { expression: source },\n })\n );\n });\n\n ws.on('error', (e) => {\n debug(`[evaluateJsFromCdpAsync] Failed to connect ${webSocketDebuggerUrl}`, e);\n reject(e);\n settled = true;\n clearTimeout(timeoutHandle);\n ws.close();\n });\n\n ws.on('close', () => {\n if (!settled) {\n reject(new Error('WebSocket closed before response was received.'));\n clearTimeout(timeoutHandle);\n }\n });\n\n ws.on('message', (data) => {\n debug(\n `[evaluateJsFromCdpAsync] message received from ${webSocketDebuggerUrl}: ${data.toString()}`\n );\n try {\n const response = JSON.parse(data.toString());\n if (response.id === REQUEST_ID) {\n if (response.error) {\n reject(new Error(response.error.message));\n } else if (response.result.result.type === 'string') {\n resolve(response.result.result.value);\n } else {\n resolve(undefined);\n }\n settled = true;\n clearTimeout(timeoutHandle);\n ws.close();\n }\n } catch (e) {\n reject(e);\n settled = true;\n clearTimeout(timeoutHandle);\n ws.close();\n }\n });\n });\n}\n"],"names":["evaluateJsFromCdpAsync","debug","require","webSocketDebuggerUrl","source","timeoutMs","REQUEST_ID","timeoutHandle","Promise","resolve","reject","settled","ws","WebSocket","setTimeout","Error","close","on","send","JSON","stringify","id","method","params","expression","e","clearTimeout","data","toString","response","parse","error","message","result","type","value","undefined"],"mappings":";;;;+BAMgBA;;;eAAAA;;;;yBANU;;;;;;AAE1B,MAAMC,QAAQC,QAAQ,SACpB;AAGK,SAASF,uBACdG,oBAA4B,EAC5BC,MAAc,EACdC,YAAoB,IAAI;IAExB,MAAMC,aAAa;IACnB,IAAIC;IAEJ,OAAO,IAAIC,QAAQ,CAACC,SAASC;QAC3B,IAAIC,UAAU;QACd,MAAMC,KAAK,IAAIC,CAAAA,KAAQ,WAAC,CAACV;QAEzBI,gBAAgBO,WAAW;YACzBb,MAAM,CAAC,8CAA8C,EAAEE,sBAAsB;YAC7EO,OAAO,IAAIK,MAAM;YACjBJ,UAAU;YACVC,GAAGI,KAAK;QACV,GAAGX;QAEHO,GAAGK,EAAE,CAAC,QAAQ;YACZL,GAAGM,IAAI,CACLC,KAAKC,SAAS,CAAC;gBACbC,IAAIf;gBACJgB,QAAQ;gBACRC,QAAQ;oBAAEC,YAAYpB;gBAAO;YAC/B;QAEJ;QAEAQ,GAAGK,EAAE,CAAC,SAAS,CAACQ;YACdxB,MAAM,CAAC,2CAA2C,EAAEE,sBAAsB,EAAEsB;YAC5Ef,OAAOe;YACPd,UAAU;YACVe,aAAanB;YACbK,GAAGI,KAAK;QACV;QAEAJ,GAAGK,EAAE,CAAC,SAAS;YACb,IAAI,CAACN,SAAS;gBACZD,OAAO,IAAIK,MAAM;gBACjBW,aAAanB;YACf;QACF;QAEAK,GAAGK,EAAE,CAAC,WAAW,CAACU;YAChB1B,MACE,CAAC,+CAA+C,EAAEE,qBAAqB,EAAE,EAAEwB,KAAKC,QAAQ,IAAI;YAE9F,IAAI;gBACF,MAAMC,WAAWV,KAAKW,KAAK,CAACH,KAAKC,QAAQ;gBACzC,IAAIC,SAASR,EAAE,KAAKf,YAAY;oBAC9B,IAAIuB,SAASE,KAAK,EAAE;wBAClBrB,OAAO,IAAIK,MAAMc,SAASE,KAAK,CAACC,OAAO;oBACzC,OAAO,IAAIH,SAASI,MAAM,CAACA,MAAM,CAACC,IAAI,KAAK,UAAU;wBACnDzB,QAAQoB,SAASI,MAAM,CAACA,MAAM,CAACE,KAAK;oBACtC,OAAO;wBACL1B,QAAQ2B;oBACV;oBACAzB,UAAU;oBACVe,aAAanB;oBACbK,GAAGI,KAAK;gBACV;YACF,EAAE,OAAOS,GAAG;gBACVf,OAAOe;gBACPd,UAAU;gBACVe,aAAanB;gBACbK,GAAGI,KAAK;YACV;QACF;IACF;AACF"}
1
+ {"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/CdpClient.ts"],"sourcesContent":["import { WebSocket } from 'ws';\n\nconst debug = require('debug')(\n 'expo:start:server:middleware:inspector:CdpClient'\n) as typeof console.log;\n\nexport function evaluateJsFromCdpAsync(\n webSocketDebuggerUrl: string,\n source: string,\n timeoutMs: number = 2000\n): Promise<string | undefined> {\n const REQUEST_ID = 0;\n let timeoutHandle: NodeJS.Timeout;\n\n return new Promise((resolve, reject) => {\n let settled = false;\n const ws = new WebSocket(webSocketDebuggerUrl);\n\n timeoutHandle = setTimeout(() => {\n debug(`[evaluateJsFromCdpAsync] Request timeout from ${webSocketDebuggerUrl}`);\n reject(new Error('Request timeout'));\n settled = true;\n ws.close();\n }, timeoutMs);\n\n ws.on('open', () => {\n ws.send(\n JSON.stringify({\n id: REQUEST_ID,\n method: 'Runtime.evaluate',\n params: { expression: source },\n })\n );\n });\n\n ws.on('error', (e) => {\n debug(`[evaluateJsFromCdpAsync] Failed to connect ${webSocketDebuggerUrl}`, e);\n reject(e);\n settled = true;\n clearTimeout(timeoutHandle);\n ws.close();\n });\n\n ws.on('close', () => {\n if (!settled) {\n reject(new Error('WebSocket closed before response was received.'));\n clearTimeout(timeoutHandle);\n }\n });\n\n ws.on('message', (data) => {\n debug(\n `[evaluateJsFromCdpAsync] message received from ${webSocketDebuggerUrl}: ${data.toString()}`\n );\n try {\n const response = JSON.parse(data.toString());\n if (response.id === REQUEST_ID) {\n if (response.error) {\n reject(new Error(response.error.message));\n } else if (response.result.result.type === 'string') {\n resolve(response.result.result.value);\n } else {\n resolve(undefined);\n }\n settled = true;\n clearTimeout(timeoutHandle);\n ws.close();\n }\n } catch (e) {\n reject(e);\n settled = true;\n clearTimeout(timeoutHandle);\n ws.close();\n }\n });\n });\n}\n"],"names":["evaluateJsFromCdpAsync","debug","require","webSocketDebuggerUrl","source","timeoutMs","REQUEST_ID","timeoutHandle","Promise","resolve","reject","settled","ws","WebSocket","setTimeout","Error","close","on","send","JSON","stringify","id","method","params","expression","e","clearTimeout","data","toString","response","parse","error","message","result","type","value","undefined"],"mappings":"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"}
@@ -9,53 +9,45 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- openJsInspector: function() {
13
- return openJsInspector;
14
- },
15
- promptInspectorAppAsync: function() {
16
- return promptInspectorAppAsync;
17
- },
18
- queryAllInspectorAppsAsync: function() {
19
- return queryAllInspectorAppsAsync;
20
- },
21
- queryInspectorAppAsync: function() {
22
- return queryInspectorAppAsync;
23
- }
12
+ openJsInspector: ()=>openJsInspector,
13
+ queryInspectorAppAsync: ()=>queryInspectorAppAsync,
14
+ queryAllInspectorAppsAsync: ()=>queryAllInspectorAppsAsync,
15
+ promptInspectorAppAsync: ()=>promptInspectorAppAsync
24
16
  });
25
17
  function _chalk() {
26
- const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
18
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
27
19
  _chalk = function() {
28
20
  return data;
29
21
  };
30
22
  return data;
31
23
  }
32
- const _CdpClient = require("./CdpClient");
24
+ const _cdpClient = require("./CdpClient");
33
25
  const _prompts = require("../../../../utils/prompts");
34
26
  const _pageIsSupported = require("../../metro/debugging/pageIsSupported");
35
- function _interop_require_default(obj) {
27
+ function _interopRequireDefault(obj) {
36
28
  return obj && obj.__esModule ? obj : {
37
29
  default: obj
38
30
  };
39
31
  }
40
- const debug = require('debug')('expo:start:server:middleware:inspector:jsInspector');
32
+ const debug = require("debug")("expo:start:server:middleware:inspector:jsInspector");
41
33
  async function openJsInspector(metroBaseUrl, app) {
42
- var _app_reactNative;
43
- if (!((_app_reactNative = app.reactNative) == null ? void 0 : _app_reactNative.logicalDeviceId)) {
44
- debug('Failed to open React Native DevTools, target is missing device ID');
34
+ var ref;
35
+ if (!((ref = app.reactNative) == null ? void 0 : ref.logicalDeviceId)) {
36
+ debug("Failed to open React Native DevTools, target is missing device ID");
45
37
  return false;
46
38
  }
47
- const url = new URL('/open-debugger', metroBaseUrl);
48
- url.searchParams.set('appId', app.description);
49
- url.searchParams.set('device', app.reactNative.logicalDeviceId);
50
- url.searchParams.set('target', app.id);
39
+ const url = new URL("/open-debugger", metroBaseUrl);
40
+ url.searchParams.set("appId", app.description);
41
+ url.searchParams.set("device", app.reactNative.logicalDeviceId);
42
+ url.searchParams.set("target", app.id);
51
43
  // Request to open the React Native DevTools, but limit it to 1s
52
44
  // This is a workaround as this endpoint might not respond on some devices
53
45
  const response = await fetch(url, {
54
- method: 'POST',
46
+ method: "POST",
55
47
  signal: AbortSignal.timeout(1000)
56
48
  }).catch((error)=>{
57
49
  // Only swallow timeout errors
58
- if (error.name === 'TimeoutError') {
50
+ if (error.name === "TimeoutError") {
59
51
  return null;
60
52
  }
61
53
  throw error;
@@ -63,7 +55,7 @@ async function openJsInspector(metroBaseUrl, app) {
63
55
  if (!response) {
64
56
  debug(`No response received from the React Native DevTools.`);
65
57
  } else if (response.ok === false) {
66
- debug('Failed to open React Native DevTools, received response:', response.status);
58
+ debug("Failed to open React Native DevTools, received response:", response.status);
67
59
  }
68
60
  return (response == null ? void 0 : response.ok) ?? true;
69
61
  }
@@ -89,7 +81,7 @@ async function queryAllInspectorAppsAsync(metroServerOrigin) {
89
81
  return results;
90
82
  }
91
83
  async function promptInspectorAppAsync(apps) {
92
- var _choices_find;
84
+ var ref;
93
85
  if (apps.length === 1) {
94
86
  return apps[0];
95
87
  }
@@ -97,7 +89,7 @@ async function promptInspectorAppAsync(apps) {
97
89
  // In this case, append the actual app id (device ID + page number) to the prompt
98
90
  const hasDuplicateNames = apps.some((app, index)=>index !== apps.findIndex((other)=>app.deviceName === other.deviceName));
99
91
  const choices = apps.map((app)=>{
100
- const name = app.deviceName ?? 'Unknown device';
92
+ const name = app.deviceName ?? "Unknown device";
101
93
  return {
102
94
  title: hasDuplicateNames ? (0, _chalk().default)`${name}{dim - ${app.id}}` : name,
103
95
  value: app.id,
@@ -105,7 +97,7 @@ async function promptInspectorAppAsync(apps) {
105
97
  };
106
98
  });
107
99
  const value = await (0, _prompts.selectAsync)((0, _chalk().default)`Debug target {dim (Hermes only)}`, choices);
108
- return (_choices_find = choices.find((item)=>item.value === value)) == null ? void 0 : _choices_find.app;
100
+ return (ref = choices.find((item)=>item.value === value)) == null ? void 0 : ref.app;
109
101
  }
110
102
  // The description of `React Native Experimental (Improved Chrome Reloads)` target is `don't use` from metro.
111
103
  // This function tries to transform the unmeaningful description to appId
@@ -113,24 +105,24 @@ function transformApps(apps) {
113
105
  const deviceIdToAppId = {};
114
106
  for (const app of apps){
115
107
  if (app.description !== "don't use") {
116
- var _app_reactNative;
117
- const deviceId = ((_app_reactNative = app.reactNative) == null ? void 0 : _app_reactNative.logicalDeviceId) ?? app.id.split('-')[0];
108
+ var ref;
109
+ const deviceId = ((ref = app.reactNative) == null ? void 0 : ref.logicalDeviceId) ?? app.id.split("-")[0];
118
110
  const appId = app.description;
119
111
  deviceIdToAppId[deviceId] = appId;
120
112
  }
121
113
  }
122
114
  return apps.map((app)=>{
123
115
  if (app.description === "don't use") {
124
- var _app_reactNative;
125
- const deviceId = ((_app_reactNative = app.reactNative) == null ? void 0 : _app_reactNative.logicalDeviceId) ?? app.id.split('-')[0];
116
+ var ref;
117
+ const deviceId = ((ref = app.reactNative) == null ? void 0 : ref.logicalDeviceId) ?? app.id.split("-")[0];
126
118
  app.description = deviceIdToAppId[deviceId] ?? app.description;
127
119
  }
128
120
  return app;
129
121
  });
130
122
  }
131
- const HIDE_FROM_INSPECTOR_ENV = 'globalThis.__expo_hide_from_inspector__';
123
+ const HIDE_FROM_INSPECTOR_ENV = "globalThis.__expo_hide_from_inspector__";
132
124
  async function appShouldBeIgnoredAsync(app) {
133
- const hideFromInspector = await (0, _CdpClient.evaluateJsFromCdpAsync)(app.webSocketDebuggerUrl, HIDE_FROM_INSPECTOR_ENV);
125
+ const hideFromInspector = await (0, _cdpClient.evaluateJsFromCdpAsync)(app.webSocketDebuggerUrl, HIDE_FROM_INSPECTOR_ENV);
134
126
  debug(`[appShouldBeIgnoredAsync] webSocketDebuggerUrl[${app.webSocketDebuggerUrl}] hideFromInspector[${hideFromInspector}]`);
135
127
  return hideFromInspector !== undefined;
136
128
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/JsInspector.ts"],"sourcesContent":["import type { CustomMessageHandlerConnection } from '@react-native/dev-middleware';\nimport chalk from 'chalk';\n\nimport { evaluateJsFromCdpAsync } from './CdpClient';\nimport { selectAsync } from '../../../../utils/prompts';\nimport { pageIsSupported } from '../../metro/debugging/pageIsSupported';\n\nconst debug = require('debug')(\n 'expo:start:server:middleware:inspector:jsInspector'\n) as typeof console.log;\n\nexport interface MetroInspectorProxyApp {\n /** Unique device ID combined with the page ID */\n id: string;\n /** Information about the underlying CDP implementation, e.g. \"React Native Bridgeless [C++ connection]\" */\n title: string;\n /** The application ID that is currently running on the device, e.g. \"dev.expo.bareexpo\" */\n description: string;\n /** The CDP debugger type, which should always be \"node\" */\n type: 'node';\n /** The internal `devtools://..` URL for the debugger to connect to */\n devtoolsFrontendUrl: string;\n /** The websocket URL for the debugger to connect to */\n webSocketDebuggerUrl: string;\n /**\n * Human-readable device name\n * @since react-native@0.73\n */\n deviceName: string;\n /**\n * React Native specific information, like the unique device ID and native capabilities\n * @since react-native@0.74\n */\n reactNative?: {\n /** The unique device ID */\n logicalDeviceId: string;\n /** All supported native capabilities */\n capabilities: CustomMessageHandlerConnection['page']['capabilities'];\n };\n}\n\n/**\n * Launch the React Native DevTools by executing the `POST /open-debugger` request.\n * This endpoint is handled through `@react-native/dev-middleware`.\n */\nexport async function openJsInspector(metroBaseUrl: string, app: MetroInspectorProxyApp) {\n if (!app.reactNative?.logicalDeviceId) {\n debug('Failed to open React Native DevTools, target is missing device ID');\n return false;\n }\n\n const url = new URL('/open-debugger', metroBaseUrl);\n url.searchParams.set('appId', app.description);\n url.searchParams.set('device', app.reactNative.logicalDeviceId);\n url.searchParams.set('target', app.id);\n\n // Request to open the React Native DevTools, but limit it to 1s\n // This is a workaround as this endpoint might not respond on some devices\n const response = await fetch(url, {\n method: 'POST',\n signal: AbortSignal.timeout(1000),\n }).catch((error) => {\n // Only swallow timeout errors\n if (error.name === 'TimeoutError') {\n return null;\n }\n\n throw error;\n });\n\n if (!response) {\n debug(`No response received from the React Native DevTools.`);\n } else if (response.ok === false) {\n debug('Failed to open React Native DevTools, received response:', response.status);\n }\n\n return response?.ok ?? true;\n}\n\nexport async function queryInspectorAppAsync(\n metroServerOrigin: string,\n appId: string\n): Promise<MetroInspectorProxyApp | null> {\n const apps = await queryAllInspectorAppsAsync(metroServerOrigin);\n return apps.find((app) => app.description === appId) ?? null;\n}\n\nexport async function queryAllInspectorAppsAsync(\n metroServerOrigin: string\n): Promise<MetroInspectorProxyApp[]> {\n const resp = await fetch(`${metroServerOrigin}/json/list`);\n const apps: MetroInspectorProxyApp[] = transformApps(await resp.json());\n const results: MetroInspectorProxyApp[] = [];\n for (const app of apps) {\n // Only use targets with better reloading support\n if (!pageIsSupported(app)) {\n continue;\n }\n // Hide targets that are marked as hidden from the inspector, e.g. instances from expo-dev-menu and expo-dev-launcher.\n if (await appShouldBeIgnoredAsync(app)) {\n continue;\n }\n results.push(app);\n }\n return results;\n}\n\nexport async function promptInspectorAppAsync(apps: MetroInspectorProxyApp[]) {\n if (apps.length === 1) {\n return apps[0];\n }\n\n // Check if multiple devices are connected with the same device names\n // In this case, append the actual app id (device ID + page number) to the prompt\n const hasDuplicateNames = apps.some(\n (app, index) => index !== apps.findIndex((other) => app.deviceName === other.deviceName)\n );\n\n const choices = apps.map((app) => {\n const name = app.deviceName ?? 'Unknown device';\n return {\n title: hasDuplicateNames ? chalk`${name}{dim - ${app.id}}` : name,\n value: app.id,\n app,\n };\n });\n\n const value = await selectAsync(chalk`Debug target {dim (Hermes only)}`, choices);\n\n return choices.find((item) => item.value === value)?.app;\n}\n\n// The description of `React Native Experimental (Improved Chrome Reloads)` target is `don't use` from metro.\n// This function tries to transform the unmeaningful description to appId\nfunction transformApps(apps: MetroInspectorProxyApp[]): MetroInspectorProxyApp[] {\n const deviceIdToAppId: Record<string, string> = {};\n\n for (const app of apps) {\n if (app.description !== \"don't use\") {\n const deviceId = app.reactNative?.logicalDeviceId ?? app.id.split('-')[0];\n const appId = app.description;\n deviceIdToAppId[deviceId] = appId;\n }\n }\n\n return apps.map((app) => {\n if (app.description === \"don't use\") {\n const deviceId = app.reactNative?.logicalDeviceId ?? app.id.split('-')[0];\n app.description = deviceIdToAppId[deviceId] ?? app.description;\n }\n return app;\n });\n}\n\nconst HIDE_FROM_INSPECTOR_ENV = 'globalThis.__expo_hide_from_inspector__';\n\nasync function appShouldBeIgnoredAsync(app: MetroInspectorProxyApp): Promise<boolean> {\n const hideFromInspector = await evaluateJsFromCdpAsync(\n app.webSocketDebuggerUrl,\n HIDE_FROM_INSPECTOR_ENV\n );\n debug(\n `[appShouldBeIgnoredAsync] webSocketDebuggerUrl[${app.webSocketDebuggerUrl}] hideFromInspector[${hideFromInspector}]`\n );\n return hideFromInspector !== undefined;\n}\n"],"names":["openJsInspector","promptInspectorAppAsync","queryAllInspectorAppsAsync","queryInspectorAppAsync","debug","require","metroBaseUrl","app","reactNative","logicalDeviceId","url","URL","searchParams","set","description","id","response","fetch","method","signal","AbortSignal","timeout","catch","error","name","ok","status","metroServerOrigin","appId","apps","find","resp","transformApps","json","results","pageIsSupported","appShouldBeIgnoredAsync","push","choices","length","hasDuplicateNames","some","index","findIndex","other","deviceName","map","title","chalk","value","selectAsync","item","deviceIdToAppId","deviceId","split","HIDE_FROM_INSPECTOR_ENV","hideFromInspector","evaluateJsFromCdpAsync","webSocketDebuggerUrl","undefined"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/JsInspector.ts"],"sourcesContent":["import type { CustomMessageHandlerConnection } from '@react-native/dev-middleware';\nimport chalk from 'chalk';\n\nimport { evaluateJsFromCdpAsync } from './CdpClient';\nimport { selectAsync } from '../../../../utils/prompts';\nimport { pageIsSupported } from '../../metro/debugging/pageIsSupported';\n\nconst debug = require('debug')(\n 'expo:start:server:middleware:inspector:jsInspector'\n) as typeof console.log;\n\nexport interface MetroInspectorProxyApp {\n /** Unique device ID combined with the page ID */\n id: string;\n /** Information about the underlying CDP implementation, e.g. \"React Native Bridgeless [C++ connection]\" */\n title: string;\n /** The application ID that is currently running on the device, e.g. \"dev.expo.bareexpo\" */\n description: string;\n /** The CDP debugger type, which should always be \"node\" */\n type: 'node';\n /** The internal `devtools://..` URL for the debugger to connect to */\n devtoolsFrontendUrl: string;\n /** The websocket URL for the debugger to connect to */\n webSocketDebuggerUrl: string;\n /**\n * Human-readable device name\n * @since react-native@0.73\n */\n deviceName: string;\n /**\n * React Native specific information, like the unique device ID and native capabilities\n * @since react-native@0.74\n */\n reactNative?: {\n /** The unique device ID */\n logicalDeviceId: string;\n /** All supported native capabilities */\n capabilities: CustomMessageHandlerConnection['page']['capabilities'];\n };\n}\n\n/**\n * Launch the React Native DevTools by executing the `POST /open-debugger` request.\n * This endpoint is handled through `@react-native/dev-middleware`.\n */\nexport async function openJsInspector(metroBaseUrl: string, app: MetroInspectorProxyApp) {\n if (!app.reactNative?.logicalDeviceId) {\n debug('Failed to open React Native DevTools, target is missing device ID');\n return false;\n }\n\n const url = new URL('/open-debugger', metroBaseUrl);\n url.searchParams.set('appId', app.description);\n url.searchParams.set('device', app.reactNative.logicalDeviceId);\n url.searchParams.set('target', app.id);\n\n // Request to open the React Native DevTools, but limit it to 1s\n // This is a workaround as this endpoint might not respond on some devices\n const response = await fetch(url, {\n method: 'POST',\n signal: AbortSignal.timeout(1000),\n }).catch((error) => {\n // Only swallow timeout errors\n if (error.name === 'TimeoutError') {\n return null;\n }\n\n throw error;\n });\n\n if (!response) {\n debug(`No response received from the React Native DevTools.`);\n } else if (response.ok === false) {\n debug('Failed to open React Native DevTools, received response:', response.status);\n }\n\n return response?.ok ?? true;\n}\n\nexport async function queryInspectorAppAsync(\n metroServerOrigin: string,\n appId: string\n): Promise<MetroInspectorProxyApp | null> {\n const apps = await queryAllInspectorAppsAsync(metroServerOrigin);\n return apps.find((app) => app.description === appId) ?? null;\n}\n\nexport async function queryAllInspectorAppsAsync(\n metroServerOrigin: string\n): Promise<MetroInspectorProxyApp[]> {\n const resp = await fetch(`${metroServerOrigin}/json/list`);\n const apps: MetroInspectorProxyApp[] = transformApps(await resp.json());\n const results: MetroInspectorProxyApp[] = [];\n for (const app of apps) {\n // Only use targets with better reloading support\n if (!pageIsSupported(app)) {\n continue;\n }\n // Hide targets that are marked as hidden from the inspector, e.g. instances from expo-dev-menu and expo-dev-launcher.\n if (await appShouldBeIgnoredAsync(app)) {\n continue;\n }\n results.push(app);\n }\n return results;\n}\n\nexport async function promptInspectorAppAsync(apps: MetroInspectorProxyApp[]) {\n if (apps.length === 1) {\n return apps[0];\n }\n\n // Check if multiple devices are connected with the same device names\n // In this case, append the actual app id (device ID + page number) to the prompt\n const hasDuplicateNames = apps.some(\n (app, index) => index !== apps.findIndex((other) => app.deviceName === other.deviceName)\n );\n\n const choices = apps.map((app) => {\n const name = app.deviceName ?? 'Unknown device';\n return {\n title: hasDuplicateNames ? chalk`${name}{dim - ${app.id}}` : name,\n value: app.id,\n app,\n };\n });\n\n const value = await selectAsync(chalk`Debug target {dim (Hermes only)}`, choices);\n\n return choices.find((item) => item.value === value)?.app;\n}\n\n// The description of `React Native Experimental (Improved Chrome Reloads)` target is `don't use` from metro.\n// This function tries to transform the unmeaningful description to appId\nfunction transformApps(apps: MetroInspectorProxyApp[]): MetroInspectorProxyApp[] {\n const deviceIdToAppId: Record<string, string> = {};\n\n for (const app of apps) {\n if (app.description !== \"don't use\") {\n const deviceId = app.reactNative?.logicalDeviceId ?? app.id.split('-')[0];\n const appId = app.description;\n deviceIdToAppId[deviceId] = appId;\n }\n }\n\n return apps.map((app) => {\n if (app.description === \"don't use\") {\n const deviceId = app.reactNative?.logicalDeviceId ?? app.id.split('-')[0];\n app.description = deviceIdToAppId[deviceId] ?? app.description;\n }\n return app;\n });\n}\n\nconst HIDE_FROM_INSPECTOR_ENV = 'globalThis.__expo_hide_from_inspector__';\n\nasync function appShouldBeIgnoredAsync(app: MetroInspectorProxyApp): Promise<boolean> {\n const hideFromInspector = await evaluateJsFromCdpAsync(\n app.webSocketDebuggerUrl,\n HIDE_FROM_INSPECTOR_ENV\n );\n debug(\n `[appShouldBeIgnoredAsync] webSocketDebuggerUrl[${app.webSocketDebuggerUrl}] hideFromInspector[${hideFromInspector}]`\n );\n return hideFromInspector !== undefined;\n}\n"],"names":["openJsInspector","queryInspectorAppAsync","queryAllInspectorAppsAsync","promptInspectorAppAsync","debug","require","metroBaseUrl","app","reactNative","logicalDeviceId","url","URL","searchParams","set","description","id","response","fetch","method","signal","AbortSignal","timeout","catch","error","name","ok","status","metroServerOrigin","appId","apps","find","resp","transformApps","json","results","pageIsSupported","appShouldBeIgnoredAsync","push","choices","length","hasDuplicateNames","some","index","findIndex","other","deviceName","map","title","chalk","value","selectAsync","item","deviceIdToAppId","deviceId","split","HIDE_FROM_INSPECTOR_ENV","hideFromInspector","evaluateJsFromCdpAsync","webSocketDebuggerUrl","undefined"],"mappings":"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"}
@@ -4,19 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "createJsInspectorMiddleware", {
6
6
  enumerable: true,
7
- get: function() {
8
- return createJsInspectorMiddleware;
9
- }
7
+ get: ()=>createJsInspectorMiddleware
10
8
  });
11
9
  function _chalk() {
12
- const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
10
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
13
11
  _chalk = function() {
14
12
  return data;
15
13
  };
16
14
  return data;
17
15
  }
18
16
  function _net() {
19
- const data = /*#__PURE__*/ _interop_require_default(require("net"));
17
+ const data = /*#__PURE__*/ _interopRequireDefault(require("net"));
20
18
  _net = function() {
21
19
  return data;
22
20
  };
@@ -36,41 +34,41 @@ function _url() {
36
34
  };
37
35
  return data;
38
36
  }
39
- const _JsInspector = require("./JsInspector");
40
- function _interop_require_default(obj) {
37
+ const _jsInspector = require("./JsInspector");
38
+ function _interopRequireDefault(obj) {
41
39
  return obj && obj.__esModule ? obj : {
42
40
  default: obj
43
41
  };
44
42
  }
45
43
  function createJsInspectorMiddleware() {
46
44
  return async function(req, res, next) {
47
- const { origin, searchParams } = new (_url()).URL(req.url ?? '/', getServerBase(req));
48
- const appId = searchParams.get('appId') || searchParams.get('applicationId');
45
+ const { origin , searchParams } = new (_url()).URL(req.url ?? "/", getServerBase(req));
46
+ const appId = searchParams.get("appId") || searchParams.get("applicationId");
49
47
  if (!appId) {
50
48
  res.writeHead(400).end('Missing application identifier ("?appId=...")');
51
49
  return;
52
50
  }
53
- const app = await (0, _JsInspector.queryInspectorAppAsync)(origin, appId);
51
+ const app = await (0, _jsInspector.queryInspectorAppAsync)(origin, appId);
54
52
  if (!app) {
55
- res.writeHead(404).end('Unable to find inspector target from @react-native/dev-middleware');
56
- console.warn(_chalk().default.yellow('No compatible apps connected. JavaScript Debugging can only be used with the Hermes engine.'));
53
+ res.writeHead(404).end("Unable to find inspector target from @react-native/dev-middleware");
54
+ console.warn(_chalk().default.yellow("No compatible apps connected. JavaScript Debugging can only be used with the Hermes engine."));
57
55
  return;
58
56
  }
59
- if (req.method === 'GET') {
57
+ if (req.method === "GET") {
60
58
  const data = JSON.stringify(app);
61
59
  res.writeHead(200, {
62
- 'Content-Type': 'application/json; charset=UTF-8',
63
- 'Cache-Control': 'no-cache',
64
- 'Content-Length': data.length.toString()
60
+ "Content-Type": "application/json; charset=UTF-8",
61
+ "Cache-Control": "no-cache",
62
+ "Content-Length": data.length.toString()
65
63
  });
66
64
  res.end(data);
67
- } else if (req.method === 'POST' || req.method === 'PUT') {
65
+ } else if (req.method === "POST" || req.method === "PUT") {
68
66
  try {
69
- await (0, _JsInspector.openJsInspector)(origin, app);
67
+ await (0, _jsInspector.openJsInspector)(origin, app);
70
68
  } catch (error) {
71
69
  // abort(Error: Command failed: osascript -e POSIX path of (path to application "google chrome")
72
70
  // 15:50: execution error: Google Chrome got an error: Application isn’t running. (-600)
73
- console.error(_chalk().default.red('Error launching JS inspector: ' + ((error == null ? void 0 : error.message) ?? 'Unknown error occurred')));
71
+ console.error(_chalk().default.red("Error launching JS inspector: " + ((error == null ? void 0 : error.message) ?? "Unknown error occurred")));
74
72
  res.writeHead(500);
75
73
  res.end();
76
74
  return;
@@ -82,8 +80,8 @@ function createJsInspectorMiddleware() {
82
80
  };
83
81
  }
84
82
  function getServerBase(req) {
85
- const scheme = req.socket instanceof _tls().TLSSocket && req.socket.encrypted === true ? 'https' : 'http';
86
- const { localAddress, localPort } = req.socket;
83
+ const scheme = req.socket instanceof _tls().TLSSocket && req.socket.encrypted === true ? "https" : "http";
84
+ const { localAddress , localPort } = req.socket;
87
85
  const address = localAddress && _net().default.isIPv6(localAddress) ? `[${localAddress}]` : localAddress;
88
86
  return `${scheme}:${address}:${localPort}`;
89
87
  }