@expo/cli 0.22.25 → 0.22.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (722) hide show
  1. package/build/bin/cli +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 +7 -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 +12 -16
  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/lint/ESlintPrerequisite.js +44 -50
  148. package/build/src/lint/ESlintPrerequisite.js.map +1 -1
  149. package/build/src/lint/index.js +8 -12
  150. package/build/src/lint/index.js.map +1 -1
  151. package/build/src/lint/lintAsync.js +8 -10
  152. package/build/src/lint/lintAsync.js.map +1 -1
  153. package/build/src/log.js +16 -36
  154. package/build/src/log.js.map +1 -1
  155. package/build/src/login/index.js +20 -24
  156. package/build/src/login/index.js.map +1 -1
  157. package/build/src/logout/index.js +7 -11
  158. package/build/src/logout/index.js.map +1 -1
  159. package/build/src/prebuild/clearNativeFolder.js +26 -38
  160. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  161. package/build/src/prebuild/configureProjectAsync.js +14 -18
  162. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  163. package/build/src/prebuild/copyTemplateFiles.js +13 -17
  164. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  165. package/build/src/prebuild/ensureConfigAsync.js +4 -6
  166. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  167. package/build/src/prebuild/index.js +32 -36
  168. package/build/src/prebuild/index.js.map +1 -1
  169. package/build/src/prebuild/prebuildAsync.js +25 -29
  170. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  171. package/build/src/prebuild/renameTemplateAppName.js +40 -46
  172. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  173. package/build/src/prebuild/resolveOptions.js +52 -66
  174. package/build/src/prebuild/resolveOptions.js.map +1 -1
  175. package/build/src/prebuild/resolveTemplate.js +32 -36
  176. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  177. package/build/src/prebuild/updateFromTemplate.js +13 -19
  178. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  179. package/build/src/prebuild/updatePackageJson.js +39 -53
  180. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  181. package/build/src/prebuild/validateTemplatePlatforms.js +8 -12
  182. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  183. package/build/src/register/index.js +7 -11
  184. package/build/src/register/index.js.map +1 -1
  185. package/build/src/register/registerAsync.js +3 -5
  186. package/build/src/register/registerAsync.js.map +1 -1
  187. package/build/src/run/android/index.js +32 -36
  188. package/build/src/run/android/index.js.map +1 -1
  189. package/build/src/run/android/resolveDevice.js +8 -10
  190. package/build/src/run/android/resolveDevice.js.map +1 -1
  191. package/build/src/run/android/resolveGradlePropsAsync.js +16 -18
  192. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  193. package/build/src/run/android/resolveInstallApkName.js +15 -17
  194. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  195. package/build/src/run/android/resolveLaunchProps.js +10 -12
  196. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  197. package/build/src/run/android/resolveOptions.js +2 -4
  198. package/build/src/run/android/resolveOptions.js.map +1 -1
  199. package/build/src/run/android/runAndroidAsync.js +21 -23
  200. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  201. package/build/src/run/ensureNativeProject.js +5 -7
  202. package/build/src/run/ensureNativeProject.js.map +1 -1
  203. package/build/src/run/hints.js +7 -13
  204. package/build/src/run/hints.js.map +1 -1
  205. package/build/src/run/index.js +23 -27
  206. package/build/src/run/index.js.map +1 -1
  207. package/build/src/run/ios/XcodeBuild.js +56 -74
  208. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  209. package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
  210. package/build/src/run/ios/appleDevice/AppleDevice.js +63 -69
  211. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  212. package/build/src/run/ios/appleDevice/ClientManager.js +26 -29
  213. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  214. package/build/src/run/ios/appleDevice/client/AFCClient.js +25 -28
  215. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  216. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +26 -29
  217. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  218. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -22
  219. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  220. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +29 -32
  221. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  222. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +24 -28
  223. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  224. package/build/src/run/ios/appleDevice/client/ServiceClient.js +4 -7
  225. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  226. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +27 -28
  227. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  228. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +17 -23
  229. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  230. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +132 -146
  231. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  232. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +21 -29
  233. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  234. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +21 -29
  235. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  236. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +22 -34
  237. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  238. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +17 -27
  239. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  240. package/build/src/run/ios/codeSigning/Security.js +39 -53
  241. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  242. package/build/src/run/ios/codeSigning/configureCodeSigning.js +9 -13
  243. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  244. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +19 -27
  245. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  246. package/build/src/run/ios/codeSigning/settings.js +5 -9
  247. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  248. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +12 -14
  249. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  250. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +21 -27
  251. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  252. package/build/src/run/ios/index.js +36 -40
  253. package/build/src/run/ios/index.js.map +1 -1
  254. package/build/src/run/ios/launchApp.js +17 -23
  255. package/build/src/run/ios/launchApp.js.map +1 -1
  256. package/build/src/run/ios/options/appleDestinations.js +36 -38
  257. package/build/src/run/ios/options/appleDestinations.js.map +1 -1
  258. package/build/src/run/ios/options/promptDevice.js +16 -20
  259. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  260. package/build/src/run/ios/options/resolveDevice.js +24 -30
  261. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  262. package/build/src/run/ios/options/resolveNativeScheme.js +23 -31
  263. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  264. package/build/src/run/ios/options/resolveOptions.js +5 -7
  265. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  266. package/build/src/run/ios/options/resolveXcodeProject.js +5 -7
  267. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  268. package/build/src/run/ios/runIosAsync.js +44 -48
  269. package/build/src/run/ios/runIosAsync.js.map +1 -1
  270. package/build/src/run/ios/validateExternalBinary.js +22 -24
  271. package/build/src/run/ios/validateExternalBinary.js.map +1 -1
  272. package/build/src/run/resolveBundlerProps.js +2 -4
  273. package/build/src/run/resolveBundlerProps.js.map +1 -1
  274. package/build/src/run/startBundler.js +12 -16
  275. package/build/src/run/startBundler.js.map +1 -1
  276. package/build/src/serve/index.js +16 -20
  277. package/build/src/serve/index.js.map +1 -1
  278. package/build/src/serve/serveAsync.js +32 -36
  279. package/build/src/serve/serveAsync.js.map +1 -1
  280. package/build/src/start/detectDevClient.js +9 -13
  281. package/build/src/start/detectDevClient.js.map +1 -1
  282. package/build/src/start/doctor/Prerequisite.js +7 -12
  283. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  284. package/build/src/start/doctor/SecurityBinPrerequisite.js +11 -13
  285. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  286. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +19 -23
  287. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  288. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +19 -23
  289. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  290. package/build/src/start/doctor/apple/XcodePrerequisite.js +45 -51
  291. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  292. package/build/src/start/doctor/apple/XcrunPrerequisite.js +16 -18
  293. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  294. package/build/src/start/doctor/dependencies/bundledNativeModules.js +19 -23
  295. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  296. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +25 -31
  297. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  298. package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -25
  299. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  300. package/build/src/start/doctor/dependencies/getVersionedPackages.js +32 -40
  301. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  302. package/build/src/start/doctor/dependencies/resolvePackages.js +26 -32
  303. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  304. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +31 -41
  305. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  306. package/build/src/start/doctor/ngrok/ExternalModule.js +29 -34
  307. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  308. package/build/src/start/doctor/ngrok/NgrokResolver.js +8 -12
  309. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  310. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +28 -32
  311. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  312. package/build/src/start/doctor/typescript/updateTSConfig.js +17 -23
  313. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  314. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +27 -33
  315. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  316. package/build/src/start/index.js +42 -46
  317. package/build/src/start/index.js.map +1 -1
  318. package/build/src/start/interface/KeyPressHandler.js +14 -18
  319. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  320. package/build/src/start/interface/commandsTable.js +80 -94
  321. package/build/src/start/interface/commandsTable.js.map +1 -1
  322. package/build/src/start/interface/interactiveActions.js +40 -44
  323. package/build/src/start/interface/interactiveActions.js.map +1 -1
  324. package/build/src/start/interface/startInterface.js +61 -65
  325. package/build/src/start/interface/startInterface.js.map +1 -1
  326. package/build/src/start/platforms/AppIdResolver.js +4 -6
  327. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  328. package/build/src/start/platforms/DeviceManager.js +6 -10
  329. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  330. package/build/src/start/platforms/ExpoGoInstaller.js +20 -25
  331. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  332. package/build/src/start/platforms/PlatformManager.js +15 -17
  333. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  334. package/build/src/start/platforms/android/ADBServer.js +35 -39
  335. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  336. package/build/src/start/platforms/android/AndroidAppIdResolver.js +16 -18
  337. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  338. package/build/src/start/platforms/android/AndroidDeviceManager.js +20 -24
  339. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  340. package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
  341. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  342. package/build/src/start/platforms/android/AndroidSdk.js +9 -11
  343. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  344. package/build/src/start/platforms/android/activateWindow.js +22 -26
  345. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  346. package/build/src/start/platforms/android/adb.js +83 -121
  347. package/build/src/start/platforms/android/adb.js.map +1 -1
  348. package/build/src/start/platforms/android/adbReverse.js +12 -20
  349. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  350. package/build/src/start/platforms/android/emulator.js +26 -36
  351. package/build/src/start/platforms/android/emulator.js.map +1 -1
  352. package/build/src/start/platforms/android/getDevices.js +5 -7
  353. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  354. package/build/src/start/platforms/android/gradle.js +28 -36
  355. package/build/src/start/platforms/android/gradle.js.map +1 -1
  356. package/build/src/start/platforms/android/promptAndroidDevice.js +15 -19
  357. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  358. package/build/src/start/platforms/ios/AppleAppIdResolver.js +19 -21
  359. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  360. package/build/src/start/platforms/ios/AppleDeviceManager.js +31 -37
  361. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  362. package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
  363. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  364. package/build/src/start/platforms/ios/assertSystemRequirements.js +7 -9
  365. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  366. package/build/src/start/platforms/ios/devicectl.js +73 -87
  367. package/build/src/start/platforms/ios/devicectl.js.map +1 -1
  368. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +18 -22
  369. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  370. package/build/src/start/platforms/ios/getBestSimulator.js +19 -29
  371. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  372. package/build/src/start/platforms/ios/promptAppleDevice.js +10 -14
  373. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  374. package/build/src/start/platforms/ios/simctl.js +74 -102
  375. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  376. package/build/src/start/platforms/ios/simctlLogging.js +52 -57
  377. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  378. package/build/src/start/platforms/ios/xcrun.js +18 -22
  379. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  380. package/build/src/start/project/devices.js +9 -19
  381. package/build/src/start/project/devices.js.map +1 -1
  382. package/build/src/start/project/dotExpo.js +11 -15
  383. package/build/src/start/project/dotExpo.js.map +1 -1
  384. package/build/src/start/project/settings.js +2 -4
  385. package/build/src/start/project/settings.js.map +1 -1
  386. package/build/src/start/resolveOptions.js +40 -48
  387. package/build/src/start/resolveOptions.js.map +1 -1
  388. package/build/src/start/server/AsyncNgrok.js +51 -55
  389. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  390. package/build/src/start/server/AsyncWsTunnel.js +36 -40
  391. package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
  392. package/build/src/start/server/BundlerDevServer.js +79 -81
  393. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  394. package/build/src/start/server/DevServerManager.js +38 -42
  395. package/build/src/start/server/DevServerManager.js.map +1 -1
  396. package/build/src/start/server/DevToolsPluginManager.js +14 -18
  397. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  398. package/build/src/start/server/DevelopmentSession.js +14 -18
  399. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  400. package/build/src/start/server/ReactDevToolsProxy.js +10 -16
  401. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  402. package/build/src/start/server/UrlCreator.js +33 -36
  403. package/build/src/start/server/UrlCreator.js.map +1 -1
  404. package/build/src/start/server/getStaticRenderFunctions.js +21 -29
  405. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  406. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +4 -6
  407. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
  408. package/build/src/start/server/metro/MetroBundlerDevServer.js +271 -269
  409. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  410. package/build/src/start/server/metro/MetroTerminalReporter.js +56 -63
  411. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  412. package/build/src/start/server/metro/TerminalReporter.js +33 -39
  413. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  414. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  415. package/build/src/start/server/metro/createExpoMetroResolver.js +40 -46
  416. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  417. package/build/src/start/server/metro/createJResolver.js +28 -32
  418. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  419. package/build/src/start/server/metro/createServerComponentsMiddleware.js +92 -96
  420. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  421. package/build/src/start/server/metro/createServerRouteMiddleware.js +30 -32
  422. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  423. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +11 -13
  424. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
  425. package/build/src/start/server/metro/debugging/MessageHandler.js +1 -3
  426. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  427. package/build/src/start/server/metro/debugging/attachAtlas.js +22 -26
  428. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
  429. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +17 -19
  430. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  431. package/build/src/start/server/metro/debugging/createHandlersFactory.js +31 -25
  432. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  433. package/build/src/start/server/metro/debugging/getDebuggerType.js +4 -6
  434. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  435. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +8 -14
  436. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  437. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +5 -7
  438. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  439. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +6 -8
  440. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  441. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +5 -7
  442. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  443. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +12 -14
  444. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
  445. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +10 -14
  446. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  447. package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -6
  448. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  449. package/build/src/start/server/metro/debugging/types.js.map +1 -1
  450. package/build/src/start/server/metro/dev-server/createEventSocket.js +16 -18
  451. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
  452. package/build/src/start/server/metro/dev-server/createMessageSocket.js +21 -23
  453. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
  454. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +21 -23
  455. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
  456. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +2 -4
  457. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
  458. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +2 -4
  459. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
  460. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +4 -8
  461. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
  462. package/build/src/start/server/metro/externals.js +25 -33
  463. package/build/src/start/server/metro/externals.js.map +1 -1
  464. package/build/src/start/server/metro/fetchRouterManifest.js +12 -16
  465. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  466. package/build/src/start/server/metro/formatFileCandidates.js +9 -11
  467. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  468. package/build/src/start/server/metro/getCssModulesFromBundler.js +18 -22
  469. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  470. package/build/src/start/server/metro/instantiateMetro.js +79 -85
  471. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  472. package/build/src/start/server/metro/log-box/LogBoxLog.js +36 -40
  473. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
  474. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +14 -20
  475. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
  476. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +6 -10
  477. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
  478. package/build/src/start/server/metro/metroErrorInterface.js +78 -88
  479. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  480. package/build/src/start/server/metro/metroErrors.js +4 -8
  481. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  482. package/build/src/start/server/metro/metroPrivateServer.js +7 -9
  483. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
  484. package/build/src/start/server/metro/metroVirtualModules.js +8 -10
  485. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  486. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +22 -24
  487. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  488. package/build/src/start/server/metro/router.js +32 -48
  489. package/build/src/start/server/metro/router.js.map +1 -1
  490. package/build/src/start/server/metro/runServer-fork.js +22 -24
  491. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  492. package/build/src/start/server/metro/serializeHtml.js +22 -24
  493. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  494. package/build/src/start/server/metro/symbolicate.js.map +1 -1
  495. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +29 -35
  496. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  497. package/build/src/start/server/metro/withMetroMultiPlatform.js +139 -149
  498. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  499. package/build/src/start/server/metro/withMetroResolvers.js +39 -49
  500. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  501. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +6 -8
  502. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  503. package/build/src/start/server/middleware/CorsMiddleware.js +15 -17
  504. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  505. package/build/src/start/server/middleware/CreateFileMiddleware.js +31 -32
  506. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  507. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +19 -22
  508. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  509. package/build/src/start/server/middleware/DomComponentsMiddleware.js +27 -33
  510. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  511. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +60 -64
  512. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  513. package/build/src/start/server/middleware/ExpoMiddleware.js +9 -15
  514. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  515. package/build/src/start/server/middleware/FaviconMiddleware.js +14 -15
  516. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  517. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +2 -4
  518. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  519. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +31 -34
  520. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  521. package/build/src/start/server/middleware/ManifestMiddleware.js +56 -64
  522. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  523. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +19 -23
  524. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  525. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +19 -20
  526. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  527. package/build/src/start/server/middleware/ServeStaticMiddleware.js +9 -11
  528. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  529. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +11 -17
  530. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
  531. package/build/src/start/server/middleware/inspector/CdpClient.js +10 -12
  532. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
  533. package/build/src/start/server/middleware/inspector/JsInspector.js +27 -35
  534. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  535. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +19 -21
  536. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  537. package/build/src/start/server/middleware/inspector/middlwareMutations.js +2 -6
  538. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  539. package/build/src/start/server/middleware/metroOptions.js +96 -120
  540. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  541. package/build/src/start/server/middleware/mutations.js +3 -7
  542. package/build/src/start/server/middleware/mutations.js.map +1 -1
  543. package/build/src/start/server/middleware/resolveAssets.js +18 -26
  544. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  545. package/build/src/start/server/middleware/resolvePlatform.js +15 -23
  546. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  547. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +9 -11
  548. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
  549. package/build/src/start/server/middleware/server.types.js.map +1 -1
  550. package/build/src/start/server/openPlatforms.js +8 -10
  551. package/build/src/start/server/openPlatforms.js.map +1 -1
  552. package/build/src/start/server/platformBundlers.js +11 -13
  553. package/build/src/start/server/platformBundlers.js.map +1 -1
  554. package/build/src/start/server/serverLogLikeMetro.js +50 -58
  555. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  556. package/build/src/start/server/type-generation/expo-env.js +7 -11
  557. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  558. package/build/src/start/server/type-generation/routes.js +54 -76
  559. package/build/src/start/server/type-generation/routes.js.map +1 -1
  560. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +19 -21
  561. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  562. package/build/src/start/server/type-generation/tsconfig.js +28 -36
  563. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  564. package/build/src/start/server/webTemplate.js +24 -28
  565. package/build/src/start/server/webTemplate.js.map +1 -1
  566. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +46 -52
  567. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  568. package/build/src/start/server/webpack/compile.js +11 -15
  569. package/build/src/start/server/webpack/compile.js.map +1 -1
  570. package/build/src/start/server/webpack/formatWebpackMessages.js +26 -28
  571. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  572. package/build/src/start/server/webpack/resolveFromProject.js +12 -18
  573. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  574. package/build/src/start/server/webpack/tls.js +12 -18
  575. package/build/src/start/server/webpack/tls.js.map +1 -1
  576. package/build/src/start/startAsync.js +27 -31
  577. package/build/src/start/startAsync.js.map +1 -1
  578. package/build/src/utils/FileNotifier.js +17 -20
  579. package/build/src/utils/FileNotifier.js.map +1 -1
  580. package/build/src/utils/ansi.js +5 -7
  581. package/build/src/utils/ansi.js.map +1 -1
  582. package/build/src/utils/args.js +14 -24
  583. package/build/src/utils/args.js.map +1 -1
  584. package/build/src/utils/array.js +6 -18
  585. package/build/src/utils/array.js.map +1 -1
  586. package/build/src/utils/cocoapods.js +46 -54
  587. package/build/src/utils/cocoapods.js.map +1 -1
  588. package/build/src/utils/codesigning.js +68 -78
  589. package/build/src/utils/codesigning.js.map +1 -1
  590. package/build/src/utils/createFileTransform.js +12 -16
  591. package/build/src/utils/createFileTransform.js.map +1 -1
  592. package/build/src/utils/createTempPath.js +13 -17
  593. package/build/src/utils/createTempPath.js.map +1 -1
  594. package/build/src/utils/delay.js +6 -12
  595. package/build/src/utils/delay.js.map +1 -1
  596. package/build/src/utils/dir.js +28 -46
  597. package/build/src/utils/dir.js.map +1 -1
  598. package/build/src/utils/downloadAppAsync.js +8 -10
  599. package/build/src/utils/downloadAppAsync.js.map +1 -1
  600. package/build/src/utils/downloadExpoGoAsync.js +21 -25
  601. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  602. package/build/src/utils/editor.js +35 -41
  603. package/build/src/utils/editor.js.map +1 -1
  604. package/build/src/utils/env.js +59 -63
  605. package/build/src/utils/env.js.map +1 -1
  606. package/build/src/utils/errors.js +30 -37
  607. package/build/src/utils/errors.js.map +1 -1
  608. package/build/src/utils/exit.js +31 -35
  609. package/build/src/utils/exit.js.map +1 -1
  610. package/build/src/utils/expoUpdatesCli.js +22 -32
  611. package/build/src/utils/expoUpdatesCli.js.map +1 -1
  612. package/build/src/utils/fetch.js +4 -8
  613. package/build/src/utils/fetch.js.map +1 -1
  614. package/build/src/utils/filePath.js +6 -10
  615. package/build/src/utils/filePath.js.map +1 -1
  616. package/build/src/utils/findUp.js +9 -13
  617. package/build/src/utils/findUp.js.map +1 -1
  618. package/build/src/utils/fn.js +2 -6
  619. package/build/src/utils/fn.js.map +1 -1
  620. package/build/src/utils/getOrPromptApplicationId.js +26 -32
  621. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  622. package/build/src/utils/getRunningProcess.js +21 -29
  623. package/build/src/utils/getRunningProcess.js.map +1 -1
  624. package/build/src/utils/git.js +20 -26
  625. package/build/src/utils/git.js.map +1 -1
  626. package/build/src/utils/glob.js +4 -8
  627. package/build/src/utils/glob.js.map +1 -1
  628. package/build/src/utils/interactive.js +1 -3
  629. package/build/src/utils/interactive.js.map +1 -1
  630. package/build/src/utils/ip.js +19 -21
  631. package/build/src/utils/ip.js.map +1 -1
  632. package/build/src/utils/isModuleSymlinked.js +9 -11
  633. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  634. package/build/src/utils/jsonSchemaDeref.js +18 -20
  635. package/build/src/utils/jsonSchemaDeref.js.map +1 -1
  636. package/build/src/utils/link.js +13 -17
  637. package/build/src/utils/link.js.map +1 -1
  638. package/build/src/utils/mergeGitIgnorePaths.js +28 -46
  639. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  640. package/build/src/utils/modifyConfigAsync.js +10 -16
  641. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  642. package/build/src/utils/modifyConfigPlugins.js +6 -10
  643. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  644. package/build/src/utils/nodeEnv.js +6 -12
  645. package/build/src/utils/nodeEnv.js.map +1 -1
  646. package/build/src/utils/nodeModules.js +8 -10
  647. package/build/src/utils/nodeModules.js.map +1 -1
  648. package/build/src/utils/npm.js +36 -50
  649. package/build/src/utils/npm.js.map +1 -1
  650. package/build/src/utils/obj.js +5 -11
  651. package/build/src/utils/obj.js.map +1 -1
  652. package/build/src/utils/open.js +8 -10
  653. package/build/src/utils/open.js.map +1 -1
  654. package/build/src/utils/ora.js +7 -13
  655. package/build/src/utils/ora.js.map +1 -1
  656. package/build/src/utils/plist.js +15 -21
  657. package/build/src/utils/plist.js.map +1 -1
  658. package/build/src/utils/port.js +33 -43
  659. package/build/src/utils/port.js.map +1 -1
  660. package/build/src/utils/profile.js +7 -11
  661. package/build/src/utils/profile.js.map +1 -1
  662. package/build/src/utils/progress.js +5 -11
  663. package/build/src/utils/progress.js.map +1 -1
  664. package/build/src/utils/prompts.js +29 -47
  665. package/build/src/utils/prompts.js.map +1 -1
  666. package/build/src/utils/resolveArgs.js +24 -36
  667. package/build/src/utils/resolveArgs.js.map +1 -1
  668. package/build/src/utils/scheme.js +32 -40
  669. package/build/src/utils/scheme.js.map +1 -1
  670. package/build/src/utils/stream.js +3 -5
  671. package/build/src/utils/stream.js.map +1 -1
  672. package/build/src/utils/strings.js +4 -6
  673. package/build/src/utils/strings.js.map +1 -1
  674. package/build/src/utils/tar.js +15 -19
  675. package/build/src/utils/tar.js.map +1 -1
  676. package/build/src/utils/telemetry/Telemetry.js +27 -29
  677. package/build/src/utils/telemetry/Telemetry.js.map +1 -1
  678. package/build/src/utils/telemetry/clients/FetchClient.js +13 -15
  679. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
  680. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +22 -26
  681. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
  682. package/build/src/utils/telemetry/clients/RudderClient.js +8 -10
  683. package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
  684. package/build/src/utils/telemetry/clients/RudderDetachedClient.js +22 -26
  685. package/build/src/utils/telemetry/clients/RudderDetachedClient.js.map +1 -1
  686. package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
  687. package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
  688. package/build/src/utils/telemetry/clients/flushRudderDetached.js +10 -10
  689. package/build/src/utils/telemetry/clients/flushRudderDetached.js.map +1 -1
  690. package/build/src/utils/telemetry/events.js +2 -4
  691. package/build/src/utils/telemetry/events.js.map +1 -1
  692. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  693. package/build/src/utils/telemetry/index.js +29 -25
  694. package/build/src/utils/telemetry/index.js.map +1 -1
  695. package/build/src/utils/telemetry/types.js.map +1 -1
  696. package/build/src/utils/telemetry/utils/constants.js +4 -8
  697. package/build/src/utils/telemetry/utils/constants.js.map +1 -1
  698. package/build/src/utils/telemetry/utils/context.js +14 -18
  699. package/build/src/utils/telemetry/utils/context.js.map +1 -1
  700. package/build/src/utils/template.js +4 -6
  701. package/build/src/utils/template.js.map +1 -1
  702. package/build/src/utils/terminal.js +2 -4
  703. package/build/src/utils/terminal.js.map +1 -1
  704. package/build/src/utils/tsconfig/evaluateTsConfig.js +17 -21
  705. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  706. package/build/src/utils/tsconfig/loadTsConfigPaths.js +14 -18
  707. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  708. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +5 -7
  709. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  710. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -14
  711. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  712. package/build/src/utils/url.js +13 -23
  713. package/build/src/utils/url.js.map +1 -1
  714. package/build/src/utils/validateApplicationId.js +86 -108
  715. package/build/src/utils/validateApplicationId.js.map +1 -1
  716. package/build/src/utils/variadic.js +16 -22
  717. package/build/src/utils/variadic.js.map +1 -1
  718. package/build/src/whoami/index.js +7 -11
  719. package/build/src/whoami/index.js.map +1 -1
  720. package/build/src/whoami/whoamiAsync.js +7 -11
  721. package/build/src/whoami/whoamiAsync.js.map +1 -1
  722. package/package.json +3 -3
@@ -10,11 +10,9 @@ Object.defineProperty(exports, "__esModule", {
10
10
  });
11
11
  Object.defineProperty(exports, "LogBoxLog", {
12
12
  enumerable: true,
13
- get: function() {
14
- return LogBoxLog;
15
- }
13
+ get: ()=>LogBoxLog
16
14
  });
17
- const _LogBoxSymbolication = /*#__PURE__*/ _interop_require_wildcard(require("./LogBoxSymbolication"));
15
+ const _logBoxSymbolication = /*#__PURE__*/ _interopRequireWildcard(require("./LogBoxSymbolication"));
18
16
  function _getRequireWildcardCache(nodeInterop) {
19
17
  if (typeof WeakMap !== "function") return null;
20
18
  var cacheBabelInterop = new WeakMap();
@@ -23,7 +21,7 @@ function _getRequireWildcardCache(nodeInterop) {
23
21
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
24
22
  })(nodeInterop);
25
23
  }
26
- function _interop_require_wildcard(obj, nodeInterop) {
24
+ function _interopRequireWildcard(obj, nodeInterop) {
27
25
  if (!nodeInterop && obj && obj.__esModule) {
28
26
  return obj;
29
27
  }
@@ -36,9 +34,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
36
34
  if (cache && cache.has(obj)) {
37
35
  return cache.get(obj);
38
36
  }
39
- var newObj = {
40
- __proto__: null
41
- };
37
+ var newObj = {};
42
38
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
43
39
  for(var key in obj){
44
40
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -58,34 +54,33 @@ function _interop_require_wildcard(obj, nodeInterop) {
58
54
  }
59
55
  function componentStackToStack(componentStack) {
60
56
  return componentStack.map((stack)=>{
61
- var _stack_location, _stack_location1;
57
+ var ref, ref1;
62
58
  return {
63
59
  file: stack.fileName,
64
60
  methodName: stack.content,
65
- lineNumber: ((_stack_location = stack.location) == null ? void 0 : _stack_location.row) ?? 0,
66
- column: ((_stack_location1 = stack.location) == null ? void 0 : _stack_location1.column) ?? 0,
61
+ lineNumber: ((ref = stack.location) == null ? void 0 : ref.row) ?? 0,
62
+ column: ((ref1 = stack.location) == null ? void 0 : ref1.column) ?? 0,
67
63
  arguments: []
68
64
  };
69
65
  });
70
66
  }
71
67
  class LogBoxLog {
68
+ symbolicated = {
69
+ stack: {
70
+ error: null,
71
+ stack: null,
72
+ status: "NONE"
73
+ },
74
+ component: {
75
+ error: null,
76
+ stack: null,
77
+ status: "NONE"
78
+ }
79
+ };
80
+ callbacks = new Map();
72
81
  constructor(data){
73
- this.symbolicated = {
74
- stack: {
75
- error: null,
76
- stack: null,
77
- status: 'NONE'
78
- },
79
- component: {
80
- error: null,
81
- stack: null,
82
- status: 'NONE'
83
- }
84
- };
85
- this.callbacks = new Map();
86
- this.componentStackCache = null;
87
82
  this.level = data.level;
88
- this.type = data.type ?? 'error';
83
+ this.type = data.type ?? "error";
89
84
  this.message = data.message;
90
85
  this.stack = data.stack;
91
86
  this.category = data.category;
@@ -99,7 +94,7 @@ class LogBoxLog {
99
94
  this.count += 1;
100
95
  }
101
96
  getAvailableStack(type) {
102
- if (this.symbolicated[type].status === 'COMPLETE') {
97
+ if (this.symbolicated[type].status === "COMPLETE") {
103
98
  return this.symbolicated[type].stack;
104
99
  }
105
100
  return this.getStack(type);
@@ -133,20 +128,21 @@ class LogBoxLog {
133
128
  this.pushCallback(type, callback);
134
129
  }
135
130
  const status = this.symbolicated[type].status;
136
- if (status === 'COMPLETE') {
131
+ if (status === "COMPLETE") {
137
132
  return this.flushCallbacks(type);
138
133
  }
139
134
  if (retry) {
140
- _LogBoxSymbolication.deleteStack(this.getStack(type));
135
+ _logBoxSymbolication.deleteStack(this.getStack(type));
141
136
  this.handleSymbolicate(type);
142
137
  } else {
143
- if (status === 'NONE') {
138
+ if (status === "NONE") {
144
139
  this.handleSymbolicate(type);
145
140
  }
146
141
  }
147
142
  }
143
+ componentStackCache = null;
148
144
  getStack(type) {
149
- if (type === 'component') {
145
+ if (type === "component") {
150
146
  if (this.componentStackCache == null) {
151
147
  this.componentStackCache = componentStackToStack(this.componentStack);
152
148
  }
@@ -155,13 +151,13 @@ class LogBoxLog {
155
151
  return this.stack;
156
152
  }
157
153
  handleSymbolicate(type) {
158
- var _this_componentStack;
159
- if (type === 'component' && !((_this_componentStack = this.componentStack) == null ? void 0 : _this_componentStack.length)) {
154
+ var ref;
155
+ if (type === "component" && !((ref = this.componentStack) == null ? void 0 : ref.length)) {
160
156
  return;
161
157
  }
162
- if (this.symbolicated[type].status !== 'PENDING') {
158
+ if (this.symbolicated[type].status !== "PENDING") {
163
159
  this.updateStatus(type, null, null, null);
164
- _LogBoxSymbolication.symbolicate(this.getStack(type)).then((data)=>{
160
+ _logBoxSymbolication.symbolicate(this.getStack(type)).then((data)=>{
165
161
  this.updateStatus(type, null, data == null ? void 0 : data.stack, data == null ? void 0 : data.codeFrame);
166
162
  }, (error)=>{
167
163
  this.updateStatus(type, error, null, null);
@@ -174,7 +170,7 @@ class LogBoxLog {
174
170
  this.symbolicated[type] = {
175
171
  error,
176
172
  stack: null,
177
- status: 'FAILED'
173
+ status: "FAILED"
178
174
  };
179
175
  } else if (stack != null) {
180
176
  if (codeFrame) {
@@ -183,20 +179,20 @@ class LogBoxLog {
183
179
  this.symbolicated[type] = {
184
180
  error: null,
185
181
  stack,
186
- status: 'COMPLETE'
182
+ status: "COMPLETE"
187
183
  };
188
184
  } else {
189
185
  this.symbolicated[type] = {
190
186
  error: null,
191
187
  stack: null,
192
- status: 'PENDING'
188
+ status: "PENDING"
193
189
  };
194
190
  }
195
191
  const status = this.symbolicated[type].status;
196
192
  if (lastStatus !== status) {
197
193
  if ([
198
- 'COMPLETE',
199
- 'FAILED'
194
+ "COMPLETE",
195
+ "FAILED"
200
196
  ].includes(status)) {
201
197
  this.flushCallbacks(type);
202
198
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/start/server/metro/log-box/LogBoxLog.ts"],"sourcesContent":["/**\n * Copyright (c) 650 Industries.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport * as LogBoxSymbolication from './LogBoxSymbolication';\nimport type { CodeFrame, StackFrame } from './LogBoxSymbolication';\n\ntype Category = string;\n\ntype Message = {\n content: string;\n substitutions: {\n length: number;\n offset: number;\n }[];\n};\n\ntype ComponentStack = CodeFrame[];\n\ntype SymbolicationStatus = 'NONE' | 'PENDING' | 'COMPLETE' | 'FAILED';\n\nexport type LogLevel = 'warn' | 'error' | 'fatal' | 'syntax' | 'static';\n\nexport type LogBoxLogData = {\n level: LogLevel;\n type?: string;\n message: Message;\n stack: StackFrame[];\n category: string;\n componentStack: ComponentStack;\n codeFrame?: CodeFrame;\n isComponentError: boolean;\n};\n\nexport type StackType = 'stack' | 'component';\n\nfunction componentStackToStack(componentStack: ComponentStack): StackFrame[] {\n return componentStack.map((stack) => ({\n file: stack.fileName,\n methodName: stack.content,\n lineNumber: stack.location?.row ?? 0,\n column: stack.location?.column ?? 0,\n arguments: [],\n }));\n}\n\ntype SymbolicationCallback = (status: SymbolicationStatus) => void;\n\ntype SymbolicationResult =\n | { error: null; stack: null; status: 'NONE' }\n | { error: null; stack: null; status: 'PENDING' }\n | { error: null; stack: StackFrame[]; status: 'COMPLETE' }\n | { error: Error; stack: null; status: 'FAILED' };\n\nexport class LogBoxLog {\n message: Message;\n type: string;\n category: Category;\n componentStack: ComponentStack;\n stack: StackFrame[];\n count: number;\n level: LogLevel;\n codeFrame?: CodeFrame;\n isComponentError: boolean;\n symbolicated: Record<StackType, SymbolicationResult> = {\n stack: {\n error: null,\n stack: null,\n status: 'NONE',\n },\n component: {\n error: null,\n stack: null,\n status: 'NONE',\n },\n };\n\n private callbacks: Map<StackType, Set<SymbolicationCallback>> = new Map();\n\n constructor(\n data: LogBoxLogData & {\n symbolicated?: Record<StackType, SymbolicationResult>;\n }\n ) {\n this.level = data.level;\n this.type = data.type ?? 'error';\n this.message = data.message;\n this.stack = data.stack;\n this.category = data.category;\n this.componentStack = data.componentStack;\n this.codeFrame = data.codeFrame;\n this.isComponentError = data.isComponentError;\n this.count = 1;\n this.symbolicated = data.symbolicated ?? this.symbolicated;\n }\n\n incrementCount(): void {\n this.count += 1;\n }\n\n getAvailableStack(type: StackType): StackFrame[] | null {\n if (this.symbolicated[type].status === 'COMPLETE') {\n return this.symbolicated[type].stack;\n }\n return this.getStack(type);\n }\n\n private flushCallbacks(type: StackType): void {\n const callbacks = this.callbacks.get(type);\n const status = this.symbolicated[type].status;\n if (callbacks) {\n for (const callback of callbacks) {\n callback(status);\n }\n callbacks.clear();\n }\n }\n\n private pushCallback(type: StackType, callback: SymbolicationCallback): void {\n let callbacks = this.callbacks.get(type);\n if (!callbacks) {\n callbacks = new Set();\n this.callbacks.set(type, callbacks);\n }\n callbacks.add(callback);\n }\n\n retrySymbolicate(type: StackType, callback?: (status: SymbolicationStatus) => void): void {\n this._symbolicate(type, true, callback);\n }\n\n symbolicate(type: StackType, callback?: (status: SymbolicationStatus) => void): void {\n this._symbolicate(type, false, callback);\n }\n\n private _symbolicate(\n type: StackType,\n retry: boolean,\n callback?: (status: SymbolicationStatus) => void\n ): void {\n if (callback) {\n this.pushCallback(type, callback);\n }\n const status = this.symbolicated[type].status;\n\n if (status === 'COMPLETE') {\n return this.flushCallbacks(type);\n }\n\n if (retry) {\n LogBoxSymbolication.deleteStack(this.getStack(type));\n this.handleSymbolicate(type);\n } else {\n if (status === 'NONE') {\n this.handleSymbolicate(type);\n }\n }\n }\n\n private componentStackCache: StackFrame[] | null = null;\n\n private getStack(type: StackType): StackFrame[] {\n if (type === 'component') {\n if (this.componentStackCache == null) {\n this.componentStackCache = componentStackToStack(this.componentStack);\n }\n return this.componentStackCache;\n }\n return this.stack;\n }\n\n private handleSymbolicate(type: StackType): void {\n if (type === 'component' && !this.componentStack?.length) {\n return;\n }\n\n if (this.symbolicated[type].status !== 'PENDING') {\n this.updateStatus(type, null, null, null);\n LogBoxSymbolication.symbolicate(this.getStack(type)).then(\n (data) => {\n this.updateStatus(type, null, data?.stack, data?.codeFrame);\n },\n (error) => {\n this.updateStatus(type, error, null, null);\n }\n );\n }\n }\n\n private updateStatus(\n type: StackType,\n error?: Error | null,\n stack?: StackFrame[] | null,\n codeFrame?: CodeFrame | null\n ): void {\n const lastStatus = this.symbolicated[type].status;\n if (error != null) {\n this.symbolicated[type] = {\n error,\n stack: null,\n status: 'FAILED',\n };\n } else if (stack != null) {\n if (codeFrame) {\n this.codeFrame = codeFrame;\n }\n\n this.symbolicated[type] = {\n error: null,\n stack,\n status: 'COMPLETE',\n };\n } else {\n this.symbolicated[type] = {\n error: null,\n stack: null,\n status: 'PENDING',\n };\n }\n\n const status = this.symbolicated[type].status;\n if (lastStatus !== status) {\n if (['COMPLETE', 'FAILED'].includes(status)) {\n this.flushCallbacks(type);\n }\n }\n }\n}\n"],"names":["LogBoxLog","componentStackToStack","componentStack","map","stack","file","fileName","methodName","content","lineNumber","location","row","column","arguments","constructor","data","symbolicated","error","status","component","callbacks","Map","componentStackCache","level","type","message","category","codeFrame","isComponentError","count","incrementCount","getAvailableStack","getStack","flushCallbacks","get","callback","clear","pushCallback","Set","set","add","retrySymbolicate","_symbolicate","symbolicate","retry","LogBoxSymbolication","deleteStack","handleSymbolicate","length","updateStatus","then","lastStatus","includes"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../src/start/server/metro/log-box/LogBoxLog.ts"],"sourcesContent":["/**\n * Copyright (c) 650 Industries.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport * as LogBoxSymbolication from './LogBoxSymbolication';\nimport type { CodeFrame, StackFrame } from './LogBoxSymbolication';\n\ntype Category = string;\n\ntype Message = {\n content: string;\n substitutions: {\n length: number;\n offset: number;\n }[];\n};\n\ntype ComponentStack = CodeFrame[];\n\ntype SymbolicationStatus = 'NONE' | 'PENDING' | 'COMPLETE' | 'FAILED';\n\nexport type LogLevel = 'warn' | 'error' | 'fatal' | 'syntax' | 'static';\n\nexport type LogBoxLogData = {\n level: LogLevel;\n type?: string;\n message: Message;\n stack: StackFrame[];\n category: string;\n componentStack: ComponentStack;\n codeFrame?: CodeFrame;\n isComponentError: boolean;\n};\n\nexport type StackType = 'stack' | 'component';\n\nfunction componentStackToStack(componentStack: ComponentStack): StackFrame[] {\n return componentStack.map((stack) => ({\n file: stack.fileName,\n methodName: stack.content,\n lineNumber: stack.location?.row ?? 0,\n column: stack.location?.column ?? 0,\n arguments: [],\n }));\n}\n\ntype SymbolicationCallback = (status: SymbolicationStatus) => void;\n\ntype SymbolicationResult =\n | { error: null; stack: null; status: 'NONE' }\n | { error: null; stack: null; status: 'PENDING' }\n | { error: null; stack: StackFrame[]; status: 'COMPLETE' }\n | { error: Error; stack: null; status: 'FAILED' };\n\nexport class LogBoxLog {\n message: Message;\n type: string;\n category: Category;\n componentStack: ComponentStack;\n stack: StackFrame[];\n count: number;\n level: LogLevel;\n codeFrame?: CodeFrame;\n isComponentError: boolean;\n symbolicated: Record<StackType, SymbolicationResult> = {\n stack: {\n error: null,\n stack: null,\n status: 'NONE',\n },\n component: {\n error: null,\n stack: null,\n status: 'NONE',\n },\n };\n\n private callbacks: Map<StackType, Set<SymbolicationCallback>> = new Map();\n\n constructor(\n data: LogBoxLogData & {\n symbolicated?: Record<StackType, SymbolicationResult>;\n }\n ) {\n this.level = data.level;\n this.type = data.type ?? 'error';\n this.message = data.message;\n this.stack = data.stack;\n this.category = data.category;\n this.componentStack = data.componentStack;\n this.codeFrame = data.codeFrame;\n this.isComponentError = data.isComponentError;\n this.count = 1;\n this.symbolicated = data.symbolicated ?? this.symbolicated;\n }\n\n incrementCount(): void {\n this.count += 1;\n }\n\n getAvailableStack(type: StackType): StackFrame[] | null {\n if (this.symbolicated[type].status === 'COMPLETE') {\n return this.symbolicated[type].stack;\n }\n return this.getStack(type);\n }\n\n private flushCallbacks(type: StackType): void {\n const callbacks = this.callbacks.get(type);\n const status = this.symbolicated[type].status;\n if (callbacks) {\n for (const callback of callbacks) {\n callback(status);\n }\n callbacks.clear();\n }\n }\n\n private pushCallback(type: StackType, callback: SymbolicationCallback): void {\n let callbacks = this.callbacks.get(type);\n if (!callbacks) {\n callbacks = new Set();\n this.callbacks.set(type, callbacks);\n }\n callbacks.add(callback);\n }\n\n retrySymbolicate(type: StackType, callback?: (status: SymbolicationStatus) => void): void {\n this._symbolicate(type, true, callback);\n }\n\n symbolicate(type: StackType, callback?: (status: SymbolicationStatus) => void): void {\n this._symbolicate(type, false, callback);\n }\n\n private _symbolicate(\n type: StackType,\n retry: boolean,\n callback?: (status: SymbolicationStatus) => void\n ): void {\n if (callback) {\n this.pushCallback(type, callback);\n }\n const status = this.symbolicated[type].status;\n\n if (status === 'COMPLETE') {\n return this.flushCallbacks(type);\n }\n\n if (retry) {\n LogBoxSymbolication.deleteStack(this.getStack(type));\n this.handleSymbolicate(type);\n } else {\n if (status === 'NONE') {\n this.handleSymbolicate(type);\n }\n }\n }\n\n private componentStackCache: StackFrame[] | null = null;\n\n private getStack(type: StackType): StackFrame[] {\n if (type === 'component') {\n if (this.componentStackCache == null) {\n this.componentStackCache = componentStackToStack(this.componentStack);\n }\n return this.componentStackCache;\n }\n return this.stack;\n }\n\n private handleSymbolicate(type: StackType): void {\n if (type === 'component' && !this.componentStack?.length) {\n return;\n }\n\n if (this.symbolicated[type].status !== 'PENDING') {\n this.updateStatus(type, null, null, null);\n LogBoxSymbolication.symbolicate(this.getStack(type)).then(\n (data) => {\n this.updateStatus(type, null, data?.stack, data?.codeFrame);\n },\n (error) => {\n this.updateStatus(type, error, null, null);\n }\n );\n }\n }\n\n private updateStatus(\n type: StackType,\n error?: Error | null,\n stack?: StackFrame[] | null,\n codeFrame?: CodeFrame | null\n ): void {\n const lastStatus = this.symbolicated[type].status;\n if (error != null) {\n this.symbolicated[type] = {\n error,\n stack: null,\n status: 'FAILED',\n };\n } else if (stack != null) {\n if (codeFrame) {\n this.codeFrame = codeFrame;\n }\n\n this.symbolicated[type] = {\n error: null,\n stack,\n status: 'COMPLETE',\n };\n } else {\n this.symbolicated[type] = {\n error: null,\n stack: null,\n status: 'PENDING',\n };\n }\n\n const status = this.symbolicated[type].status;\n if (lastStatus !== status) {\n if (['COMPLETE', 'FAILED'].includes(status)) {\n this.flushCallbacks(type);\n }\n }\n }\n}\n"],"names":["LogBoxLog","componentStackToStack","componentStack","map","stack","file","fileName","methodName","content","lineNumber","location","row","column","arguments","symbolicated","error","status","component","callbacks","Map","constructor","data","level","type","message","category","codeFrame","isComponentError","count","incrementCount","getAvailableStack","getStack","flushCallbacks","get","callback","clear","pushCallback","Set","set","add","retrySymbolicate","_symbolicate","symbolicate","retry","LogBoxSymbolication","deleteStack","handleSymbolicate","componentStackCache","length","updateStatus","then","lastStatus","includes"],"mappings":"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"}
@@ -15,19 +15,13 @@ function _export(target, all) {
15
15
  });
16
16
  }
17
17
  _export(exports, {
18
- deleteStack: function() {
19
- return deleteStack;
20
- },
21
- parseErrorStack: function() {
22
- return parseErrorStack;
23
- },
24
- symbolicate: function() {
25
- return symbolicate;
26
- }
18
+ deleteStack: ()=>deleteStack,
19
+ symbolicate: ()=>symbolicate,
20
+ parseErrorStack: ()=>parseErrorStack
27
21
  });
28
- function _stacktraceparser() {
22
+ function _stacktraceParser() {
29
23
  const data = require("stacktrace-parser");
30
- _stacktraceparser = function() {
24
+ _stacktraceParser = function() {
31
25
  return data;
32
26
  };
33
27
  return data;
@@ -35,16 +29,16 @@ function _stacktraceparser() {
35
29
  const cache = new Map();
36
30
  /**
37
31
  * Sanitize because sometimes, `symbolicateStackTrace` gives us invalid values.
38
- */ const sanitize = ({ stack: maybeStack, codeFrame })=>{
32
+ */ const sanitize = ({ stack: maybeStack , codeFrame })=>{
39
33
  if (!Array.isArray(maybeStack)) {
40
- throw new Error('Expected stack to be an array.');
34
+ throw new Error("Expected stack to be an array.");
41
35
  }
42
36
  const stack = [];
43
37
  for (const maybeFrame of maybeStack){
44
38
  let collapse = false;
45
- if ('collapse' in maybeFrame) {
46
- if (typeof maybeFrame.collapse !== 'boolean') {
47
- throw new Error('Expected stack frame `collapse` to be a boolean.');
39
+ if ("collapse" in maybeFrame) {
40
+ if (typeof maybeFrame.collapse !== "boolean") {
41
+ throw new Error("Expected stack frame `collapse` to be a boolean.");
48
42
  }
49
43
  collapse = maybeFrame.collapse;
50
44
  }
@@ -74,9 +68,9 @@ function symbolicate(stack) {
74
68
  return promise;
75
69
  }
76
70
  async function symbolicateStackTrace(stack) {
77
- const baseUrl = typeof window === 'undefined' ? process.env.EXPO_DEV_SERVER_ORIGIN : window.location.protocol + '//' + window.location.host;
78
- return fetch(baseUrl + '/symbolicate', {
79
- method: 'POST',
71
+ const baseUrl = typeof window === "undefined" ? process.env.EXPO_DEV_SERVER_ORIGIN : window.location.protocol + "//" + window.location.host;
72
+ return fetch(baseUrl + "/symbolicate", {
73
+ method: "POST",
80
74
  body: JSON.stringify({
81
75
  stack
82
76
  })
@@ -89,7 +83,7 @@ function parseErrorStack(stack) {
89
83
  if (Array.isArray(stack)) {
90
84
  return stack;
91
85
  }
92
- return (0, _stacktraceparser().parse)(stack).map((frame)=>{
86
+ return (0, _stacktraceParser().parse)(stack).map((frame)=>{
93
87
  // frame.file will mostly look like `http://localhost:8081/index.bundle?platform=web&dev=true&hot=false`
94
88
  return {
95
89
  ...frame,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/start/server/metro/log-box/LogBoxSymbolication.ts"],"sourcesContent":["/**\n * Copyright (c) 650 Industries.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { parse, StackFrame as UpstreamStackFrame } from 'stacktrace-parser';\n\nexport type CodeFrame = {\n content: string;\n location?: {\n row: number;\n column: number;\n [key: string]: any;\n } | null;\n fileName: string;\n\n // TODO: When React switched to using call stack frames,\n // we gained the ability to use the collapse flag, but\n // it is not integrated into the LogBox UI.\n collapse?: boolean;\n};\n\nexport type SymbolicatedStackTrace = {\n stack: UpstreamStackFrame[];\n codeFrame?: CodeFrame;\n};\n\nexport type StackFrame = UpstreamStackFrame & { collapse?: boolean };\n\nconst cache: Map<StackFrame[], Promise<SymbolicatedStackTrace>> = new Map();\n\n/**\n * Sanitize because sometimes, `symbolicateStackTrace` gives us invalid values.\n */\nconst sanitize = ({\n stack: maybeStack,\n codeFrame,\n}: SymbolicatedStackTrace): SymbolicatedStackTrace => {\n if (!Array.isArray(maybeStack)) {\n throw new Error('Expected stack to be an array.');\n }\n const stack: StackFrame[] = [];\n for (const maybeFrame of maybeStack) {\n let collapse = false;\n if ('collapse' in maybeFrame) {\n if (typeof maybeFrame.collapse !== 'boolean') {\n throw new Error('Expected stack frame `collapse` to be a boolean.');\n }\n collapse = maybeFrame.collapse;\n }\n stack.push({\n arguments: [],\n column: maybeFrame.column,\n file: maybeFrame.file,\n lineNumber: maybeFrame.lineNumber,\n methodName: maybeFrame.methodName,\n collapse,\n });\n }\n return { stack, codeFrame };\n};\n\nexport function deleteStack(stack: StackFrame[]): void {\n cache.delete(stack);\n}\n\nexport function symbolicate(stack: StackFrame[]): Promise<SymbolicatedStackTrace> {\n let promise = cache.get(stack);\n if (promise == null) {\n promise = symbolicateStackTrace(stack).then(sanitize);\n cache.set(stack, promise);\n }\n\n return promise;\n}\n\nasync function symbolicateStackTrace(stack: UpstreamStackFrame[]): Promise<SymbolicatedStackTrace> {\n const baseUrl =\n typeof window === 'undefined'\n ? process.env.EXPO_DEV_SERVER_ORIGIN\n : window.location.protocol + '//' + window.location.host;\n\n return fetch(baseUrl + '/symbolicate', {\n method: 'POST',\n body: JSON.stringify({ stack }),\n }).then((res) => res.json());\n}\n\nexport function parseErrorStack(stack?: string): (UpstreamStackFrame & { collapse?: boolean })[] {\n if (stack == null) {\n return [];\n }\n if (Array.isArray(stack)) {\n return stack;\n }\n\n return parse(stack).map((frame) => {\n // frame.file will mostly look like `http://localhost:8081/index.bundle?platform=web&dev=true&hot=false`\n return {\n ...frame,\n column: frame.column != null ? frame.column - 1 : null,\n };\n });\n}\n"],"names":["deleteStack","parseErrorStack","symbolicate","cache","Map","sanitize","stack","maybeStack","codeFrame","Array","isArray","Error","maybeFrame","collapse","push","arguments","column","file","lineNumber","methodName","delete","promise","get","symbolicateStackTrace","then","set","baseUrl","window","process","env","EXPO_DEV_SERVER_ORIGIN","location","protocol","host","fetch","method","body","JSON","stringify","res","json","parse","map","frame"],"mappings":"AAAA;;;;;;CAMC;;;;;;;;;;;IA0DeA,WAAW;eAAXA;;IA0BAC,eAAe;eAAfA;;IAtBAC,WAAW;eAAXA;;;;yBA7DwC;;;;;;AAwBxD,MAAMC,QAA4D,IAAIC;AAEtE;;CAEC,GACD,MAAMC,WAAW,CAAC,EAChBC,OAAOC,UAAU,EACjBC,SAAS,EACc;IACvB,IAAI,CAACC,MAAMC,OAAO,CAACH,aAAa;QAC9B,MAAM,IAAII,MAAM;IAClB;IACA,MAAML,QAAsB,EAAE;IAC9B,KAAK,MAAMM,cAAcL,WAAY;QACnC,IAAIM,WAAW;QACf,IAAI,cAAcD,YAAY;YAC5B,IAAI,OAAOA,WAAWC,QAAQ,KAAK,WAAW;gBAC5C,MAAM,IAAIF,MAAM;YAClB;YACAE,WAAWD,WAAWC,QAAQ;QAChC;QACAP,MAAMQ,IAAI,CAAC;YACTC,WAAW,EAAE;YACbC,QAAQJ,WAAWI,MAAM;YACzBC,MAAML,WAAWK,IAAI;YACrBC,YAAYN,WAAWM,UAAU;YACjCC,YAAYP,WAAWO,UAAU;YACjCN;QACF;IACF;IACA,OAAO;QAAEP;QAAOE;IAAU;AAC5B;AAEO,SAASR,YAAYM,KAAmB;IAC7CH,MAAMiB,MAAM,CAACd;AACf;AAEO,SAASJ,YAAYI,KAAmB;IAC7C,IAAIe,UAAUlB,MAAMmB,GAAG,CAAChB;IACxB,IAAIe,WAAW,MAAM;QACnBA,UAAUE,sBAAsBjB,OAAOkB,IAAI,CAACnB;QAC5CF,MAAMsB,GAAG,CAACnB,OAAOe;IACnB;IAEA,OAAOA;AACT;AAEA,eAAeE,sBAAsBjB,KAA2B;IAC9D,MAAMoB,UACJ,OAAOC,WAAW,cACdC,QAAQC,GAAG,CAACC,sBAAsB,GAClCH,OAAOI,QAAQ,CAACC,QAAQ,GAAG,OAAOL,OAAOI,QAAQ,CAACE,IAAI;IAE5D,OAAOC,MAAMR,UAAU,gBAAgB;QACrCS,QAAQ;QACRC,MAAMC,KAAKC,SAAS,CAAC;YAAEhC;QAAM;IAC/B,GAAGkB,IAAI,CAAC,CAACe,MAAQA,IAAIC,IAAI;AAC3B;AAEO,SAASvC,gBAAgBK,KAAc;IAC5C,IAAIA,SAAS,MAAM;QACjB,OAAO,EAAE;IACX;IACA,IAAIG,MAAMC,OAAO,CAACJ,QAAQ;QACxB,OAAOA;IACT;IAEA,OAAOmC,IAAAA,yBAAK,EAACnC,OAAOoC,GAAG,CAAC,CAACC;QACvB,wGAAwG;QACxG,OAAO;YACL,GAAGA,KAAK;YACR3B,QAAQ2B,MAAM3B,MAAM,IAAI,OAAO2B,MAAM3B,MAAM,GAAG,IAAI;QACpD;IACF;AACF"}
1
+ {"version":3,"sources":["../../../../../../src/start/server/metro/log-box/LogBoxSymbolication.ts"],"sourcesContent":["/**\n * Copyright (c) 650 Industries.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { parse, StackFrame as UpstreamStackFrame } from 'stacktrace-parser';\n\nexport type CodeFrame = {\n content: string;\n location?: {\n row: number;\n column: number;\n [key: string]: any;\n } | null;\n fileName: string;\n\n // TODO: When React switched to using call stack frames,\n // we gained the ability to use the collapse flag, but\n // it is not integrated into the LogBox UI.\n collapse?: boolean;\n};\n\nexport type SymbolicatedStackTrace = {\n stack: UpstreamStackFrame[];\n codeFrame?: CodeFrame;\n};\n\nexport type StackFrame = UpstreamStackFrame & { collapse?: boolean };\n\nconst cache: Map<StackFrame[], Promise<SymbolicatedStackTrace>> = new Map();\n\n/**\n * Sanitize because sometimes, `symbolicateStackTrace` gives us invalid values.\n */\nconst sanitize = ({\n stack: maybeStack,\n codeFrame,\n}: SymbolicatedStackTrace): SymbolicatedStackTrace => {\n if (!Array.isArray(maybeStack)) {\n throw new Error('Expected stack to be an array.');\n }\n const stack: StackFrame[] = [];\n for (const maybeFrame of maybeStack) {\n let collapse = false;\n if ('collapse' in maybeFrame) {\n if (typeof maybeFrame.collapse !== 'boolean') {\n throw new Error('Expected stack frame `collapse` to be a boolean.');\n }\n collapse = maybeFrame.collapse;\n }\n stack.push({\n arguments: [],\n column: maybeFrame.column,\n file: maybeFrame.file,\n lineNumber: maybeFrame.lineNumber,\n methodName: maybeFrame.methodName,\n collapse,\n });\n }\n return { stack, codeFrame };\n};\n\nexport function deleteStack(stack: StackFrame[]): void {\n cache.delete(stack);\n}\n\nexport function symbolicate(stack: StackFrame[]): Promise<SymbolicatedStackTrace> {\n let promise = cache.get(stack);\n if (promise == null) {\n promise = symbolicateStackTrace(stack).then(sanitize);\n cache.set(stack, promise);\n }\n\n return promise;\n}\n\nasync function symbolicateStackTrace(stack: UpstreamStackFrame[]): Promise<SymbolicatedStackTrace> {\n const baseUrl =\n typeof window === 'undefined'\n ? process.env.EXPO_DEV_SERVER_ORIGIN\n : window.location.protocol + '//' + window.location.host;\n\n return fetch(baseUrl + '/symbolicate', {\n method: 'POST',\n body: JSON.stringify({ stack }),\n }).then((res) => res.json());\n}\n\nexport function parseErrorStack(stack?: string): (UpstreamStackFrame & { collapse?: boolean })[] {\n if (stack == null) {\n return [];\n }\n if (Array.isArray(stack)) {\n return stack;\n }\n\n return parse(stack).map((frame) => {\n // frame.file will mostly look like `http://localhost:8081/index.bundle?platform=web&dev=true&hot=false`\n return {\n ...frame,\n column: frame.column != null ? frame.column - 1 : null,\n };\n });\n}\n"],"names":["deleteStack","symbolicate","parseErrorStack","cache","Map","sanitize","stack","maybeStack","codeFrame","Array","isArray","Error","maybeFrame","collapse","push","arguments","column","file","lineNumber","methodName","delete","promise","get","symbolicateStackTrace","then","set","baseUrl","window","process","env","EXPO_DEV_SERVER_ORIGIN","location","protocol","host","fetch","method","body","JSON","stringify","res","json","parse","map","frame"],"mappings":"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"}
@@ -9,20 +9,16 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- formatProjectFilePath: function() {
13
- return formatProjectFilePath;
14
- },
15
- getStackFormattedLocation: function() {
16
- return getStackFormattedLocation;
17
- }
12
+ formatProjectFilePath: ()=>formatProjectFilePath,
13
+ getStackFormattedLocation: ()=>getStackFormattedLocation
18
14
  });
19
15
  function formatProjectFilePath(projectRoot, file) {
20
16
  if (file == null) {
21
- return '<unknown>';
17
+ return "<unknown>";
22
18
  }
23
- return pathRelativeToPath(file.replace(/\\/g, '/'), projectRoot.replace(/\\/g, '/')).replace(/\?.*$/, '');
19
+ return pathRelativeToPath(file.replace(/\\/g, "/"), projectRoot.replace(/\\/g, "/")).replace(/\?.*$/, "");
24
20
  }
25
- function pathRelativeToPath(path, relativeTo, sep = '/') {
21
+ function pathRelativeToPath(path, relativeTo, sep = "/") {
26
22
  const relativeToParts = relativeTo.split(sep);
27
23
  const pathParts = path.split(sep);
28
24
  let i = 0;
@@ -36,7 +32,7 @@ function pathRelativeToPath(path, relativeTo, sep = '/') {
36
32
  }
37
33
  function getStackFormattedLocation(projectRoot, frame) {
38
34
  const column = frame.column != null && parseInt(String(frame.column), 10);
39
- const location = formatProjectFilePath(projectRoot, frame.file) + (frame.lineNumber != null ? ':' + frame.lineNumber + (column && !isNaN(column) ? ':' + (column + 1) : '') : '');
35
+ const location = formatProjectFilePath(projectRoot, frame.file) + (frame.lineNumber != null ? ":" + frame.lineNumber + (column && !isNaN(column) ? ":" + (column + 1) : "") : "");
40
36
  return location;
41
37
  }
42
38
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/start/server/metro/log-box/formatProjectFilePath.ts"],"sourcesContent":["import type { StackFrame } from 'stacktrace-parser';\n\nexport type MetroStackFrame = StackFrame & { collapse?: boolean };\n\nexport function formatProjectFilePath(projectRoot: string, file?: string | null): string {\n if (file == null) {\n return '<unknown>';\n }\n\n return pathRelativeToPath(file.replace(/\\\\/g, '/'), projectRoot.replace(/\\\\/g, '/')).replace(\n /\\?.*$/,\n ''\n );\n}\n\nfunction pathRelativeToPath(path: string, relativeTo: string, sep = '/') {\n const relativeToParts = relativeTo.split(sep);\n const pathParts = path.split(sep);\n let i = 0;\n while (i < relativeToParts.length && i < pathParts.length) {\n if (relativeToParts[i] !== pathParts[i]) {\n break;\n }\n i++;\n }\n return pathParts.slice(i).join(sep);\n}\n\nexport function getStackFormattedLocation(projectRoot: string, frame: MetroStackFrame) {\n const column = frame.column != null && parseInt(String(frame.column), 10);\n const location =\n formatProjectFilePath(projectRoot, frame.file) +\n (frame.lineNumber != null\n ? ':' + frame.lineNumber + (column && !isNaN(column) ? ':' + (column + 1) : '')\n : '');\n\n return location;\n}\n"],"names":["formatProjectFilePath","getStackFormattedLocation","projectRoot","file","pathRelativeToPath","replace","path","relativeTo","sep","relativeToParts","split","pathParts","i","length","slice","join","frame","column","parseInt","String","location","lineNumber","isNaN"],"mappings":";;;;;;;;;;;IAIgBA,qBAAqB;eAArBA;;IAwBAC,yBAAyB;eAAzBA;;;AAxBT,SAASD,sBAAsBE,WAAmB,EAAEC,IAAoB;IAC7E,IAAIA,QAAQ,MAAM;QAChB,OAAO;IACT;IAEA,OAAOC,mBAAmBD,KAAKE,OAAO,CAAC,OAAO,MAAMH,YAAYG,OAAO,CAAC,OAAO,MAAMA,OAAO,CAC1F,SACA;AAEJ;AAEA,SAASD,mBAAmBE,IAAY,EAAEC,UAAkB,EAAEC,MAAM,GAAG;IACrE,MAAMC,kBAAkBF,WAAWG,KAAK,CAACF;IACzC,MAAMG,YAAYL,KAAKI,KAAK,CAACF;IAC7B,IAAII,IAAI;IACR,MAAOA,IAAIH,gBAAgBI,MAAM,IAAID,IAAID,UAAUE,MAAM,CAAE;QACzD,IAAIJ,eAAe,CAACG,EAAE,KAAKD,SAAS,CAACC,EAAE,EAAE;YACvC;QACF;QACAA;IACF;IACA,OAAOD,UAAUG,KAAK,CAACF,GAAGG,IAAI,CAACP;AACjC;AAEO,SAASP,0BAA0BC,WAAmB,EAAEc,KAAsB;IACnF,MAAMC,SAASD,MAAMC,MAAM,IAAI,QAAQC,SAASC,OAAOH,MAAMC,MAAM,GAAG;IACtE,MAAMG,WACJpB,sBAAsBE,aAAac,MAAMb,IAAI,IAC5Ca,CAAAA,MAAMK,UAAU,IAAI,OACjB,MAAML,MAAMK,UAAU,GAAIJ,CAAAA,UAAU,CAACK,MAAML,UAAU,MAAOA,CAAAA,SAAS,CAAA,IAAK,EAAC,IAC3E,EAAC;IAEP,OAAOG;AACT"}
1
+ {"version":3,"sources":["../../../../../../src/start/server/metro/log-box/formatProjectFilePath.ts"],"sourcesContent":["import type { StackFrame } from 'stacktrace-parser';\n\nexport type MetroStackFrame = StackFrame & { collapse?: boolean };\n\nexport function formatProjectFilePath(projectRoot: string, file?: string | null): string {\n if (file == null) {\n return '<unknown>';\n }\n\n return pathRelativeToPath(file.replace(/\\\\/g, '/'), projectRoot.replace(/\\\\/g, '/')).replace(\n /\\?.*$/,\n ''\n );\n}\n\nfunction pathRelativeToPath(path: string, relativeTo: string, sep = '/') {\n const relativeToParts = relativeTo.split(sep);\n const pathParts = path.split(sep);\n let i = 0;\n while (i < relativeToParts.length && i < pathParts.length) {\n if (relativeToParts[i] !== pathParts[i]) {\n break;\n }\n i++;\n }\n return pathParts.slice(i).join(sep);\n}\n\nexport function getStackFormattedLocation(projectRoot: string, frame: MetroStackFrame) {\n const column = frame.column != null && parseInt(String(frame.column), 10);\n const location =\n formatProjectFilePath(projectRoot, frame.file) +\n (frame.lineNumber != null\n ? ':' + frame.lineNumber + (column && !isNaN(column) ? ':' + (column + 1) : '')\n : '');\n\n return location;\n}\n"],"names":["formatProjectFilePath","getStackFormattedLocation","projectRoot","file","pathRelativeToPath","replace","path","relativeTo","sep","relativeToParts","split","pathParts","i","length","slice","join","frame","column","parseInt","String","location","lineNumber","isNaN"],"mappings":"AAAA;;;;;;;;;;;IAIgBA,qBAAqB,MAArBA,qBAAqB;IAwBrBC,yBAAyB,MAAzBA,yBAAyB;;AAxBlC,SAASD,qBAAqB,CAACE,WAAmB,EAAEC,IAAoB,EAAU;IACvF,IAAIA,IAAI,IAAI,IAAI,EAAE;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAOC,kBAAkB,CAACD,IAAI,CAACE,OAAO,QAAQ,GAAG,CAAC,EAAEH,WAAW,CAACG,OAAO,QAAQ,GAAG,CAAC,CAAC,CAACA,OAAO,UAE1F,EAAE,CACH,CAAC;AACJ,CAAC;AAED,SAASD,kBAAkB,CAACE,IAAY,EAAEC,UAAkB,EAAEC,GAAG,GAAG,GAAG,EAAE;IACvE,MAAMC,eAAe,GAAGF,UAAU,CAACG,KAAK,CAACF,GAAG,CAAC,AAAC;IAC9C,MAAMG,SAAS,GAAGL,IAAI,CAACI,KAAK,CAACF,GAAG,CAAC,AAAC;IAClC,IAAII,CAAC,GAAG,CAAC,AAAC;IACV,MAAOA,CAAC,GAAGH,eAAe,CAACI,MAAM,IAAID,CAAC,GAAGD,SAAS,CAACE,MAAM,CAAE;QACzD,IAAIJ,eAAe,CAACG,CAAC,CAAC,KAAKD,SAAS,CAACC,CAAC,CAAC,EAAE;YACvC,MAAM;QACR,CAAC;QACDA,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAOD,SAAS,CAACG,KAAK,CAACF,CAAC,CAAC,CAACG,IAAI,CAACP,GAAG,CAAC,CAAC;AACtC,CAAC;AAEM,SAASP,yBAAyB,CAACC,WAAmB,EAAEc,KAAsB,EAAE;IACrF,MAAMC,MAAM,GAAGD,KAAK,CAACC,MAAM,IAAI,IAAI,IAAIC,QAAQ,CAACC,MAAM,CAACH,KAAK,CAACC,MAAM,CAAC,EAAE,EAAE,CAAC,AAAC;IAC1E,MAAMG,QAAQ,GACZpB,qBAAqB,CAACE,WAAW,EAAEc,KAAK,CAACb,IAAI,CAAC,GAC9C,CAACa,KAAK,CAACK,UAAU,IAAI,IAAI,GACrB,GAAG,GAAGL,KAAK,CAACK,UAAU,GAAG,CAACJ,MAAM,IAAI,CAACK,KAAK,CAACL,MAAM,CAAC,GAAG,GAAG,GAAG,CAACA,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAC7E,EAAE,CAAC,AAAC;IAEV,OAAOG,QAAQ,CAAC;AAClB,CAAC"}