@expo/cli 0.18.0 → 0.18.2

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 (653) hide show
  1. package/build/bin/cli +90 -114
  2. package/build/bin/cli.map +1 -1
  3. package/build/src/api/endpoint.js +11 -3
  4. package/build/src/api/endpoint.js.map +1 -1
  5. package/build/src/api/getExpoGoIntermediateCertificate.js +7 -4
  6. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  7. package/build/src/api/getExpoSchema.js +13 -11
  8. package/build/src/api/getExpoSchema.js.map +1 -1
  9. package/build/src/api/getNativeModuleVersions.js +7 -4
  10. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  11. package/build/src/api/getProjectDevelopmentCertificate.js +7 -4
  12. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  13. package/build/src/api/getVersions.js +7 -4
  14. package/build/src/api/getVersions.js.map +1 -1
  15. package/build/src/api/graphql/client.js +55 -35
  16. package/build/src/api/graphql/client.js.map +1 -1
  17. package/build/src/api/graphql/queries/AppQuery.js +9 -7
  18. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  19. package/build/src/api/graphql/queries/UserQuery.js +7 -5
  20. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  21. package/build/src/api/graphql/types/App.js +6 -4
  22. package/build/src/api/graphql/types/App.js.map +1 -1
  23. package/build/src/api/rest/cache/FileSystemCache.js +6 -4
  24. package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
  25. package/build/src/api/rest/cache/response.js +4 -1
  26. package/build/src/api/rest/cache/response.js.map +1 -1
  27. package/build/src/api/rest/cache/wrapFetchWithCache.js +21 -12
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  29. package/build/src/api/rest/client.js +36 -29
  30. package/build/src/api/rest/client.js.map +1 -1
  31. package/build/src/api/rest/wrapFetchWithBaseUrl.js +4 -1
  32. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithOffline.js +5 -2
  34. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithProgress.js +40 -19
  36. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProxy.js +7 -4
  38. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  39. package/build/src/api/settings.js +9 -4
  40. package/build/src/api/settings.js.map +1 -1
  41. package/build/src/api/updateDevelopmentSession.js +16 -8
  42. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  43. package/build/src/api/user/UserSettings.js +10 -8
  44. package/build/src/api/user/UserSettings.js.map +1 -1
  45. package/build/src/api/user/actions.js +66 -41
  46. package/build/src/api/user/actions.js.map +1 -1
  47. package/build/src/api/user/expoSsoLauncher.js +46 -25
  48. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  49. package/build/src/api/user/otp.js +70 -50
  50. package/build/src/api/user/otp.js.map +1 -1
  51. package/build/src/api/user/user.js +66 -41
  52. package/build/src/api/user/user.js.map +1 -1
  53. package/build/src/config/configAsync.js +62 -43
  54. package/build/src/config/configAsync.js.map +1 -1
  55. package/build/src/config/index.js +46 -30
  56. package/build/src/config/index.js.map +1 -1
  57. package/build/src/customize/customizeAsync.js +14 -11
  58. package/build/src/customize/customizeAsync.js.map +1 -1
  59. package/build/src/customize/generate.js +61 -46
  60. package/build/src/customize/generate.js.map +1 -1
  61. package/build/src/customize/index.js +10 -8
  62. package/build/src/customize/index.js.map +1 -1
  63. package/build/src/customize/resolveOptions.js +7 -4
  64. package/build/src/customize/resolveOptions.js.map +1 -1
  65. package/build/src/customize/templates.js +31 -34
  66. package/build/src/customize/templates.js.map +1 -1
  67. package/build/src/customize/typescript.js +43 -28
  68. package/build/src/customize/typescript.js.map +1 -1
  69. package/build/src/export/createMetadataJson.js +7 -6
  70. package/build/src/export/createMetadataJson.js.map +1 -1
  71. package/build/src/export/embed/exportEmbedAsync.js +51 -38
  72. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  73. package/build/src/export/embed/index.js +48 -36
  74. package/build/src/export/embed/index.js.map +1 -1
  75. package/build/src/export/embed/resolveOptions.js +7 -4
  76. package/build/src/export/embed/resolveOptions.js.map +1 -1
  77. package/build/src/export/embed/xcodeCompilerLogger.js +20 -8
  78. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  79. package/build/src/export/exportApp.js +84 -67
  80. package/build/src/export/exportApp.js.map +1 -1
  81. package/build/src/export/exportAssets.js +62 -43
  82. package/build/src/export/exportAssets.js.map +1 -1
  83. package/build/src/export/exportAsync.js +47 -26
  84. package/build/src/export/exportAsync.js.map +1 -1
  85. package/build/src/export/exportHermes.js +19 -11
  86. package/build/src/export/exportHermes.js.map +1 -1
  87. package/build/src/export/exportStaticAsync.js +49 -38
  88. package/build/src/export/exportStaticAsync.js.map +1 -1
  89. package/build/src/export/favicon.js +19 -11
  90. package/build/src/export/favicon.js.map +1 -1
  91. package/build/src/export/fork-bundleAsync.js +42 -39
  92. package/build/src/export/fork-bundleAsync.js.map +1 -1
  93. package/build/src/export/getPublicExpoManifest.js +9 -6
  94. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  95. package/build/src/export/getResolvedLocales.js +7 -4
  96. package/build/src/export/getResolvedLocales.js.map +1 -1
  97. package/build/src/export/html.js +12 -4
  98. package/build/src/export/html.js.map +1 -1
  99. package/build/src/export/index.js +49 -33
  100. package/build/src/export/index.js.map +1 -1
  101. package/build/src/export/metroAssetLocalPath.js +22 -6
  102. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  103. package/build/src/export/persistMetroAssets.js +38 -24
  104. package/build/src/export/persistMetroAssets.js.map +1 -1
  105. package/build/src/export/publicFolder.js +15 -7
  106. package/build/src/export/publicFolder.js.map +1 -1
  107. package/build/src/export/resolveOptions.js +19 -15
  108. package/build/src/export/resolveOptions.js.map +1 -1
  109. package/build/src/export/saveAssets.js +42 -38
  110. package/build/src/export/saveAssets.js.map +1 -1
  111. package/build/src/export/web/exportWebAsync.js +15 -12
  112. package/build/src/export/web/exportWebAsync.js.map +1 -1
  113. package/build/src/export/web/index.js +47 -31
  114. package/build/src/export/web/index.js.map +1 -1
  115. package/build/src/export/web/resolveOptions.js +4 -1
  116. package/build/src/export/web/resolveOptions.js.map +1 -1
  117. package/build/src/export/writeContents.js +12 -7
  118. package/build/src/export/writeContents.js.map +1 -1
  119. package/build/src/graphql/generated.js +141 -128
  120. package/build/src/graphql/generated.js.map +1 -1
  121. package/build/src/install/applyPlugins.js +43 -25
  122. package/build/src/install/applyPlugins.js.map +1 -1
  123. package/build/src/install/checkPackages.js +55 -35
  124. package/build/src/install/checkPackages.js.map +1 -1
  125. package/build/src/install/fixPackages.js +52 -35
  126. package/build/src/install/fixPackages.js.map +1 -1
  127. package/build/src/install/index.js +15 -13
  128. package/build/src/install/index.js.map +1 -1
  129. package/build/src/install/installAsync.js +90 -65
  130. package/build/src/install/installAsync.js.map +1 -1
  131. package/build/src/install/installExpoPackage.js +48 -27
  132. package/build/src/install/installExpoPackage.js.map +1 -1
  133. package/build/src/install/resolveOptions.js +8 -5
  134. package/build/src/install/resolveOptions.js.map +1 -1
  135. package/build/src/install/utils/autoAddConfigPlugins.js +15 -7
  136. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  137. package/build/src/lint/ESlintPrerequisite.js +174 -0
  138. package/build/src/lint/ESlintPrerequisite.js.map +1 -0
  139. package/build/src/lint/index.js +66 -0
  140. package/build/src/lint/index.js.map +1 -0
  141. package/build/src/lint/lintAsync.js +33 -0
  142. package/build/src/lint/lintAsync.js.map +1 -0
  143. package/build/src/log.js +20 -14
  144. package/build/src/log.js.map +1 -1
  145. package/build/src/login/index.js +43 -25
  146. package/build/src/login/index.js.map +1 -1
  147. package/build/src/logout/index.js +43 -25
  148. package/build/src/logout/index.js.map +1 -1
  149. package/build/src/prebuild/clearNativeFolder.js +65 -42
  150. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  151. package/build/src/prebuild/configureProjectAsync.js +50 -29
  152. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  153. package/build/src/prebuild/copyTemplateFiles.js +19 -13
  154. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  155. package/build/src/prebuild/ensureConfigAsync.js +54 -28
  156. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  157. package/build/src/prebuild/index.js +52 -38
  158. package/build/src/prebuild/index.js.map +1 -1
  159. package/build/src/prebuild/prebuildAsync.js +68 -51
  160. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  161. package/build/src/prebuild/renameTemplateAppName.js +15 -10
  162. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  163. package/build/src/prebuild/resolveOptions.js +60 -35
  164. package/build/src/prebuild/resolveOptions.js.map +1 -1
  165. package/build/src/prebuild/resolveTemplate.js +66 -40
  166. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  167. package/build/src/prebuild/updateFromTemplate.js +67 -44
  168. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  169. package/build/src/prebuild/updatePackageJson.js +70 -49
  170. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  171. package/build/src/prebuild/validateTemplatePlatforms.js +44 -23
  172. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  173. package/build/src/register/index.js +43 -25
  174. package/build/src/register/index.js.map +1 -1
  175. package/build/src/register/registerAsync.js +14 -11
  176. package/build/src/register/registerAsync.js.map +1 -1
  177. package/build/src/run/android/index.js +47 -31
  178. package/build/src/run/android/index.js.map +1 -1
  179. package/build/src/run/android/resolveDevice.js +9 -6
  180. package/build/src/run/android/resolveDevice.js.map +1 -1
  181. package/build/src/run/android/resolveGradlePropsAsync.js +10 -9
  182. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  183. package/build/src/run/android/resolveInstallApkName.js +14 -12
  184. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  185. package/build/src/run/android/resolveLaunchProps.js +6 -3
  186. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  187. package/build/src/run/android/resolveOptions.js +12 -9
  188. package/build/src/run/android/resolveOptions.js.map +1 -1
  189. package/build/src/run/android/runAndroidAsync.js +27 -24
  190. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  191. package/build/src/run/ensureNativeProject.js +11 -8
  192. package/build/src/run/ensureNativeProject.js.map +1 -1
  193. package/build/src/run/hints.js +15 -7
  194. package/build/src/run/hints.js.map +1 -1
  195. package/build/src/run/index.js +49 -35
  196. package/build/src/run/index.js.map +1 -1
  197. package/build/src/run/ios/XcodeBuild.js +75 -51
  198. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  199. package/build/src/run/ios/appleDevice/AppleDevice.js +31 -24
  200. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  201. package/build/src/run/ios/appleDevice/ClientManager.js +66 -33
  202. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  203. package/build/src/run/ios/appleDevice/client/AFCClient.js +73 -47
  204. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  205. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +53 -26
  206. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  207. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +15 -6
  208. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  209. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +54 -27
  210. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  211. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +56 -30
  212. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  213. package/build/src/run/ios/appleDevice/client/ServiceClient.js +18 -4
  214. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  215. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +22 -13
  216. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  217. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +57 -31
  218. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  219. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +79 -66
  220. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  221. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +28 -14
  222. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  223. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +24 -11
  224. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  225. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +26 -13
  226. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  227. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +23 -10
  228. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  229. package/build/src/run/ios/codeSigning/Security.js +27 -20
  230. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  231. package/build/src/run/ios/codeSigning/configureCodeSigning.js +49 -28
  232. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  233. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +61 -36
  234. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  235. package/build/src/run/ios/codeSigning/settings.js +11 -3
  236. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  237. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +7 -5
  238. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  239. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +14 -8
  240. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  241. package/build/src/run/ios/index.js +50 -34
  242. package/build/src/run/ios/index.js.map +1 -1
  243. package/build/src/run/ios/launchApp.js +52 -31
  244. package/build/src/run/ios/launchApp.js.map +1 -1
  245. package/build/src/run/ios/options/promptDevice.js +17 -13
  246. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  247. package/build/src/run/ios/options/resolveDevice.js +63 -39
  248. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  249. package/build/src/run/ios/options/resolveNativeScheme.js +57 -34
  250. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  251. package/build/src/run/ios/options/resolveOptions.js +15 -12
  252. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  253. package/build/src/run/ios/options/resolveXcodeProject.js +6 -3
  254. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  255. package/build/src/run/ios/runIosAsync.js +63 -42
  256. package/build/src/run/ios/runIosAsync.js.map +1 -1
  257. package/build/src/run/resolveBundlerProps.js +8 -5
  258. package/build/src/run/resolveBundlerProps.js.map +1 -1
  259. package/build/src/run/startBundler.js +47 -26
  260. package/build/src/run/startBundler.js.map +1 -1
  261. package/build/src/start/detectDevClient.js +6 -3
  262. package/build/src/start/detectDevClient.js.map +1 -1
  263. package/build/src/start/doctor/Prerequisite.js +15 -7
  264. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  265. package/build/src/start/doctor/SecurityBinPrerequisite.js +7 -4
  266. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  267. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +44 -23
  268. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  269. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +44 -23
  270. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  271. package/build/src/start/doctor/apple/XcodePrerequisite.js +61 -36
  272. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  273. package/build/src/start/doctor/apple/XcrunPrerequisite.js +15 -12
  274. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  275. package/build/src/start/doctor/dependencies/bundledNativeModules.js +49 -28
  276. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  277. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +98 -53
  278. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  279. package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -9
  280. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  281. package/build/src/start/doctor/dependencies/getVersionedPackages.js +23 -15
  282. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  283. package/build/src/start/doctor/dependencies/resolvePackages.js +19 -13
  284. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  285. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +63 -41
  286. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  287. package/build/src/start/doctor/ngrok/ExternalModule.js +64 -39
  288. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  289. package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -5
  290. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  291. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +59 -41
  292. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  293. package/build/src/start/doctor/typescript/updateTSConfig.js +59 -36
  294. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  295. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +57 -31
  296. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  297. package/build/src/start/index.js +56 -42
  298. package/build/src/start/index.js.map +1 -1
  299. package/build/src/start/interface/KeyPressHandler.js +43 -22
  300. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  301. package/build/src/start/interface/commandsTable.js +60 -38
  302. package/build/src/start/interface/commandsTable.js.map +1 -1
  303. package/build/src/start/interface/interactiveActions.js +85 -68
  304. package/build/src/start/interface/interactiveActions.js.map +1 -1
  305. package/build/src/start/interface/startInterface.js +78 -57
  306. package/build/src/start/interface/startInterface.js.map +1 -1
  307. package/build/src/start/platforms/AppIdResolver.js +9 -6
  308. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  309. package/build/src/start/platforms/DeviceManager.js +41 -20
  310. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  311. package/build/src/start/platforms/ExpoGoInstaller.js +55 -35
  312. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  313. package/build/src/start/platforms/PlatformManager.js +19 -17
  314. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  315. package/build/src/start/platforms/android/ADBServer.js +15 -12
  316. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  317. package/build/src/start/platforms/android/AndroidAppIdResolver.js +6 -4
  318. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  319. package/build/src/start/platforms/android/AndroidDeviceManager.js +70 -50
  320. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  321. package/build/src/start/platforms/android/AndroidPlatformManager.js +9 -6
  322. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  323. package/build/src/start/platforms/android/AndroidSdk.js +11 -8
  324. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  325. package/build/src/start/platforms/android/activateWindow.js +43 -22
  326. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  327. package/build/src/start/platforms/android/adb.js +73 -52
  328. package/build/src/start/platforms/android/adb.js.map +1 -1
  329. package/build/src/start/platforms/android/adbReverse.js +57 -31
  330. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  331. package/build/src/start/platforms/android/emulator.js +63 -42
  332. package/build/src/start/platforms/android/emulator.js.map +1 -1
  333. package/build/src/start/platforms/android/getDevices.js +11 -10
  334. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  335. package/build/src/start/platforms/android/gradle.js +18 -11
  336. package/build/src/start/platforms/android/gradle.js.map +1 -1
  337. package/build/src/start/platforms/android/promptAndroidDevice.js +14 -14
  338. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  339. package/build/src/start/platforms/ios/AppleAppIdResolver.js +7 -4
  340. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  341. package/build/src/start/platforms/ios/AppleDeviceManager.js +80 -54
  342. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  343. package/build/src/start/platforms/ios/ApplePlatformManager.js +7 -4
  344. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  345. package/build/src/start/platforms/ios/assertSystemRequirements.js +11 -8
  346. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  347. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +50 -29
  348. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  349. package/build/src/start/platforms/ios/getBestSimulator.js +53 -29
  350. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  351. package/build/src/start/platforms/ios/promptAppleDevice.js +18 -12
  352. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  353. package/build/src/start/platforms/ios/simctl.js +65 -42
  354. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  355. package/build/src/start/platforms/ios/simctlLogging.js +67 -44
  356. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  357. package/build/src/start/platforms/ios/xcrun.js +8 -5
  358. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  359. package/build/src/start/project/devices.js +19 -16
  360. package/build/src/start/project/devices.js.map +1 -1
  361. package/build/src/start/project/dotExpo.js +13 -5
  362. package/build/src/start/project/dotExpo.js.map +1 -1
  363. package/build/src/start/project/settings.js +6 -4
  364. package/build/src/start/project/settings.js.map +1 -1
  365. package/build/src/start/resolveOptions.js +26 -19
  366. package/build/src/start/resolveOptions.js.map +1 -1
  367. package/build/src/start/server/AsyncNgrok.js +66 -46
  368. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  369. package/build/src/start/server/BundlerDevServer.js +64 -44
  370. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  371. package/build/src/start/server/DevServerManager.js +81 -69
  372. package/build/src/start/server/DevServerManager.js.map +1 -1
  373. package/build/src/start/server/DevToolsPluginManager.js +21 -16
  374. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  375. package/build/src/start/server/DevelopmentSession.js +49 -31
  376. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  377. package/build/src/start/server/ReactDevToolsProxy.js +14 -6
  378. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  379. package/build/src/start/server/UrlCreator.js +44 -23
  380. package/build/src/start/server/UrlCreator.js.map +1 -1
  381. package/build/src/start/server/getStaticRenderFunctions.js +46 -34
  382. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  383. package/build/src/start/server/metro/MetroBundlerDevServer.js +135 -108
  384. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  385. package/build/src/start/server/metro/MetroTerminalReporter.js +24 -17
  386. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  387. package/build/src/start/server/metro/TerminalReporter.js +18 -8
  388. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  389. package/build/src/start/server/metro/createExpoMetroResolver.js +31 -20
  390. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  391. package/build/src/start/server/metro/createJResolver.js +76 -51
  392. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  393. package/build/src/start/server/metro/createServerRouteMiddleware.js +22 -14
  394. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  395. package/build/src/start/server/metro/debugging/MessageHandler.js +4 -1
  396. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  397. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +10 -9
  398. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  399. package/build/src/start/server/metro/debugging/createHandlersFactory.js +14 -13
  400. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  401. package/build/src/start/server/metro/debugging/getDebuggerType.js +5 -2
  402. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  403. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +5 -2
  404. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  405. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +5 -2
  406. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -1
  407. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -4
  408. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  409. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +7 -4
  410. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  411. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -4
  412. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  413. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +7 -4
  414. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  415. package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -1
  416. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  417. package/build/src/start/server/metro/externals.js +21 -10
  418. package/build/src/start/server/metro/externals.js.map +1 -1
  419. package/build/src/start/server/metro/fetchRouterManifest.js +20 -7
  420. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  421. package/build/src/start/server/metro/formatFileCandidates.js +21 -17
  422. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  423. package/build/src/start/server/metro/getCssModulesFromBundler.js +15 -7
  424. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  425. package/build/src/start/server/metro/instantiateMetro.js +57 -44
  426. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  427. package/build/src/start/server/metro/metroErrorInterface.js +43 -34
  428. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  429. package/build/src/start/server/metro/metroErrors.js +11 -2
  430. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  431. package/build/src/start/server/metro/metroVirtualModules.js +10 -2
  432. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  433. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +5 -2
  434. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  435. package/build/src/start/server/metro/router.js +27 -20
  436. package/build/src/start/server/metro/router.js.map +1 -1
  437. package/build/src/start/server/metro/runServer-fork.js +21 -14
  438. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  439. package/build/src/start/server/metro/serializeHtml.js +7 -7
  440. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  441. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +12 -4
  442. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  443. package/build/src/start/server/metro/withMetroMultiPlatform.js +107 -81
  444. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  445. package/build/src/start/server/metro/withMetroResolvers.js +72 -42
  446. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  447. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +4 -1
  448. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  449. package/build/src/start/server/middleware/CorsMiddleware.js +4 -1
  450. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  451. package/build/src/start/server/middleware/CreateFileMiddleware.js +13 -5
  452. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  453. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +15 -12
  454. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  455. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +30 -23
  456. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  457. package/build/src/start/server/middleware/ExpoMiddleware.js +47 -21
  458. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  459. package/build/src/start/server/middleware/FaviconMiddleware.js +8 -5
  460. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  461. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +6 -3
  462. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  463. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +23 -16
  464. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  465. package/build/src/start/server/middleware/ManifestMiddleware.js +84 -60
  466. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  467. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +14 -7
  468. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  469. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +47 -26
  470. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  471. package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -8
  472. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  473. package/build/src/start/server/middleware/inspector/JsInspector.js +30 -24
  474. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  475. package/build/src/start/server/middleware/inspector/LaunchBrowser.js +16 -8
  476. package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
  477. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +4 -2
  478. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -1
  479. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +16 -12
  480. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
  481. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +59 -37
  482. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
  483. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +22 -16
  484. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
  485. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +9 -6
  486. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  487. package/build/src/start/server/middleware/inspector/middlwareMutations.js +11 -4
  488. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  489. package/build/src/start/server/middleware/metroOptions.js +26 -18
  490. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  491. package/build/src/start/server/middleware/mutations.js +11 -4
  492. package/build/src/start/server/middleware/mutations.js.map +1 -1
  493. package/build/src/start/server/middleware/resolveAssets.js +65 -41
  494. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  495. package/build/src/start/server/middleware/resolvePlatform.js +14 -6
  496. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  497. package/build/src/start/server/middleware/suppressErrorMiddleware.js +4 -1
  498. package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -1
  499. package/build/src/start/server/openPlatforms.js +7 -6
  500. package/build/src/start/server/openPlatforms.js.map +1 -1
  501. package/build/src/start/server/platformBundlers.js +5 -2
  502. package/build/src/start/server/platformBundlers.js.map +1 -1
  503. package/build/src/start/server/serverLogLikeMetro.js +62 -33
  504. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  505. package/build/src/start/server/type-generation/expo-env.js +12 -4
  506. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  507. package/build/src/start/server/type-generation/routes.js +52 -51
  508. package/build/src/start/server/type-generation/routes.js.map +1 -1
  509. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +22 -19
  510. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  511. package/build/src/start/server/type-generation/tsconfig.js +18 -11
  512. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  513. package/build/src/start/server/webTemplate.js +21 -15
  514. package/build/src/start/server/webTemplate.js.map +1 -1
  515. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +81 -56
  516. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  517. package/build/src/start/server/webpack/compile.js +47 -26
  518. package/build/src/start/server/webpack/compile.js.map +1 -1
  519. package/build/src/start/server/webpack/formatWebpackMessages.js +35 -25
  520. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  521. package/build/src/start/server/webpack/resolveFromProject.js +13 -5
  522. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  523. package/build/src/start/server/webpack/tls.js +54 -28
  524. package/build/src/start/server/webpack/tls.js.map +1 -1
  525. package/build/src/start/startAsync.js +73 -52
  526. package/build/src/start/startAsync.js.map +1 -1
  527. package/build/src/utils/FileNotifier.js +46 -25
  528. package/build/src/utils/FileNotifier.js.map +1 -1
  529. package/build/src/utils/analytics/getDevClientProperties.js +29 -21
  530. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
  531. package/build/src/utils/analytics/getMetroDebugProperties.js +4 -1
  532. package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -1
  533. package/build/src/utils/analytics/getMetroProperties.js +4 -1
  534. package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
  535. package/build/src/utils/analytics/metroDebuggerMiddleware.js +14 -6
  536. package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
  537. package/build/src/utils/ansi.js +5 -2
  538. package/build/src/utils/ansi.js.map +1 -1
  539. package/build/src/utils/args.js +57 -29
  540. package/build/src/utils/args.js.map +1 -1
  541. package/build/src/utils/array.js +16 -9
  542. package/build/src/utils/array.js.map +1 -1
  543. package/build/src/utils/cocoapods.js +77 -53
  544. package/build/src/utils/cocoapods.js.map +1 -1
  545. package/build/src/utils/codesigning.js +80 -58
  546. package/build/src/utils/codesigning.js.map +1 -1
  547. package/build/src/utils/createFileTransform.js +13 -5
  548. package/build/src/utils/createFileTransform.js.map +1 -1
  549. package/build/src/utils/delay.js +13 -6
  550. package/build/src/utils/delay.js.map +1 -1
  551. package/build/src/utils/dir.js +24 -21
  552. package/build/src/utils/dir.js.map +1 -1
  553. package/build/src/utils/downloadAppAsync.js +16 -13
  554. package/build/src/utils/downloadAppAsync.js.map +1 -1
  555. package/build/src/utils/downloadExpoGoAsync.js +26 -20
  556. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  557. package/build/src/utils/editor.js +50 -24
  558. package/build/src/utils/editor.js.map +1 -1
  559. package/build/src/utils/env.js +35 -33
  560. package/build/src/utils/env.js.map +1 -1
  561. package/build/src/utils/errors.js +17 -9
  562. package/build/src/utils/errors.js.map +1 -1
  563. package/build/src/utils/exit.js +10 -7
  564. package/build/src/utils/exit.js.map +1 -1
  565. package/build/src/utils/findUp.js +22 -4
  566. package/build/src/utils/findUp.js.map +1 -1
  567. package/build/src/utils/fn.js +11 -3
  568. package/build/src/utils/fn.js.map +1 -1
  569. package/build/src/utils/getOrPromptApplicationId.js +71 -45
  570. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  571. package/build/src/utils/getRunningProcess.js +52 -26
  572. package/build/src/utils/getRunningProcess.js.map +1 -1
  573. package/build/src/utils/git.js +64 -38
  574. package/build/src/utils/git.js.map +1 -1
  575. package/build/src/utils/glob.js +14 -9
  576. package/build/src/utils/glob.js.map +1 -1
  577. package/build/src/utils/interactive.js +5 -2
  578. package/build/src/utils/interactive.js.map +1 -1
  579. package/build/src/utils/ip.js +5 -2
  580. package/build/src/utils/ip.js.map +1 -1
  581. package/build/src/utils/isModuleSymlinked.js +7 -4
  582. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  583. package/build/src/utils/link.js +13 -5
  584. package/build/src/utils/link.js.map +1 -1
  585. package/build/src/utils/mergeGitIgnorePaths.js +22 -17
  586. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  587. package/build/src/utils/modifyConfigAsync.js +56 -30
  588. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  589. package/build/src/utils/modifyConfigPlugins.js +43 -22
  590. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  591. package/build/src/utils/nodeEnv.js +6 -1
  592. package/build/src/utils/nodeEnv.js.map +1 -1
  593. package/build/src/utils/nodeModules.js +9 -6
  594. package/build/src/utils/nodeModules.js.map +1 -1
  595. package/build/src/utils/npm.js +32 -24
  596. package/build/src/utils/npm.js.map +1 -1
  597. package/build/src/utils/obj.js +12 -4
  598. package/build/src/utils/obj.js.map +1 -1
  599. package/build/src/utils/open.js +7 -4
  600. package/build/src/utils/open.js.map +1 -1
  601. package/build/src/utils/ora.js +25 -21
  602. package/build/src/utils/ora.js.map +1 -1
  603. package/build/src/utils/plist.js +53 -27
  604. package/build/src/utils/plist.js.map +1 -1
  605. package/build/src/utils/port.js +58 -32
  606. package/build/src/utils/port.js.map +1 -1
  607. package/build/src/utils/profile.js +49 -28
  608. package/build/src/utils/profile.js.map +1 -1
  609. package/build/src/utils/progress.js +16 -12
  610. package/build/src/utils/progress.js.map +1 -1
  611. package/build/src/utils/prompts.js +33 -28
  612. package/build/src/utils/prompts.js.map +1 -1
  613. package/build/src/utils/resolveArgs.js +23 -20
  614. package/build/src/utils/resolveArgs.js.map +1 -1
  615. package/build/src/utils/scheme.js +61 -37
  616. package/build/src/utils/scheme.js.map +1 -1
  617. package/build/src/utils/strings.js +11 -4
  618. package/build/src/utils/strings.js.map +1 -1
  619. package/build/src/utils/tar.js +43 -22
  620. package/build/src/utils/tar.js.map +1 -1
  621. package/build/src/utils/telemetry/DetachedClient.js +8 -5
  622. package/build/src/utils/telemetry/DetachedClient.js.map +1 -1
  623. package/build/src/utils/telemetry/RudderClient.js +12 -9
  624. package/build/src/utils/telemetry/RudderClient.js.map +1 -1
  625. package/build/src/utils/telemetry/flushDetached.js +8 -7
  626. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  627. package/build/src/utils/telemetry/getContext.js +48 -28
  628. package/build/src/utils/telemetry/getContext.js.map +1 -1
  629. package/build/src/utils/telemetry/index.js +16 -11
  630. package/build/src/utils/telemetry/index.js.map +1 -1
  631. package/build/src/utils/template.js +27 -2
  632. package/build/src/utils/template.js.map +1 -1
  633. package/build/src/utils/terminal.js +5 -2
  634. package/build/src/utils/terminal.js.map +1 -1
  635. package/build/src/utils/tsconfig/evaluateTsConfig.js +18 -12
  636. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  637. package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -10
  638. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  639. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +8 -4
  640. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  641. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -9
  642. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  643. package/build/src/utils/url.js +17 -10
  644. package/build/src/utils/url.js.map +1 -1
  645. package/build/src/utils/validateApplicationId.js +32 -25
  646. package/build/src/utils/validateApplicationId.js.map +1 -1
  647. package/build/src/utils/variadic.js +15 -11
  648. package/build/src/utils/variadic.js.map +1 -1
  649. package/build/src/whoami/index.js +43 -25
  650. package/build/src/whoami/index.js.map +1 -1
  651. package/build/src/whoami/whoamiAsync.js +44 -23
  652. package/build/src/whoami/whoamiAsync.js.map +1 -1
  653. package/package.json +4 -4
@@ -2,7 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.logCmdError = logCmdError;
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ CommandError: ()=>CommandError,
13
+ AbortCommandError: ()=>AbortCommandError,
14
+ SilentError: ()=>SilentError,
15
+ logCmdError: ()=>logCmdError,
16
+ UnimplementedError: ()=>UnimplementedError
17
+ });
6
18
  function _assert() {
7
19
  const data = require("assert");
8
20
  _assert = function() {
@@ -11,13 +23,13 @@ function _assert() {
11
23
  return data;
12
24
  }
13
25
  function _chalk() {
14
- const data = _interopRequireDefault(require("chalk"));
26
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
15
27
  _chalk = function() {
16
28
  return data;
17
29
  };
18
30
  return data;
19
31
  }
20
- var _log = require("../log");
32
+ const _log = require("../log");
21
33
  function _interopRequireDefault(obj) {
22
34
  return obj && obj.__esModule ? obj : {
23
35
  default: obj
@@ -38,13 +50,11 @@ class CommandError extends Error {
38
50
  this.message = message || code;
39
51
  }
40
52
  }
41
- exports.CommandError = CommandError;
42
53
  class AbortCommandError extends CommandError {
43
54
  constructor(){
44
55
  super("ABORTED", "Interactive prompt was cancelled.");
45
56
  }
46
57
  }
47
- exports.AbortCommandError = AbortCommandError;
48
58
  class SilentError extends CommandError {
49
59
  constructor(messageOrError){
50
60
  var ref;
@@ -59,7 +69,6 @@ class SilentError extends CommandError {
59
69
  }
60
70
  }
61
71
  }
62
- exports.SilentError = SilentError;
63
72
  function logCmdError(error) {
64
73
  if (!(error instanceof Error)) {
65
74
  throw error;
@@ -69,10 +78,10 @@ function logCmdError(error) {
69
78
  process.exit(0);
70
79
  } else if (error instanceof CommandError || error instanceof _assert().AssertionError || error.name === "ApiV2Error" || error.name === "ConfigError") {
71
80
  // Print the stack trace in debug mode only.
72
- (0, _log).exit(error);
81
+ (0, _log.exit)(error);
73
82
  }
74
83
  const errorDetails = error.stack ? "\n" + _chalk().default.gray(error.stack) : "";
75
- (0, _log).exit(_chalk().default.red(error.toString()) + errorDetails);
84
+ (0, _log.exit)(_chalk().default.red(error.toString()) + errorDetails);
76
85
  }
77
86
  class UnimplementedError extends Error {
78
87
  constructor(){
@@ -80,6 +89,5 @@ class UnimplementedError extends Error {
80
89
  this.name = "UnimplementedError";
81
90
  }
82
91
  }
83
- exports.UnimplementedError = UnimplementedError;
84
92
 
85
93
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/errors.ts"],"sourcesContent":["import { AssertionError } from 'assert';\nimport chalk from 'chalk';\n\nimport { exit } from '../log';\n\nconst ERROR_PREFIX = 'Error: ';\n\n/**\n * General error, formatted as a message in red text when caught by expo-cli (no stack trace is printed). Should be used in favor of `log.error()` in most cases.\n */\nexport class CommandError extends Error {\n name = 'CommandError';\n readonly isCommandError = true;\n\n constructor(\n public code: string,\n message: string = ''\n ) {\n super('');\n // If e.toString() was called to get `message` we don't want it to look\n // like \"Error: Error:\".\n if (message.startsWith(ERROR_PREFIX)) {\n message = message.substring(ERROR_PREFIX.length);\n }\n\n this.message = message || code;\n }\n}\n\nexport class AbortCommandError extends CommandError {\n constructor() {\n super('ABORTED', 'Interactive prompt was cancelled.');\n }\n}\n\n/**\n * Used to end a CLI process without printing a stack trace in the Expo CLI. Should be used in favor of `process.exit`.\n */\nexport class SilentError extends CommandError {\n constructor(messageOrError?: string | Error) {\n const message =\n (typeof messageOrError === 'string' ? messageOrError : messageOrError?.message) ??\n 'This error should fail silently in the CLI';\n super('SILENT', message);\n if (typeof messageOrError !== 'string') {\n // forward the props of the incoming error for tests or processes outside of expo-cli that use expo cli internals.\n this.stack = messageOrError?.stack ?? this.stack;\n this.name = messageOrError?.name ?? this.name;\n }\n }\n}\n\nexport function logCmdError(error: any): never {\n if (!(error instanceof Error)) {\n throw error;\n }\n if (error instanceof AbortCommandError || error instanceof SilentError) {\n // Do nothing, this is used for prompts or other cases that were custom logged.\n process.exit(0);\n } else if (\n error instanceof CommandError ||\n error instanceof AssertionError ||\n error.name === 'ApiV2Error' ||\n error.name === 'ConfigError'\n ) {\n // Print the stack trace in debug mode only.\n exit(error);\n }\n\n const errorDetails = error.stack ? '\\n' + chalk.gray(error.stack) : '';\n\n exit(chalk.red(error.toString()) + errorDetails);\n}\n\n/** This should never be thrown in production. */\nexport class UnimplementedError extends Error {\n constructor() {\n super('Unimplemented');\n this.name = 'UnimplementedError';\n }\n}\n"],"names":["logCmdError","ERROR_PREFIX","CommandError","Error","constructor","code","message","name","isCommandError","startsWith","substring","length","AbortCommandError","SilentError","messageOrError","stack","error","process","exit","AssertionError","errorDetails","chalk","gray","red","toString","UnimplementedError"],"mappings":"AAAA;;;;QAoDgBA,WAAW,GAAXA,WAAW;SApDI,OAAQ;yBAAR,QAAQ;IAAR,OAAQ;;;;;SACrB,MAAO;gDAAP,OAAO;IAAP,MAAO;;;;;AAEJ,IAAA,IAAQ,WAAR,QAAQ,CAAA;;;;;;AAE7B,MAAMC,YAAY,GAAG,SAAS,AAAC;AAKxB,MAAMC,YAAY,SAASC,KAAK;IAIrCC,YACSC,IAAY,EACnBC,OAAe,GAAG,EAAE,CACpB;QACA,KAAK,CAAC,EAAE,CAAC,CAAC;aAHHD,IAAY,GAAZA,IAAY;aAJrBE,IAAI,GAAG,cAAc;aACZC,cAAc,GAAG,IAAI;QAO5B,uEAAuE;QACvE,wBAAwB;QACxB,IAAIF,OAAO,CAACG,UAAU,CAACR,YAAY,CAAC,EAAE;YACpCK,OAAO,GAAGA,OAAO,CAACI,SAAS,CAACT,YAAY,CAACU,MAAM,CAAC,CAAC;SAClD;QAED,IAAI,CAACL,OAAO,GAAGA,OAAO,IAAID,IAAI,CAAC;KAChC;CACF;QAjBYH,YAAY,GAAZA,YAAY;AAmBlB,MAAMU,iBAAiB,SAASV,YAAY;IACjDE,aAAc;QACZ,KAAK,CAAC,SAAS,EAAE,mCAAmC,CAAC,CAAC;KACvD;CACF;QAJYQ,iBAAiB,GAAjBA,iBAAiB;AASvB,MAAMC,WAAW,SAASX,YAAY;IAC3CE,YAAYU,cAA+B,CAAE;YAEzC,GAA+E;QADjF,MAAMR,OAAO,GACX,CAAA,GAA+E,GAA9E,OAAOQ,cAAc,KAAK,QAAQ,GAAGA,cAAc,GAAGA,cAAc,QAAS,GAAvBA,KAAAA,CAAuB,GAAvBA,cAAc,CAAER,OAAO,YAA9E,GAA+E,GAC/E,4CAA4C,AAAC;QAC/C,KAAK,CAAC,QAAQ,EAAEA,OAAO,CAAC,CAAC;QACzB,IAAI,OAAOQ,cAAc,KAAK,QAAQ,EAAE;gBAEzBA,IAAqB;YADlC,kHAAkH;YAClH,IAAI,CAACC,KAAK,GAAGD,CAAAA,IAAqB,GAArBA,cAAc,QAAO,GAArBA,KAAAA,CAAqB,GAArBA,cAAc,CAAEC,KAAK,YAArBD,IAAqB,GAAI,IAAI,CAACC,KAAK,CAAC;gBACrCD,IAAoB;YAAhC,IAAI,CAACP,IAAI,GAAGO,CAAAA,IAAoB,GAApBA,cAAc,QAAM,GAApBA,KAAAA,CAAoB,GAApBA,cAAc,CAAEP,IAAI,YAApBO,IAAoB,GAAI,IAAI,CAACP,IAAI,CAAC;SAC/C;KACF;CACF;QAZYM,WAAW,GAAXA,WAAW;AAcjB,SAASb,WAAW,CAACgB,KAAU,EAAS;IAC7C,IAAI,CAAC,CAACA,KAAK,YAAYb,KAAK,CAAC,EAAE;QAC7B,MAAMa,KAAK,CAAC;KACb;IACD,IAAIA,KAAK,YAAYJ,iBAAiB,IAAII,KAAK,YAAYH,WAAW,EAAE;QACtE,+EAA+E;QAC/EI,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB,MAAM,IACLF,KAAK,YAAYd,YAAY,IAC7Bc,KAAK,YAAYG,OAAc,iBAAA,IAC/BH,KAAK,CAACT,IAAI,KAAK,YAAY,IAC3BS,KAAK,CAACT,IAAI,KAAK,aAAa,EAC5B;QACA,4CAA4C;QAC5CW,CAAAA,GAAAA,IAAI,AAAO,CAAA,KAAP,CAACF,KAAK,CAAC,CAAC;KACb;IAED,MAAMI,YAAY,GAAGJ,KAAK,CAACD,KAAK,GAAG,IAAI,GAAGM,MAAK,UAAA,CAACC,IAAI,CAACN,KAAK,CAACD,KAAK,CAAC,GAAG,EAAE,AAAC;IAEvEG,CAAAA,GAAAA,IAAI,AAA4C,CAAA,KAA5C,CAACG,MAAK,UAAA,CAACE,GAAG,CAACP,KAAK,CAACQ,QAAQ,EAAE,CAAC,GAAGJ,YAAY,CAAC,CAAC;CAClD;AAGM,MAAMK,kBAAkB,SAAStB,KAAK;IAC3CC,aAAc;QACZ,KAAK,CAAC,eAAe,CAAC,CAAC;QACvB,IAAI,CAACG,IAAI,GAAG,oBAAoB,CAAC;KAClC;CACF;QALYkB,kBAAkB,GAAlBA,kBAAkB"}
1
+ {"version":3,"sources":["../../../src/utils/errors.ts"],"sourcesContent":["import { AssertionError } from 'assert';\nimport chalk from 'chalk';\n\nimport { exit } from '../log';\n\nconst ERROR_PREFIX = 'Error: ';\n\n/**\n * General error, formatted as a message in red text when caught by expo-cli (no stack trace is printed). Should be used in favor of `log.error()` in most cases.\n */\nexport class CommandError extends Error {\n name = 'CommandError';\n readonly isCommandError = true;\n\n constructor(\n public code: string,\n message: string = ''\n ) {\n super('');\n // If e.toString() was called to get `message` we don't want it to look\n // like \"Error: Error:\".\n if (message.startsWith(ERROR_PREFIX)) {\n message = message.substring(ERROR_PREFIX.length);\n }\n\n this.message = message || code;\n }\n}\n\nexport class AbortCommandError extends CommandError {\n constructor() {\n super('ABORTED', 'Interactive prompt was cancelled.');\n }\n}\n\n/**\n * Used to end a CLI process without printing a stack trace in the Expo CLI. Should be used in favor of `process.exit`.\n */\nexport class SilentError extends CommandError {\n constructor(messageOrError?: string | Error) {\n const message =\n (typeof messageOrError === 'string' ? messageOrError : messageOrError?.message) ??\n 'This error should fail silently in the CLI';\n super('SILENT', message);\n if (typeof messageOrError !== 'string') {\n // forward the props of the incoming error for tests or processes outside of expo-cli that use expo cli internals.\n this.stack = messageOrError?.stack ?? this.stack;\n this.name = messageOrError?.name ?? this.name;\n }\n }\n}\n\nexport function logCmdError(error: any): never {\n if (!(error instanceof Error)) {\n throw error;\n }\n if (error instanceof AbortCommandError || error instanceof SilentError) {\n // Do nothing, this is used for prompts or other cases that were custom logged.\n process.exit(0);\n } else if (\n error instanceof CommandError ||\n error instanceof AssertionError ||\n error.name === 'ApiV2Error' ||\n error.name === 'ConfigError'\n ) {\n // Print the stack trace in debug mode only.\n exit(error);\n }\n\n const errorDetails = error.stack ? '\\n' + chalk.gray(error.stack) : '';\n\n exit(chalk.red(error.toString()) + errorDetails);\n}\n\n/** This should never be thrown in production. */\nexport class UnimplementedError extends Error {\n constructor() {\n super('Unimplemented');\n this.name = 'UnimplementedError';\n }\n}\n"],"names":["CommandError","AbortCommandError","SilentError","logCmdError","UnimplementedError","ERROR_PREFIX","Error","constructor","code","message","name","isCommandError","startsWith","substring","length","messageOrError","stack","error","process","exit","AssertionError","errorDetails","chalk","gray","red","toString"],"mappings":"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"}
@@ -2,8 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.installExitHooks = installExitHooks;
6
- var _fn = require("./fn");
5
+ Object.defineProperty(exports, "installExitHooks", {
6
+ enumerable: true,
7
+ get: ()=>installExitHooks
8
+ });
9
+ const _fn = require("./fn");
7
10
  const debug = require("debug")("expo:utils:exit");
8
11
  const PRE_EXIT_SIGNALS = [
9
12
  "SIGHUP",
@@ -35,7 +38,7 @@ function installExitHooks(asyncExitHook) {
35
38
  }
36
39
  // Create a function that runs before the process exits and guards against running multiple times.
37
40
  function createExitHook(signal) {
38
- return (0, _fn).guardAsync(async ()=>{
41
+ return (0, _fn.guardAsync)(async ()=>{
39
42
  debug(`pre-exit (signal: ${signal}, queue length: ${queue.length})`);
40
43
  for (const [index, hookAsync] of Object.entries(queue)){
41
44
  try {
@@ -51,13 +54,13 @@ function createExitHook(signal) {
51
54
  }
52
55
  function attachMasterListener() {
53
56
  const hooks = [];
54
- for (const signal1 of PRE_EXIT_SIGNALS){
55
- const hook = createExitHook(signal1);
57
+ for (const signal of PRE_EXIT_SIGNALS){
58
+ const hook = createExitHook(signal);
56
59
  hooks.push([
57
- signal1,
60
+ signal,
58
61
  hook
59
62
  ]);
60
- process.on(signal1, hook);
63
+ process.on(signal, hook);
61
64
  }
62
65
  return ()=>{
63
66
  for (const [signal, hook] of hooks){
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/exit.ts"],"sourcesContent":["import { guardAsync } from './fn';\n\nconst debug = require('debug')('expo:utils:exit') as typeof console.log;\n\ntype AsyncExitHook = (signal: NodeJS.Signals) => void | Promise<void>;\n\nconst PRE_EXIT_SIGNALS: NodeJS.Signals[] = ['SIGHUP', 'SIGINT', 'SIGTERM', 'SIGBREAK'];\n\n// We create a queue since Node.js throws an error if we try to append too many listeners:\n// (node:4405) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added to [process]. Use emitter.setMaxListeners() to increase limit\nconst queue: AsyncExitHook[] = [];\n\nlet unsubscribe: (() => void) | null = null;\n\n/** Add functions that run before the process exits. Returns a function for removing the listeners. */\nexport function installExitHooks(asyncExitHook: AsyncExitHook): () => void {\n // We need to instantiate the master listener the first time the queue is used.\n if (!queue.length) {\n // Track the master listener so we can remove it later.\n unsubscribe = attachMasterListener();\n }\n\n queue.push(asyncExitHook);\n\n return () => {\n const index = queue.indexOf(asyncExitHook);\n if (index >= 0) {\n queue.splice(index, 1);\n }\n // Clean up the master listener if we don't need it anymore.\n if (!queue.length) {\n unsubscribe?.();\n }\n };\n}\n\n// Create a function that runs before the process exits and guards against running multiple times.\nfunction createExitHook(signal: NodeJS.Signals) {\n return guardAsync(async () => {\n debug(`pre-exit (signal: ${signal}, queue length: ${queue.length})`);\n\n for (const [index, hookAsync] of Object.entries(queue)) {\n try {\n await hookAsync(signal);\n } catch (error: any) {\n debug(`Error in exit hook: %O (queue: ${index})`, error);\n }\n }\n\n debug(`post-exit (code: ${process.exitCode ?? 0})`);\n\n process.exit();\n });\n}\n\nfunction attachMasterListener() {\n const hooks: [NodeJS.Signals, () => any][] = [];\n for (const signal of PRE_EXIT_SIGNALS) {\n const hook = createExitHook(signal);\n hooks.push([signal, hook]);\n process.on(signal, hook);\n }\n return () => {\n for (const [signal, hook] of hooks) {\n process.removeListener(signal, hook);\n }\n };\n}\n"],"names":["installExitHooks","debug","require","PRE_EXIT_SIGNALS","queue","unsubscribe","asyncExitHook","length","attachMasterListener","push","index","indexOf","splice","createExitHook","signal","guardAsync","hookAsync","Object","entries","error","process","exitCode","exit","hooks","hook","on","removeListener"],"mappings":"AAAA;;;;QAegBA,gBAAgB,GAAhBA,gBAAgB;AAfL,IAAA,GAAM,WAAN,MAAM,CAAA;AAEjC,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,AAAsB,AAAC;AAIxE,MAAMC,gBAAgB,GAAqB;IAAC,QAAQ;IAAE,QAAQ;IAAE,SAAS;IAAE,UAAU;CAAC,AAAC;AAEvF,0FAA0F;AAC1F,+KAA+K;AAC/K,MAAMC,KAAK,GAAoB,EAAE,AAAC;AAElC,IAAIC,WAAW,GAAwB,IAAI,AAAC;AAGrC,SAASL,gBAAgB,CAACM,aAA4B,EAAc;IACzE,+EAA+E;IAC/E,IAAI,CAACF,KAAK,CAACG,MAAM,EAAE;QACjB,uDAAuD;QACvDF,WAAW,GAAGG,oBAAoB,EAAE,CAAC;KACtC;IAEDJ,KAAK,CAACK,IAAI,CAACH,aAAa,CAAC,CAAC;IAE1B,OAAO,IAAM;QACX,MAAMI,KAAK,GAAGN,KAAK,CAACO,OAAO,CAACL,aAAa,CAAC,AAAC;QAC3C,IAAII,KAAK,IAAI,CAAC,EAAE;YACdN,KAAK,CAACQ,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC,CAAC;SACxB;QACD,4DAA4D;QAC5D,IAAI,CAACN,KAAK,CAACG,MAAM,EAAE;YACjBF,WAAW,QAAI,GAAfA,KAAAA,CAAe,GAAfA,WAAW,EAAI,AA/BrB,CA+BsB;SACjB;KACF,CAAC;CACH;AAED,kGAAkG;AAClG,SAASQ,cAAc,CAACC,MAAsB,EAAE;IAC9C,OAAOC,CAAAA,GAAAA,GAAU,AAcf,CAAA,WAde,CAAC,UAAY;QAC5Bd,KAAK,CAAC,CAAC,kBAAkB,EAAEa,MAAM,CAAC,gBAAgB,EAAEV,KAAK,CAACG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAErE,KAAK,MAAM,CAACG,KAAK,EAAEM,SAAS,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACd,KAAK,CAAC,CAAE;YACtD,IAAI;gBACF,MAAMY,SAAS,CAACF,MAAM,CAAC,CAAC;aACzB,CAAC,OAAOK,KAAK,EAAO;gBACnBlB,KAAK,CAAC,CAAC,+BAA+B,EAAES,KAAK,CAAC,CAAC,CAAC,EAAES,KAAK,CAAC,CAAC;aAC1D;SACF;YAEyBC,SAAgB;QAA1CnB,KAAK,CAAC,CAAC,iBAAiB,EAAEmB,CAAAA,SAAgB,GAAhBA,OAAO,CAACC,QAAQ,YAAhBD,SAAgB,GAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpDA,OAAO,CAACE,IAAI,EAAE,CAAC;KAChB,CAAC,CAAC;CACJ;AAED,SAASd,oBAAoB,GAAG;IAC9B,MAAMe,KAAK,GAAkC,EAAE,AAAC;IAChD,KAAK,MAAMT,OAAM,IAAIX,gBAAgB,CAAE;QACrC,MAAMqB,IAAI,GAAGX,cAAc,CAACC,OAAM,CAAC,AAAC;QACpCS,KAAK,CAACd,IAAI,CAAC;YAACK,OAAM;YAAEU,IAAI;SAAC,CAAC,CAAC;QAC3BJ,OAAO,CAACK,EAAE,CAACX,OAAM,EAAEU,IAAI,CAAC,CAAC;KAC1B;IACD,OAAO,IAAM;QACX,KAAK,MAAM,CAACV,MAAM,EAAEU,IAAI,CAAC,IAAID,KAAK,CAAE;YAClCH,OAAO,CAACM,cAAc,CAACZ,MAAM,EAAEU,IAAI,CAAC,CAAC;SACtC;KACF,CAAC;CACH"}
1
+ {"version":3,"sources":["../../../src/utils/exit.ts"],"sourcesContent":["import { guardAsync } from './fn';\n\nconst debug = require('debug')('expo:utils:exit') as typeof console.log;\n\ntype AsyncExitHook = (signal: NodeJS.Signals) => void | Promise<void>;\n\nconst PRE_EXIT_SIGNALS: NodeJS.Signals[] = ['SIGHUP', 'SIGINT', 'SIGTERM', 'SIGBREAK'];\n\n// We create a queue since Node.js throws an error if we try to append too many listeners:\n// (node:4405) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added to [process]. Use emitter.setMaxListeners() to increase limit\nconst queue: AsyncExitHook[] = [];\n\nlet unsubscribe: (() => void) | null = null;\n\n/** Add functions that run before the process exits. Returns a function for removing the listeners. */\nexport function installExitHooks(asyncExitHook: AsyncExitHook): () => void {\n // We need to instantiate the master listener the first time the queue is used.\n if (!queue.length) {\n // Track the master listener so we can remove it later.\n unsubscribe = attachMasterListener();\n }\n\n queue.push(asyncExitHook);\n\n return () => {\n const index = queue.indexOf(asyncExitHook);\n if (index >= 0) {\n queue.splice(index, 1);\n }\n // Clean up the master listener if we don't need it anymore.\n if (!queue.length) {\n unsubscribe?.();\n }\n };\n}\n\n// Create a function that runs before the process exits and guards against running multiple times.\nfunction createExitHook(signal: NodeJS.Signals) {\n return guardAsync(async () => {\n debug(`pre-exit (signal: ${signal}, queue length: ${queue.length})`);\n\n for (const [index, hookAsync] of Object.entries(queue)) {\n try {\n await hookAsync(signal);\n } catch (error: any) {\n debug(`Error in exit hook: %O (queue: ${index})`, error);\n }\n }\n\n debug(`post-exit (code: ${process.exitCode ?? 0})`);\n\n process.exit();\n });\n}\n\nfunction attachMasterListener() {\n const hooks: [NodeJS.Signals, () => any][] = [];\n for (const signal of PRE_EXIT_SIGNALS) {\n const hook = createExitHook(signal);\n hooks.push([signal, hook]);\n process.on(signal, hook);\n }\n return () => {\n for (const [signal, hook] of hooks) {\n process.removeListener(signal, hook);\n }\n };\n}\n"],"names":["installExitHooks","debug","require","PRE_EXIT_SIGNALS","queue","unsubscribe","asyncExitHook","length","attachMasterListener","push","index","indexOf","splice","createExitHook","signal","guardAsync","hookAsync","Object","entries","error","process","exitCode","exit","hooks","hook","on","removeListener"],"mappings":"AAAA;;;;+BAegBA,kBAAgB;;aAAhBA,gBAAgB;;oBAfL,MAAM;AAEjC,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,AAAsB,AAAC;AAIxE,MAAMC,gBAAgB,GAAqB;IAAC,QAAQ;IAAE,QAAQ;IAAE,SAAS;IAAE,UAAU;CAAC,AAAC;AAEvF,0FAA0F;AAC1F,+KAA+K;AAC/K,MAAMC,KAAK,GAAoB,EAAE,AAAC;AAElC,IAAIC,WAAW,GAAwB,IAAI,AAAC;AAGrC,SAASL,gBAAgB,CAACM,aAA4B,EAAc;IACzE,+EAA+E;IAC/E,IAAI,CAACF,KAAK,CAACG,MAAM,EAAE;QACjB,uDAAuD;QACvDF,WAAW,GAAGG,oBAAoB,EAAE,CAAC;IACvC,CAAC;IAEDJ,KAAK,CAACK,IAAI,CAACH,aAAa,CAAC,CAAC;IAE1B,OAAO,IAAM;QACX,MAAMI,KAAK,GAAGN,KAAK,CAACO,OAAO,CAACL,aAAa,CAAC,AAAC;QAC3C,IAAII,KAAK,IAAI,CAAC,EAAE;YACdN,KAAK,CAACQ,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,4DAA4D;QAC5D,IAAI,CAACN,KAAK,CAACG,MAAM,EAAE;YACjBF,WAAW,QAAI,GAAfA,KAAAA,CAAe,GAAfA,WAAW,EAAI,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,SAASQ,cAAc,CAACC,MAAsB,EAAE;IAC9C,OAAOC,IAAAA,GAAU,WAAA,EAAC,UAAY;QAC5Bd,KAAK,CAAC,CAAC,kBAAkB,EAAEa,MAAM,CAAC,gBAAgB,EAAEV,KAAK,CAACG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAErE,KAAK,MAAM,CAACG,KAAK,EAAEM,SAAS,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACd,KAAK,CAAC,CAAE;YACtD,IAAI;gBACF,MAAMY,SAAS,CAACF,MAAM,CAAC,CAAC;YAC1B,EAAE,OAAOK,KAAK,EAAO;gBACnBlB,KAAK,CAAC,CAAC,+BAA+B,EAAES,KAAK,CAAC,CAAC,CAAC,EAAES,KAAK,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;YAEyBC,SAAgB;QAA1CnB,KAAK,CAAC,CAAC,iBAAiB,EAAEmB,CAAAA,SAAgB,GAAhBA,OAAO,CAACC,QAAQ,YAAhBD,SAAgB,GAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpDA,OAAO,CAACE,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAASd,oBAAoB,GAAG;IAC9B,MAAMe,KAAK,GAAkC,EAAE,AAAC;IAChD,KAAK,MAAMT,MAAM,IAAIX,gBAAgB,CAAE;QACrC,MAAMqB,IAAI,GAAGX,cAAc,CAACC,MAAM,CAAC,AAAC;QACpCS,KAAK,CAACd,IAAI,CAAC;YAACK,MAAM;YAAEU,IAAI;SAAC,CAAC,CAAC;QAC3BJ,OAAO,CAACK,EAAE,CAACX,MAAM,EAAEU,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,IAAM;QACX,KAAK,MAAM,CAACV,MAAM,EAAEU,IAAI,CAAC,IAAID,KAAK,CAAE;YAClCH,OAAO,CAACM,cAAc,CAACZ,MAAM,EAAEU,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -2,22 +2,31 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.findUpProjectRootOrAssert = findUpProjectRootOrAssert;
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ findUpProjectRootOrAssert: ()=>findUpProjectRootOrAssert,
13
+ findFileInParents: ()=>findFileInParents
14
+ });
6
15
  function _path() {
7
- const data = _interopRequireDefault(require("path"));
16
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
8
17
  _path = function() {
9
18
  return data;
10
19
  };
11
20
  return data;
12
21
  }
13
22
  function _resolveFrom() {
14
- const data = _interopRequireDefault(require("resolve-from"));
23
+ const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
15
24
  _resolveFrom = function() {
16
25
  return data;
17
26
  };
18
27
  return data;
19
28
  }
20
- var _errors = require("../utils/errors");
29
+ const _errors = require("../utils/errors");
21
30
  function _interopRequireDefault(obj) {
22
31
  return obj && obj.__esModule ? obj : {
23
32
  default: obj
@@ -41,5 +50,14 @@ function findUpProjectRoot(cwd) {
41
50
  }
42
51
  return findUpProjectRoot(_path().default.dirname(cwd));
43
52
  }
53
+ function findFileInParents(cwd, fileName) {
54
+ if ([
55
+ ".",
56
+ _path().default.sep
57
+ ].includes(cwd)) return null;
58
+ const found = _resolveFrom().default.silent(cwd, `./${fileName}`);
59
+ if (found) return found;
60
+ return findFileInParents(_path().default.dirname(cwd), fileName);
61
+ }
44
62
 
45
63
  //# sourceMappingURL=findUp.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/findUp.ts"],"sourcesContent":["import path from 'path';\nimport resolveFrom from 'resolve-from';\n\nimport { CommandError } from '../utils/errors';\n\n/** Look up directories until one with a `package.json` can be found, assert if none can be found. */\nexport function findUpProjectRootOrAssert(cwd: string): string {\n const projectRoot = findUpProjectRoot(cwd);\n if (!projectRoot) {\n throw new CommandError(`Project root directory not found (working directory: ${cwd})`);\n }\n return projectRoot;\n}\n\nfunction findUpProjectRoot(cwd: string): string | null {\n if (['.', path.sep].includes(cwd)) return null;\n\n const found = resolveFrom.silent(cwd, './package.json');\n if (found) {\n return path.dirname(found);\n }\n return findUpProjectRoot(path.dirname(cwd));\n}\n"],"names":["findUpProjectRootOrAssert","cwd","projectRoot","findUpProjectRoot","CommandError","path","sep","includes","found","resolveFrom","silent","dirname"],"mappings":"AAAA;;;;QAMgBA,yBAAyB,GAAzBA,yBAAyB;SANxB,KAAM;gDAAN,MAAM;IAAN,KAAM;;;;;SACC,YAAc;gDAAd,cAAc;IAAd,YAAc;;;;;AAET,IAAA,OAAiB,WAAjB,iBAAiB,CAAA;;;;;;AAGvC,SAASA,yBAAyB,CAACC,GAAW,EAAU;IAC7D,MAAMC,WAAW,GAAGC,iBAAiB,CAACF,GAAG,CAAC,AAAC;IAC3C,IAAI,CAACC,WAAW,EAAE;QAChB,MAAM,IAAIE,OAAY,aAAA,CAAC,CAAC,qDAAqD,EAAEH,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACxF;IACD,OAAOC,WAAW,CAAC;CACpB;AAED,SAASC,iBAAiB,CAACF,GAAW,EAAiB;IACrD,IAAI;QAAC,GAAG;QAAEI,KAAI,UAAA,CAACC,GAAG;KAAC,CAACC,QAAQ,CAACN,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC;IAE/C,MAAMO,KAAK,GAAGC,YAAW,UAAA,CAACC,MAAM,CAACT,GAAG,EAAE,gBAAgB,CAAC,AAAC;IACxD,IAAIO,KAAK,EAAE;QACT,OAAOH,KAAI,UAAA,CAACM,OAAO,CAACH,KAAK,CAAC,CAAC;KAC5B;IACD,OAAOL,iBAAiB,CAACE,KAAI,UAAA,CAACM,OAAO,CAACV,GAAG,CAAC,CAAC,CAAC;CAC7C"}
1
+ {"version":3,"sources":["../../../src/utils/findUp.ts"],"sourcesContent":["import path from 'path';\nimport resolveFrom from 'resolve-from';\n\nimport { CommandError } from '../utils/errors';\n\n/** Look up directories until one with a `package.json` can be found, assert if none can be found. */\nexport function findUpProjectRootOrAssert(cwd: string): string {\n const projectRoot = findUpProjectRoot(cwd);\n if (!projectRoot) {\n throw new CommandError(`Project root directory not found (working directory: ${cwd})`);\n }\n return projectRoot;\n}\n\nfunction findUpProjectRoot(cwd: string): string | null {\n if (['.', path.sep].includes(cwd)) return null;\n\n const found = resolveFrom.silent(cwd, './package.json');\n if (found) {\n return path.dirname(found);\n }\n return findUpProjectRoot(path.dirname(cwd));\n}\n\n/**\n * Find a file in the (closest) parent directories.\n * This will recursively look for the file, until the root directory is reached.\n */\nexport function findFileInParents(cwd: string, fileName: string): string | null {\n if (['.', path.sep].includes(cwd)) return null;\n\n const found = resolveFrom.silent(cwd, `./${fileName}`);\n if (found) return found;\n\n return findFileInParents(path.dirname(cwd), fileName);\n}\n"],"names":["findUpProjectRootOrAssert","findFileInParents","cwd","projectRoot","findUpProjectRoot","CommandError","path","sep","includes","found","resolveFrom","silent","dirname","fileName"],"mappings":"AAAA;;;;;;;;;;;IAMgBA,yBAAyB,MAAzBA,yBAAyB;IAsBzBC,iBAAiB,MAAjBA,iBAAiB;;;8DA5BhB,MAAM;;;;;;;8DACC,cAAc;;;;;;wBAET,iBAAiB;;;;;;AAGvC,SAASD,yBAAyB,CAACE,GAAW,EAAU;IAC7D,MAAMC,WAAW,GAAGC,iBAAiB,CAACF,GAAG,CAAC,AAAC;IAC3C,IAAI,CAACC,WAAW,EAAE;QAChB,MAAM,IAAIE,OAAY,aAAA,CAAC,CAAC,qDAAqD,EAAEH,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;IACD,OAAOC,WAAW,CAAC;AACrB,CAAC;AAED,SAASC,iBAAiB,CAACF,GAAW,EAAiB;IACrD,IAAI;QAAC,GAAG;QAAEI,KAAI,EAAA,QAAA,CAACC,GAAG;KAAC,CAACC,QAAQ,CAACN,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC;IAE/C,MAAMO,KAAK,GAAGC,YAAW,EAAA,QAAA,CAACC,MAAM,CAACT,GAAG,EAAE,gBAAgB,CAAC,AAAC;IACxD,IAAIO,KAAK,EAAE;QACT,OAAOH,KAAI,EAAA,QAAA,CAACM,OAAO,CAACH,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,OAAOL,iBAAiB,CAACE,KAAI,EAAA,QAAA,CAACM,OAAO,CAACV,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC;AAMM,SAASD,iBAAiB,CAACC,GAAW,EAAEW,QAAgB,EAAiB;IAC9E,IAAI;QAAC,GAAG;QAAEP,KAAI,EAAA,QAAA,CAACC,GAAG;KAAC,CAACC,QAAQ,CAACN,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC;IAE/C,MAAMO,KAAK,GAAGC,YAAW,EAAA,QAAA,CAACC,MAAM,CAACT,GAAG,EAAE,CAAC,EAAE,EAAEW,QAAQ,CAAC,CAAC,CAAC,AAAC;IACvD,IAAIJ,KAAK,EAAE,OAAOA,KAAK,CAAC;IAExB,OAAOR,iBAAiB,CAACK,KAAI,EAAA,QAAA,CAACM,OAAO,CAACV,GAAG,CAAC,EAAEW,QAAQ,CAAC,CAAC;AACxD,CAAC"}
@@ -1,9 +1,17 @@
1
- "use strict";
1
+ /** `lodash.memoize` */ "use strict";
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.memoize = memoize;
6
- exports.guardAsync = guardAsync;
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ memoize: ()=>memoize,
13
+ guardAsync: ()=>guardAsync
14
+ });
7
15
  function memoize(fn) {
8
16
  const cache = {};
9
17
  return (...args)=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/fn.ts"],"sourcesContent":["/** `lodash.memoize` */\nexport function memoize<T extends (...args: any[]) => any>(fn: T): T {\n const cache: { [key: string]: any } = {};\n return ((...args: any[]) => {\n const key = JSON.stringify(args);\n if (cache[key]) {\n return cache[key];\n }\n const result = fn(...args);\n cache[key] = result;\n return result;\n }) as any;\n}\n\n/** memoizes an async function to prevent subsequent calls that might be invoked before the function has finished resolving. */\nexport function guardAsync<V, T extends (...args: any[]) => Promise<V>>(fn: T): T {\n let invoked = false;\n let returnValue: V;\n\n const guard: any = async (...args: any[]): Promise<V> => {\n if (!invoked) {\n invoked = true;\n returnValue = await fn(...args);\n }\n\n return returnValue;\n };\n\n return guard;\n}\n"],"names":["memoize","guardAsync","fn","cache","args","key","JSON","stringify","result","invoked","returnValue","guard"],"mappings":"AACA;;;;QAAgBA,OAAO,GAAPA,OAAO;QAcPC,UAAU,GAAVA,UAAU;AAdnB,SAASD,OAAO,CAAoCE,EAAK,EAAK;IACnE,MAAMC,KAAK,GAA2B,EAAE,AAAC;IACzC,OAAQ,CAAC,GAAGC,IAAI,AAAO,GAAK;QAC1B,MAAMC,GAAG,GAAGC,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC,AAAC;QACjC,IAAID,KAAK,CAACE,GAAG,CAAC,EAAE;YACd,OAAOF,KAAK,CAACE,GAAG,CAAC,CAAC;SACnB;QACD,MAAMG,MAAM,GAAGN,EAAE,IAAIE,IAAI,CAAC,AAAC;QAC3BD,KAAK,CAACE,GAAG,CAAC,GAAGG,MAAM,CAAC;QACpB,OAAOA,MAAM,CAAC;KACf,CAAS;CACX;AAGM,SAASP,UAAU,CAA8CC,EAAK,EAAK;IAChF,IAAIO,OAAO,GAAG,KAAK,AAAC;IACpB,IAAIC,WAAW,AAAG,AAAC;IAEnB,MAAMC,KAAK,GAAQ,OAAO,GAAGP,IAAI,AAAO,GAAiB;QACvD,IAAI,CAACK,OAAO,EAAE;YACZA,OAAO,GAAG,IAAI,CAAC;YACfC,WAAW,GAAG,MAAMR,EAAE,IAAIE,IAAI,CAAC,CAAC;SACjC;QAED,OAAOM,WAAW,CAAC;KACpB,AAAC;IAEF,OAAOC,KAAK,CAAC;CACd"}
1
+ {"version":3,"sources":["../../../src/utils/fn.ts"],"sourcesContent":["/** `lodash.memoize` */\nexport function memoize<T extends (...args: any[]) => any>(fn: T): T {\n const cache: { [key: string]: any } = {};\n return ((...args: any[]) => {\n const key = JSON.stringify(args);\n if (cache[key]) {\n return cache[key];\n }\n const result = fn(...args);\n cache[key] = result;\n return result;\n }) as any;\n}\n\n/** memoizes an async function to prevent subsequent calls that might be invoked before the function has finished resolving. */\nexport function guardAsync<V, T extends (...args: any[]) => Promise<V>>(fn: T): T {\n let invoked = false;\n let returnValue: V;\n\n const guard: any = async (...args: any[]): Promise<V> => {\n if (!invoked) {\n invoked = true;\n returnValue = await fn(...args);\n }\n\n return returnValue;\n };\n\n return guard;\n}\n"],"names":["memoize","guardAsync","fn","cache","args","key","JSON","stringify","result","invoked","returnValue","guard"],"mappings":"AAAA,qBAAqB,GACrB;;;;;;;;;;;IAAgBA,OAAO,MAAPA,OAAO;IAcPC,UAAU,MAAVA,UAAU;;AAdnB,SAASD,OAAO,CAAoCE,EAAK,EAAK;IACnE,MAAMC,KAAK,GAA2B,EAAE,AAAC;IACzC,OAAQ,CAAC,GAAGC,IAAI,AAAO,GAAK;QAC1B,MAAMC,GAAG,GAAGC,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC,AAAC;QACjC,IAAID,KAAK,CAACE,GAAG,CAAC,EAAE;YACd,OAAOF,KAAK,CAACE,GAAG,CAAC,CAAC;QACpB,CAAC;QACD,MAAMG,MAAM,GAAGN,EAAE,IAAIE,IAAI,CAAC,AAAC;QAC3BD,KAAK,CAACE,GAAG,CAAC,GAAGG,MAAM,CAAC;QACpB,OAAOA,MAAM,CAAC;IAChB,CAAC,CAAS;AACZ,CAAC;AAGM,SAASP,UAAU,CAA8CC,EAAK,EAAK;IAChF,IAAIO,OAAO,GAAG,KAAK,AAAC;IACpB,IAAIC,WAAW,AAAG,AAAC;IAEnB,MAAMC,KAAK,GAAQ,OAAO,GAAGP,IAAI,AAAO,GAAiB;QACvD,IAAI,CAACK,OAAO,EAAE;YACZA,OAAO,GAAG,IAAI,CAAC;YACfC,WAAW,GAAG,MAAMR,EAAE,IAAIE,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,OAAOM,WAAW,CAAC;IACrB,CAAC,AAAC;IAEF,OAAOC,KAAK,CAAC;AACf,CAAC"}
@@ -2,8 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.getOrPromptForBundleIdentifier = getOrPromptForBundleIdentifier;
6
- exports.getOrPromptForPackage = getOrPromptForPackage;
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ getOrPromptForBundleIdentifier: ()=>getOrPromptForBundleIdentifier,
13
+ getOrPromptForPackage: ()=>getOrPromptForPackage
14
+ });
7
15
  function _config() {
8
16
  const data = require("@expo/config");
9
17
  _config = function() {
@@ -12,58 +20,76 @@ function _config() {
12
20
  return data;
13
21
  }
14
22
  function _chalk() {
15
- const data = _interopRequireDefault(require("chalk"));
23
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
16
24
  _chalk = function() {
17
25
  return data;
18
26
  };
19
27
  return data;
20
28
  }
21
- var _link = require("./link");
22
- var _modifyConfigAsync = require("./modifyConfigAsync");
23
- var _prompts = _interopRequireWildcard(require("./prompts"));
24
- var _validateApplicationId = require("./validateApplicationId");
25
- var Log = _interopRequireWildcard(require("../log"));
29
+ const _link = require("./link");
30
+ const _modifyConfigAsync = require("./modifyConfigAsync");
31
+ const _prompts = /*#__PURE__*/ _interopRequireWildcard(require("./prompts"));
32
+ const _validateApplicationId = require("./validateApplicationId");
33
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../log"));
26
34
  function _interopRequireDefault(obj) {
27
35
  return obj && obj.__esModule ? obj : {
28
36
  default: obj
29
37
  };
30
38
  }
31
- function _interopRequireWildcard(obj) {
32
- if (obj && obj.__esModule) {
39
+ function _getRequireWildcardCache(nodeInterop) {
40
+ if (typeof WeakMap !== "function") return null;
41
+ var cacheBabelInterop = new WeakMap();
42
+ var cacheNodeInterop = new WeakMap();
43
+ return (_getRequireWildcardCache = function(nodeInterop) {
44
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
45
+ })(nodeInterop);
46
+ }
47
+ function _interopRequireWildcard(obj, nodeInterop) {
48
+ if (!nodeInterop && obj && obj.__esModule) {
33
49
  return obj;
34
- } else {
35
- var newObj = {};
36
- if (obj != null) {
37
- for(var key in obj){
38
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
39
- var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
40
- if (desc.get || desc.set) {
41
- Object.defineProperty(newObj, key, desc);
42
- } else {
43
- newObj[key] = obj[key];
44
- }
45
- }
50
+ }
51
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
52
+ return {
53
+ default: obj
54
+ };
55
+ }
56
+ var cache = _getRequireWildcardCache(nodeInterop);
57
+ if (cache && cache.has(obj)) {
58
+ return cache.get(obj);
59
+ }
60
+ var newObj = {};
61
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
62
+ for(var key in obj){
63
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
64
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
65
+ if (desc && (desc.get || desc.set)) {
66
+ Object.defineProperty(newObj, key, desc);
67
+ } else {
68
+ newObj[key] = obj[key];
46
69
  }
47
70
  }
48
- newObj.default = obj;
49
- return newObj;
50
71
  }
72
+ newObj.default = obj;
73
+ if (cache) {
74
+ cache.set(obj, newObj);
75
+ }
76
+ return newObj;
51
77
  }
52
78
  function getUsernameAsync(exp) {
53
79
  // TODO: Use XDL's UserManager
54
80
  // import { UserManager } from 'xdl';
55
- return _config().getAccountUsername(exp);
81
+ return (0, _config().getAccountUsername)(exp);
56
82
  }
57
83
  const NO_BUNDLE_ID_MESSAGE = `Project must have a \`ios.bundleIdentifier\` set in the Expo config (app.json or app.config.js).`;
58
84
  const NO_PACKAGE_MESSAGE = `Project must have a \`android.package\` set in the Expo config (app.json or app.config.js).`;
59
- async function getOrPromptForBundleIdentifier(projectRoot, exp = _config().getConfig(projectRoot).exp) {
85
+ async function getOrPromptForBundleIdentifier(projectRoot, exp = (0, _config().getConfig)(projectRoot).exp) {
60
86
  var ref;
61
87
  const current = (ref = exp.ios) == null ? void 0 : ref.bundleIdentifier;
62
88
  if (current) {
63
- (0, _validateApplicationId).assertValidBundleId(current);
89
+ (0, _validateApplicationId.assertValidBundleId)(current);
64
90
  return current;
65
91
  }
66
- Log.log(_chalk().default`\n{bold 📝 iOS Bundle Identifier} {dim ${(0, _link).learnMore("https://expo.fyi/bundle-identifier")}}\n`);
92
+ _log.log((0, _chalk().default)`\n{bold 📝 iOS Bundle Identifier} {dim ${(0, _link.learnMore)("https://expo.fyi/bundle-identifier")}}\n`);
67
93
  return await promptForBundleIdAsync(projectRoot, exp);
68
94
  }
69
95
  async function promptForBundleIdAsync(projectRoot, exp) {
@@ -72,7 +98,7 @@ async function promptForBundleIdAsync(projectRoot, exp) {
72
98
  // Even if the project is using a dynamic config we can still
73
99
  // prompt a better error message, recommend a default value, and help the user
74
100
  // validate their custom bundle ID upfront.
75
- const { bundleIdentifier } = await (0, _prompts).default({
101
+ const { bundleIdentifier } = await (0, _prompts.default)({
76
102
  type: "text",
77
103
  name: "bundleIdentifier",
78
104
  initial: (ref = await getRecommendedBundleIdAsync(exp)) != null ? ref : undefined,
@@ -83,13 +109,13 @@ async function promptForBundleIdAsync(projectRoot, exp) {
83
109
  nonInteractiveHelp: NO_BUNDLE_ID_MESSAGE
84
110
  });
85
111
  // Warn the user if the bundle ID is already in use.
86
- const warning = await (0, _validateApplicationId).getBundleIdWarningAsync(bundleIdentifier);
112
+ const warning = await (0, _validateApplicationId.getBundleIdWarningAsync)(bundleIdentifier);
87
113
  if (warning && !await warnAndConfirmAsync(warning)) {
88
114
  // Cycle the Bundle ID prompt to try again.
89
115
  return await promptForBundleIdAsync(projectRoot, exp);
90
116
  }
91
117
  // Apply the changes to the config.
92
- await (0, _modifyConfigAsync).attemptModification(projectRoot, {
118
+ await (0, _modifyConfigAsync.attemptModification)(projectRoot, {
93
119
  ios: {
94
120
  ...exp.ios || {},
95
121
  bundleIdentifier
@@ -102,10 +128,10 @@ async function promptForBundleIdAsync(projectRoot, exp) {
102
128
  return bundleIdentifier;
103
129
  }
104
130
  async function warnAndConfirmAsync(warning) {
105
- Log.log();
106
- Log.warn(warning);
107
- Log.log();
108
- if (!await (0, _prompts).confirmAsync({
131
+ _log.log();
132
+ _log.warn(warning);
133
+ _log.log();
134
+ if (!await (0, _prompts.confirmAsync)({
109
135
  message: `Continue?`,
110
136
  initial: true
111
137
  })) {
@@ -117,13 +143,13 @@ async function warnAndConfirmAsync(warning) {
117
143
  async function getRecommendedBundleIdAsync(exp) {
118
144
  var ref, ref1;
119
145
  // Attempt to use the android package name first since it's convenient to have them aligned.
120
- if (((ref = exp.android) == null ? void 0 : ref.package) && (0, _validateApplicationId).validateBundleId((ref1 = exp.android) == null ? void 0 : ref1.package)) {
146
+ if (((ref = exp.android) == null ? void 0 : ref.package) && (0, _validateApplicationId.validateBundleId)((ref1 = exp.android) == null ? void 0 : ref1.package)) {
121
147
  var ref2;
122
148
  return (ref2 = exp.android) == null ? void 0 : ref2.package;
123
149
  } else {
124
150
  const username = await getUsernameAsync(exp);
125
151
  const possibleId = `com.${username}.${exp.slug}`;
126
- if (username && (0, _validateApplicationId).validateBundleId(possibleId)) {
152
+ if (username && (0, _validateApplicationId.validateBundleId)(possibleId)) {
127
153
  return possibleId;
128
154
  }
129
155
  }
@@ -133,26 +159,26 @@ async function getRecommendedBundleIdAsync(exp) {
133
159
  async function getRecommendedPackageNameAsync(exp) {
134
160
  var ref;
135
161
  // Attempt to use the ios bundle id first since it's convenient to have them aligned.
136
- if (((ref = exp.ios) == null ? void 0 : ref.bundleIdentifier) && (0, _validateApplicationId).validatePackage(exp.ios.bundleIdentifier)) {
162
+ if (((ref = exp.ios) == null ? void 0 : ref.bundleIdentifier) && (0, _validateApplicationId.validatePackage)(exp.ios.bundleIdentifier)) {
137
163
  return exp.ios.bundleIdentifier;
138
164
  } else {
139
165
  const username = await getUsernameAsync(exp);
140
166
  // It's common to use dashes in your node project name, strip them from the suggested package name.
141
167
  const possibleId = `com.${username}.${exp.slug}`.split("-").join("");
142
- if (username && (0, _validateApplicationId).validatePackage(possibleId)) {
168
+ if (username && (0, _validateApplicationId.validatePackage)(possibleId)) {
143
169
  return possibleId;
144
170
  }
145
171
  }
146
172
  return null;
147
173
  }
148
- async function getOrPromptForPackage(projectRoot, exp = _config().getConfig(projectRoot).exp) {
174
+ async function getOrPromptForPackage(projectRoot, exp = (0, _config().getConfig)(projectRoot).exp) {
149
175
  var ref;
150
176
  const current = (ref = exp.android) == null ? void 0 : ref.package;
151
177
  if (current) {
152
- (0, _validateApplicationId).assertValidPackage(current);
178
+ (0, _validateApplicationId.assertValidPackage)(current);
153
179
  return current;
154
180
  }
155
- Log.log(_chalk().default`\n{bold 📝 Android package} {dim ${(0, _link).learnMore("https://expo.fyi/android-package")}}\n`);
181
+ _log.log((0, _chalk().default)`\n{bold 📝 Android package} {dim ${(0, _link.learnMore)("https://expo.fyi/android-package")}}\n`);
156
182
  return await promptForPackageAsync(projectRoot, exp);
157
183
  }
158
184
  async function promptForPackageAsync(projectRoot, exp) {
@@ -161,7 +187,7 @@ async function promptForPackageAsync(projectRoot, exp) {
161
187
  // Even if the project is using a dynamic config we can still
162
188
  // prompt a better error message, recommend a default value, and help the user
163
189
  // validate their custom android package upfront.
164
- const { packageName } = await (0, _prompts).default({
190
+ const { packageName } = await (0, _prompts.default)({
165
191
  type: "text",
166
192
  name: "packageName",
167
193
  initial: (ref = await getRecommendedPackageNameAsync(exp)) != null ? ref : undefined,
@@ -171,13 +197,13 @@ async function promptForPackageAsync(projectRoot, exp) {
171
197
  nonInteractiveHelp: NO_PACKAGE_MESSAGE
172
198
  });
173
199
  // Warn the user if the package name is already in use.
174
- const warning = await (0, _validateApplicationId).getPackageNameWarningAsync(packageName);
200
+ const warning = await (0, _validateApplicationId.getPackageNameWarningAsync)(packageName);
175
201
  if (warning && !await warnAndConfirmAsync(warning)) {
176
202
  // Cycle the Package name prompt to try again.
177
203
  return await promptForPackageAsync(projectRoot, exp);
178
204
  }
179
205
  // Apply the changes to the config.
180
- await (0, _modifyConfigAsync).attemptModification(projectRoot, {
206
+ await (0, _modifyConfigAsync.attemptModification)(projectRoot, {
181
207
  android: {
182
208
  ...exp.android || {},
183
209
  package: packageName
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/getOrPromptApplicationId.ts"],"sourcesContent":["import { ExpoConfig, getAccountUsername, getConfig } from '@expo/config';\nimport chalk from 'chalk';\n\nimport { learnMore } from './link';\nimport { attemptModification } from './modifyConfigAsync';\nimport prompt, { confirmAsync } from './prompts';\nimport {\n assertValidBundleId,\n assertValidPackage,\n getBundleIdWarningAsync,\n getPackageNameWarningAsync,\n validateBundleId,\n validatePackage,\n validatePackageWithWarning,\n} from './validateApplicationId';\nimport * as Log from '../log';\n\nfunction getUsernameAsync(exp: ExpoConfig) {\n // TODO: Use XDL's UserManager\n // import { UserManager } from 'xdl';\n return getAccountUsername(exp);\n}\n\nconst NO_BUNDLE_ID_MESSAGE = `Project must have a \\`ios.bundleIdentifier\\` set in the Expo config (app.json or app.config.js).`;\n\nconst NO_PACKAGE_MESSAGE = `Project must have a \\`android.package\\` set in the Expo config (app.json or app.config.js).`;\n\n/**\n * Get the bundle identifier from the Expo config or prompt the user to choose a new bundle identifier.\n * Prompted value will be validated against the App Store and a local regex.\n * If the project Expo config is a static JSON file, the bundle identifier will be updated in the config automatically.\n */\nexport async function getOrPromptForBundleIdentifier(\n projectRoot: string,\n exp: ExpoConfig = getConfig(projectRoot).exp\n): Promise<string> {\n const current = exp.ios?.bundleIdentifier;\n if (current) {\n assertValidBundleId(current);\n return current;\n }\n\n Log.log(\n chalk`\\n{bold 📝 iOS Bundle Identifier} {dim ${learnMore(\n 'https://expo.fyi/bundle-identifier'\n )}}\\n`\n );\n\n return await promptForBundleIdAsync(projectRoot, exp);\n}\n\nasync function promptForBundleIdAsync(projectRoot: string, exp: ExpoConfig): Promise<string> {\n // Prompt the user for the bundle ID.\n // Even if the project is using a dynamic config we can still\n // prompt a better error message, recommend a default value, and help the user\n // validate their custom bundle ID upfront.\n const { bundleIdentifier } = await prompt(\n {\n type: 'text',\n name: 'bundleIdentifier',\n initial: (await getRecommendedBundleIdAsync(exp)) ?? undefined,\n // The Apple helps people know this isn't an EAS feature.\n message: `What would you like your iOS bundle identifier to be?`,\n validate: validateBundleId,\n },\n {\n nonInteractiveHelp: NO_BUNDLE_ID_MESSAGE,\n }\n );\n\n // Warn the user if the bundle ID is already in use.\n const warning = await getBundleIdWarningAsync(bundleIdentifier);\n if (warning && !(await warnAndConfirmAsync(warning))) {\n // Cycle the Bundle ID prompt to try again.\n return await promptForBundleIdAsync(projectRoot, exp);\n }\n\n // Apply the changes to the config.\n await attemptModification(\n projectRoot,\n {\n ios: { ...(exp.ios || {}), bundleIdentifier },\n },\n { ios: { bundleIdentifier } }\n );\n\n return bundleIdentifier;\n}\n\nasync function warnAndConfirmAsync(warning: string): Promise<boolean> {\n Log.log();\n Log.warn(warning);\n Log.log();\n if (\n !(await confirmAsync({\n message: `Continue?`,\n initial: true,\n }))\n ) {\n return false;\n }\n return true;\n}\n\n// Recommend a bundle identifier based on the username and project slug.\nasync function getRecommendedBundleIdAsync(exp: ExpoConfig): Promise<string | null> {\n // Attempt to use the android package name first since it's convenient to have them aligned.\n if (exp.android?.package && validateBundleId(exp.android?.package)) {\n return exp.android?.package;\n } else {\n const username = await getUsernameAsync(exp);\n const possibleId = `com.${username}.${exp.slug}`;\n if (username && validateBundleId(possibleId)) {\n return possibleId;\n }\n }\n\n return null;\n}\n\n// Recommend a package name based on the username and project slug.\nasync function getRecommendedPackageNameAsync(exp: ExpoConfig): Promise<string | null> {\n // Attempt to use the ios bundle id first since it's convenient to have them aligned.\n if (exp.ios?.bundleIdentifier && validatePackage(exp.ios.bundleIdentifier)) {\n return exp.ios.bundleIdentifier;\n } else {\n const username = await getUsernameAsync(exp);\n // It's common to use dashes in your node project name, strip them from the suggested package name.\n const possibleId = `com.${username}.${exp.slug}`.split('-').join('');\n if (username && validatePackage(possibleId)) {\n return possibleId;\n }\n }\n return null;\n}\n\n/**\n * Get the package name from the Expo config or prompt the user to choose a new package name.\n * Prompted value will be validated against the Play Store and a local regex.\n * If the project Expo config is a static JSON file, the package name will be updated in the config automatically.\n */\nexport async function getOrPromptForPackage(\n projectRoot: string,\n exp: ExpoConfig = getConfig(projectRoot).exp\n): Promise<string> {\n const current = exp.android?.package;\n if (current) {\n assertValidPackage(current);\n return current;\n }\n\n Log.log(\n chalk`\\n{bold 📝 Android package} {dim ${learnMore('https://expo.fyi/android-package')}}\\n`\n );\n\n return await promptForPackageAsync(projectRoot, exp);\n}\n\nasync function promptForPackageAsync(projectRoot: string, exp: ExpoConfig): Promise<string> {\n // Prompt the user for the android package.\n // Even if the project is using a dynamic config we can still\n // prompt a better error message, recommend a default value, and help the user\n // validate their custom android package upfront.\n const { packageName } = await prompt(\n {\n type: 'text',\n name: 'packageName',\n initial: (await getRecommendedPackageNameAsync(exp)) ?? undefined,\n message: `What would you like your Android package name to be?`,\n validate: validatePackageWithWarning,\n },\n {\n nonInteractiveHelp: NO_PACKAGE_MESSAGE,\n }\n );\n\n // Warn the user if the package name is already in use.\n const warning = await getPackageNameWarningAsync(packageName);\n if (warning && !(await warnAndConfirmAsync(warning))) {\n // Cycle the Package name prompt to try again.\n return await promptForPackageAsync(projectRoot, exp);\n }\n\n // Apply the changes to the config.\n await attemptModification(\n projectRoot,\n {\n android: { ...(exp.android || {}), package: packageName },\n },\n {\n android: { package: packageName },\n }\n );\n\n return packageName;\n}\n"],"names":["getOrPromptForBundleIdentifier","getOrPromptForPackage","Log","getUsernameAsync","exp","getAccountUsername","NO_BUNDLE_ID_MESSAGE","NO_PACKAGE_MESSAGE","projectRoot","getConfig","current","ios","bundleIdentifier","assertValidBundleId","log","chalk","learnMore","promptForBundleIdAsync","prompt","type","name","initial","getRecommendedBundleIdAsync","undefined","message","validate","validateBundleId","nonInteractiveHelp","warning","getBundleIdWarningAsync","warnAndConfirmAsync","attemptModification","warn","confirmAsync","android","package","username","possibleId","slug","getRecommendedPackageNameAsync","validatePackage","split","join","assertValidPackage","promptForPackageAsync","packageName","validatePackageWithWarning","getPackageNameWarningAsync"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/utils/getOrPromptApplicationId.ts"],"sourcesContent":["import { ExpoConfig, getAccountUsername, getConfig } from '@expo/config';\nimport chalk from 'chalk';\n\nimport { learnMore } from './link';\nimport { attemptModification } from './modifyConfigAsync';\nimport prompt, { confirmAsync } from './prompts';\nimport {\n assertValidBundleId,\n assertValidPackage,\n getBundleIdWarningAsync,\n getPackageNameWarningAsync,\n validateBundleId,\n validatePackage,\n validatePackageWithWarning,\n} from './validateApplicationId';\nimport * as Log from '../log';\n\nfunction getUsernameAsync(exp: ExpoConfig) {\n // TODO: Use XDL's UserManager\n // import { UserManager } from 'xdl';\n return getAccountUsername(exp);\n}\n\nconst NO_BUNDLE_ID_MESSAGE = `Project must have a \\`ios.bundleIdentifier\\` set in the Expo config (app.json or app.config.js).`;\n\nconst NO_PACKAGE_MESSAGE = `Project must have a \\`android.package\\` set in the Expo config (app.json or app.config.js).`;\n\n/**\n * Get the bundle identifier from the Expo config or prompt the user to choose a new bundle identifier.\n * Prompted value will be validated against the App Store and a local regex.\n * If the project Expo config is a static JSON file, the bundle identifier will be updated in the config automatically.\n */\nexport async function getOrPromptForBundleIdentifier(\n projectRoot: string,\n exp: ExpoConfig = getConfig(projectRoot).exp\n): Promise<string> {\n const current = exp.ios?.bundleIdentifier;\n if (current) {\n assertValidBundleId(current);\n return current;\n }\n\n Log.log(\n chalk`\\n{bold 📝 iOS Bundle Identifier} {dim ${learnMore(\n 'https://expo.fyi/bundle-identifier'\n )}}\\n`\n );\n\n return await promptForBundleIdAsync(projectRoot, exp);\n}\n\nasync function promptForBundleIdAsync(projectRoot: string, exp: ExpoConfig): Promise<string> {\n // Prompt the user for the bundle ID.\n // Even if the project is using a dynamic config we can still\n // prompt a better error message, recommend a default value, and help the user\n // validate their custom bundle ID upfront.\n const { bundleIdentifier } = await prompt(\n {\n type: 'text',\n name: 'bundleIdentifier',\n initial: (await getRecommendedBundleIdAsync(exp)) ?? undefined,\n // The Apple helps people know this isn't an EAS feature.\n message: `What would you like your iOS bundle identifier to be?`,\n validate: validateBundleId,\n },\n {\n nonInteractiveHelp: NO_BUNDLE_ID_MESSAGE,\n }\n );\n\n // Warn the user if the bundle ID is already in use.\n const warning = await getBundleIdWarningAsync(bundleIdentifier);\n if (warning && !(await warnAndConfirmAsync(warning))) {\n // Cycle the Bundle ID prompt to try again.\n return await promptForBundleIdAsync(projectRoot, exp);\n }\n\n // Apply the changes to the config.\n await attemptModification(\n projectRoot,\n {\n ios: { ...(exp.ios || {}), bundleIdentifier },\n },\n { ios: { bundleIdentifier } }\n );\n\n return bundleIdentifier;\n}\n\nasync function warnAndConfirmAsync(warning: string): Promise<boolean> {\n Log.log();\n Log.warn(warning);\n Log.log();\n if (\n !(await confirmAsync({\n message: `Continue?`,\n initial: true,\n }))\n ) {\n return false;\n }\n return true;\n}\n\n// Recommend a bundle identifier based on the username and project slug.\nasync function getRecommendedBundleIdAsync(exp: ExpoConfig): Promise<string | null> {\n // Attempt to use the android package name first since it's convenient to have them aligned.\n if (exp.android?.package && validateBundleId(exp.android?.package)) {\n return exp.android?.package;\n } else {\n const username = await getUsernameAsync(exp);\n const possibleId = `com.${username}.${exp.slug}`;\n if (username && validateBundleId(possibleId)) {\n return possibleId;\n }\n }\n\n return null;\n}\n\n// Recommend a package name based on the username and project slug.\nasync function getRecommendedPackageNameAsync(exp: ExpoConfig): Promise<string | null> {\n // Attempt to use the ios bundle id first since it's convenient to have them aligned.\n if (exp.ios?.bundleIdentifier && validatePackage(exp.ios.bundleIdentifier)) {\n return exp.ios.bundleIdentifier;\n } else {\n const username = await getUsernameAsync(exp);\n // It's common to use dashes in your node project name, strip them from the suggested package name.\n const possibleId = `com.${username}.${exp.slug}`.split('-').join('');\n if (username && validatePackage(possibleId)) {\n return possibleId;\n }\n }\n return null;\n}\n\n/**\n * Get the package name from the Expo config or prompt the user to choose a new package name.\n * Prompted value will be validated against the Play Store and a local regex.\n * If the project Expo config is a static JSON file, the package name will be updated in the config automatically.\n */\nexport async function getOrPromptForPackage(\n projectRoot: string,\n exp: ExpoConfig = getConfig(projectRoot).exp\n): Promise<string> {\n const current = exp.android?.package;\n if (current) {\n assertValidPackage(current);\n return current;\n }\n\n Log.log(\n chalk`\\n{bold 📝 Android package} {dim ${learnMore('https://expo.fyi/android-package')}}\\n`\n );\n\n return await promptForPackageAsync(projectRoot, exp);\n}\n\nasync function promptForPackageAsync(projectRoot: string, exp: ExpoConfig): Promise<string> {\n // Prompt the user for the android package.\n // Even if the project is using a dynamic config we can still\n // prompt a better error message, recommend a default value, and help the user\n // validate their custom android package upfront.\n const { packageName } = await prompt(\n {\n type: 'text',\n name: 'packageName',\n initial: (await getRecommendedPackageNameAsync(exp)) ?? undefined,\n message: `What would you like your Android package name to be?`,\n validate: validatePackageWithWarning,\n },\n {\n nonInteractiveHelp: NO_PACKAGE_MESSAGE,\n }\n );\n\n // Warn the user if the package name is already in use.\n const warning = await getPackageNameWarningAsync(packageName);\n if (warning && !(await warnAndConfirmAsync(warning))) {\n // Cycle the Package name prompt to try again.\n return await promptForPackageAsync(projectRoot, exp);\n }\n\n // Apply the changes to the config.\n await attemptModification(\n projectRoot,\n {\n android: { ...(exp.android || {}), package: packageName },\n },\n {\n android: { package: packageName },\n }\n );\n\n return packageName;\n}\n"],"names":["getOrPromptForBundleIdentifier","getOrPromptForPackage","getUsernameAsync","exp","getAccountUsername","NO_BUNDLE_ID_MESSAGE","NO_PACKAGE_MESSAGE","projectRoot","getConfig","current","ios","bundleIdentifier","assertValidBundleId","Log","log","chalk","learnMore","promptForBundleIdAsync","prompt","type","name","initial","getRecommendedBundleIdAsync","undefined","message","validate","validateBundleId","nonInteractiveHelp","warning","getBundleIdWarningAsync","warnAndConfirmAsync","attemptModification","warn","confirmAsync","android","package","username","possibleId","slug","getRecommendedPackageNameAsync","validatePackage","split","join","assertValidPackage","promptForPackageAsync","packageName","validatePackageWithWarning","getPackageNameWarningAsync"],"mappings":"AAAA;;;;;;;;;;;IAgCsBA,8BAA8B,MAA9BA,8BAA8B;IA6G9BC,qBAAqB,MAArBA,qBAAqB;;;yBA7Ie,cAAc;;;;;;;8DACtD,OAAO;;;;;;sBAEC,QAAQ;mCACE,qBAAqB;+DACpB,WAAW;uCASzC,yBAAyB;2DACX,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE7B,SAASC,gBAAgB,CAACC,GAAe,EAAE;IACzC,8BAA8B;IAC9B,qCAAqC;IACrC,OAAOC,IAAAA,OAAkB,EAAA,mBAAA,EAACD,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,MAAME,oBAAoB,GAAG,CAAC,gGAAgG,CAAC,AAAC;AAEhI,MAAMC,kBAAkB,GAAG,CAAC,2FAA2F,CAAC,AAAC;AAOlH,eAAeN,8BAA8B,CAClDO,WAAmB,EACnBJ,GAAe,GAAGK,IAAAA,OAAS,EAAA,UAAA,EAACD,WAAW,CAAC,CAACJ,GAAG,EAC3B;QACDA,GAAO;IAAvB,MAAMM,OAAO,GAAGN,CAAAA,GAAO,GAAPA,GAAG,CAACO,GAAG,SAAkB,GAAzBP,KAAAA,CAAyB,GAAzBA,GAAO,CAAEQ,gBAAgB,AAAC;IAC1C,IAAIF,OAAO,EAAE;QACXG,IAAAA,sBAAmB,oBAAA,EAACH,OAAO,CAAC,CAAC;QAC7B,OAAOA,OAAO,CAAC;IACjB,CAAC;IAEDI,IAAG,CAACC,GAAG,CACLC,IAAAA,MAAK,EAAA,QAAA,CAAA,CAAC,uCAAuC,EAAEC,IAAAA,KAAS,UAAA,EACtD,oCAAoC,CACrC,CAAC,GAAG,CAAC,CACP,CAAC;IAEF,OAAO,MAAMC,sBAAsB,CAACV,WAAW,EAAEJ,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,eAAec,sBAAsB,CAACV,WAAmB,EAAEJ,GAAe,EAAmB;QAS9E,GAAwC;IARrD,qCAAqC;IACrC,6DAA6D;IAC7D,8EAA8E;IAC9E,2CAA2C;IAC3C,MAAM,EAAEQ,gBAAgB,CAAA,EAAE,GAAG,MAAMO,IAAAA,QAAM,QAAA,EACvC;QACEC,IAAI,EAAE,MAAM;QACZC,IAAI,EAAE,kBAAkB;QACxBC,OAAO,EAAE,CAAA,GAAwC,GAAvC,MAAMC,2BAA2B,CAACnB,GAAG,CAAC,YAAvC,GAAwC,GAAIoB,SAAS;QAC9D,yDAAyD;QACzDC,OAAO,EAAE,CAAC,qDAAqD,CAAC;QAChEC,QAAQ,EAAEC,sBAAgB,iBAAA;KAC3B,EACD;QACEC,kBAAkB,EAAEtB,oBAAoB;KACzC,CACF,AAAC;IAEF,oDAAoD;IACpD,MAAMuB,OAAO,GAAG,MAAMC,IAAAA,sBAAuB,wBAAA,EAAClB,gBAAgB,CAAC,AAAC;IAChE,IAAIiB,OAAO,IAAI,CAAE,MAAME,mBAAmB,CAACF,OAAO,CAAC,AAAC,EAAE;QACpD,2CAA2C;QAC3C,OAAO,MAAMX,sBAAsB,CAACV,WAAW,EAAEJ,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,mCAAmC;IACnC,MAAM4B,IAAAA,kBAAmB,oBAAA,EACvBxB,WAAW,EACX;QACEG,GAAG,EAAE;YAAE,GAAIP,GAAG,CAACO,GAAG,IAAI,EAAE;YAAGC,gBAAgB;SAAE;KAC9C,EACD;QAAED,GAAG,EAAE;YAAEC,gBAAgB;SAAE;KAAE,CAC9B,CAAC;IAEF,OAAOA,gBAAgB,CAAC;AAC1B,CAAC;AAED,eAAemB,mBAAmB,CAACF,OAAe,EAAoB;IACpEf,IAAG,CAACC,GAAG,EAAE,CAAC;IACVD,IAAG,CAACmB,IAAI,CAACJ,OAAO,CAAC,CAAC;IAClBf,IAAG,CAACC,GAAG,EAAE,CAAC;IACV,IACE,CAAE,MAAMmB,IAAAA,QAAY,aAAA,EAAC;QACnBT,OAAO,EAAE,CAAC,SAAS,CAAC;QACpBH,OAAO,EAAE,IAAI;KACd,CAAC,AAAC,EACH;QACA,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wEAAwE;AACxE,eAAeC,2BAA2B,CAACnB,GAAe,EAA0B;QAE9EA,GAAW,EAA8BA,IAAW;IADxD,4FAA4F;IAC5F,IAAIA,CAAAA,CAAAA,GAAW,GAAXA,GAAG,CAAC+B,OAAO,SAAS,GAApB/B,KAAAA,CAAoB,GAApBA,GAAW,CAAEgC,OAAO,CAAA,IAAIT,IAAAA,sBAAgB,iBAAA,EAACvB,CAAAA,IAAW,GAAXA,GAAG,CAAC+B,OAAO,SAAS,GAApB/B,KAAAA,CAAoB,GAApBA,IAAW,CAAEgC,OAAO,CAAC,EAAE;YAC3DhC,IAAW;QAAlB,OAAOA,CAAAA,IAAW,GAAXA,GAAG,CAAC+B,OAAO,SAAS,GAApB/B,KAAAA,CAAoB,GAApBA,IAAW,CAAEgC,OAAO,CAAC;IAC9B,OAAO;QACL,MAAMC,QAAQ,GAAG,MAAMlC,gBAAgB,CAACC,GAAG,CAAC,AAAC;QAC7C,MAAMkC,UAAU,GAAG,CAAC,IAAI,EAAED,QAAQ,CAAC,CAAC,EAAEjC,GAAG,CAACmC,IAAI,CAAC,CAAC,AAAC;QACjD,IAAIF,QAAQ,IAAIV,IAAAA,sBAAgB,iBAAA,EAACW,UAAU,CAAC,EAAE;YAC5C,OAAOA,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mEAAmE;AACnE,eAAeE,8BAA8B,CAACpC,GAAe,EAA0B;QAEjFA,GAAO;IADX,qFAAqF;IACrF,IAAIA,CAAAA,CAAAA,GAAO,GAAPA,GAAG,CAACO,GAAG,SAAkB,GAAzBP,KAAAA,CAAyB,GAAzBA,GAAO,CAAEQ,gBAAgB,CAAA,IAAI6B,IAAAA,sBAAe,gBAAA,EAACrC,GAAG,CAACO,GAAG,CAACC,gBAAgB,CAAC,EAAE;QAC1E,OAAOR,GAAG,CAACO,GAAG,CAACC,gBAAgB,CAAC;IAClC,OAAO;QACL,MAAMyB,QAAQ,GAAG,MAAMlC,gBAAgB,CAACC,GAAG,CAAC,AAAC;QAC7C,mGAAmG;QACnG,MAAMkC,UAAU,GAAG,CAAC,IAAI,EAAED,QAAQ,CAAC,CAAC,EAAEjC,GAAG,CAACmC,IAAI,CAAC,CAAC,CAACG,KAAK,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,AAAC;QACrE,IAAIN,QAAQ,IAAII,IAAAA,sBAAe,gBAAA,EAACH,UAAU,CAAC,EAAE;YAC3C,OAAOA,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAOM,eAAepC,qBAAqB,CACzCM,WAAmB,EACnBJ,GAAe,GAAGK,IAAAA,OAAS,EAAA,UAAA,EAACD,WAAW,CAAC,CAACJ,GAAG,EAC3B;QACDA,GAAW;IAA3B,MAAMM,OAAO,GAAGN,CAAAA,GAAW,GAAXA,GAAG,CAAC+B,OAAO,SAAS,GAApB/B,KAAAA,CAAoB,GAApBA,GAAW,CAAEgC,OAAO,AAAC;IACrC,IAAI1B,OAAO,EAAE;QACXkC,IAAAA,sBAAkB,mBAAA,EAAClC,OAAO,CAAC,CAAC;QAC5B,OAAOA,OAAO,CAAC;IACjB,CAAC;IAEDI,IAAG,CAACC,GAAG,CACLC,IAAAA,MAAK,EAAA,QAAA,CAAA,CAAC,iCAAiC,EAAEC,IAAAA,KAAS,UAAA,EAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,CAC5F,CAAC;IAEF,OAAO,MAAM4B,qBAAqB,CAACrC,WAAW,EAAEJ,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,eAAeyC,qBAAqB,CAACrC,WAAmB,EAAEJ,GAAe,EAAmB;QAS7E,GAA2C;IARxD,2CAA2C;IAC3C,6DAA6D;IAC7D,8EAA8E;IAC9E,iDAAiD;IACjD,MAAM,EAAE0C,WAAW,CAAA,EAAE,GAAG,MAAM3B,IAAAA,QAAM,QAAA,EAClC;QACEC,IAAI,EAAE,MAAM;QACZC,IAAI,EAAE,aAAa;QACnBC,OAAO,EAAE,CAAA,GAA2C,GAA1C,MAAMkB,8BAA8B,CAACpC,GAAG,CAAC,YAA1C,GAA2C,GAAIoB,SAAS;QACjEC,OAAO,EAAE,CAAC,oDAAoD,CAAC;QAC/DC,QAAQ,EAAEqB,sBAA0B,2BAAA;KACrC,EACD;QACEnB,kBAAkB,EAAErB,kBAAkB;KACvC,CACF,AAAC;IAEF,uDAAuD;IACvD,MAAMsB,OAAO,GAAG,MAAMmB,IAAAA,sBAA0B,2BAAA,EAACF,WAAW,CAAC,AAAC;IAC9D,IAAIjB,OAAO,IAAI,CAAE,MAAME,mBAAmB,CAACF,OAAO,CAAC,AAAC,EAAE;QACpD,8CAA8C;QAC9C,OAAO,MAAMgB,qBAAqB,CAACrC,WAAW,EAAEJ,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,mCAAmC;IACnC,MAAM4B,IAAAA,kBAAmB,oBAAA,EACvBxB,WAAW,EACX;QACE2B,OAAO,EAAE;YAAE,GAAI/B,GAAG,CAAC+B,OAAO,IAAI,EAAE;YAAGC,OAAO,EAAEU,WAAW;SAAE;KAC1D,EACD;QACEX,OAAO,EAAE;YAAEC,OAAO,EAAEU,WAAW;SAAE;KAClC,CACF,CAAC;IAEF,OAAOA,WAAW,CAAC;AACrB,CAAC"}