@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,11 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.createDebuggerTelemetryMiddleware = createDebuggerTelemetryMiddleware;
6
- exports.findDebugTool = findDebugTool;
7
- var _getMetroDebugProperties = require("./getMetroDebugProperties");
8
- var _env = require("../env");
9
- var _telemetry = require("../telemetry");
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
+ createDebuggerTelemetryMiddleware: ()=>createDebuggerTelemetryMiddleware,
13
+ findDebugTool: ()=>findDebugTool
14
+ });
15
+ const _getMetroDebugProperties = require("./getMetroDebugProperties");
16
+ const _env = require("../env");
17
+ const _telemetry = require("../telemetry");
10
18
  function createDebuggerTelemetryMiddleware(projectRoot, exp) {
11
19
  let hasReported = false;
12
20
  // This only works for Hermes apps, disable when telemetry is turned off
@@ -25,7 +33,7 @@ function createDebuggerTelemetryMiddleware(projectRoot, exp) {
25
33
  const debugTool = findDebugTool(req);
26
34
  if (debugTool) {
27
35
  hasReported = true;
28
- (0, _telemetry).logEventAsync("metro debug", (0, _getMetroDebugProperties).getMetroDebugProperties(projectRoot, exp, debugTool));
36
+ (0, _telemetry.logEventAsync)("metro debug", (0, _getMetroDebugProperties.getMetroDebugProperties)(projectRoot, exp, debugTool));
29
37
  }
30
38
  if (typeof next === "function") {
31
39
  return next(undefined);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utils/analytics/metroDebuggerMiddleware.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport { Middleware } from 'metro-config';\n\nimport { DebugTool, getMetroDebugProperties } from './getMetroDebugProperties';\nimport { env } from '../env';\nimport { logEventAsync } from '../telemetry';\n\ntype Request = Parameters<Middleware>[0];\ntype Response = Parameters<Middleware>[1];\ntype Next = Parameters<Middleware>[2];\n\n/**\n * Create a Metro middleware that reports when a debugger request was found.\n * This will only be reported once, if the app uses Hermes and telemetry is not enabled.\n */\nexport function createDebuggerTelemetryMiddleware(\n projectRoot: string,\n exp: ExpoConfig\n): Middleware {\n let hasReported = false;\n\n // This only works for Hermes apps, disable when telemetry is turned off\n if (env.EXPO_NO_TELEMETRY || exp.jsEngine !== 'hermes') {\n return (req: Request, res: Response, next: Next) => {\n if (typeof next === 'function') {\n next(undefined);\n }\n };\n }\n\n return (req: Request, res: Response, next: Next) => {\n // Only report once\n if (hasReported && typeof next === 'function') {\n return next(undefined);\n }\n\n const debugTool = findDebugTool(req);\n if (debugTool) {\n hasReported = true;\n logEventAsync('metro debug', getMetroDebugProperties(projectRoot, exp, debugTool));\n }\n\n if (typeof next === 'function') {\n return next(undefined);\n }\n };\n}\n\n/** Exposed for testing */\nexport function findDebugTool(\n req: Pick<Parameters<Middleware>[0], 'headers' | 'url'>\n): DebugTool | null {\n if (req.headers['origin']?.includes('chrome-devtools')) {\n return { name: 'chrome' };\n }\n\n if (req.url?.startsWith('/json')) {\n const flipperUserAgent = req.headers['user-agent']?.match(/(Flipper)\\/([^\\s]+)/);\n if (flipperUserAgent) {\n return {\n name: flipperUserAgent[1].toLowerCase(),\n version: flipperUserAgent[2],\n };\n }\n }\n\n return null;\n}\n"],"names":["createDebuggerTelemetryMiddleware","findDebugTool","projectRoot","exp","hasReported","env","EXPO_NO_TELEMETRY","jsEngine","req","res","next","undefined","debugTool","logEventAsync","getMetroDebugProperties","headers","includes","name","url","startsWith","flipperUserAgent","match","toLowerCase","version"],"mappings":"AAAA;;;;QAegBA,iCAAiC,GAAjCA,iCAAiC;QAkCjCC,aAAa,GAAbA,aAAa;AA9CsB,IAAA,wBAA2B,WAA3B,2BAA2B,CAAA;AAC1D,IAAA,IAAQ,WAAR,QAAQ,CAAA;AACE,IAAA,UAAc,WAAd,cAAc,CAAA;AAUrC,SAASD,iCAAiC,CAC/CE,WAAmB,EACnBC,GAAe,EACH;IACZ,IAAIC,WAAW,GAAG,KAAK,AAAC;IAExB,wEAAwE;IACxE,IAAIC,IAAG,IAAA,CAACC,iBAAiB,IAAIH,GAAG,CAACI,QAAQ,KAAK,QAAQ,EAAE;QACtD,OAAO,CAACC,GAAY,EAAEC,GAAa,EAAEC,IAAU,GAAK;YAClD,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;gBAC9BA,IAAI,CAACC,SAAS,CAAC,CAAC;aACjB;SACF,CAAC;KACH;IAED,OAAO,CAACH,GAAY,EAAEC,GAAa,EAAEC,IAAU,GAAK;QAClD,mBAAmB;QACnB,IAAIN,WAAW,IAAI,OAAOM,IAAI,KAAK,UAAU,EAAE;YAC7C,OAAOA,IAAI,CAACC,SAAS,CAAC,CAAC;SACxB;QAED,MAAMC,SAAS,GAAGX,aAAa,CAACO,GAAG,CAAC,AAAC;QACrC,IAAII,SAAS,EAAE;YACbR,WAAW,GAAG,IAAI,CAAC;YACnBS,CAAAA,GAAAA,UAAa,AAAqE,CAAA,cAArE,CAAC,aAAa,EAAEC,CAAAA,GAAAA,wBAAuB,AAA6B,CAAA,wBAA7B,CAACZ,WAAW,EAAEC,GAAG,EAAES,SAAS,CAAC,CAAC,CAAC;SACpF;QAED,IAAI,OAAOF,IAAI,KAAK,UAAU,EAAE;YAC9B,OAAOA,IAAI,CAACC,SAAS,CAAC,CAAC;SACxB;KACF,CAAC;CACH;AAGM,SAASV,aAAa,CAC3BO,GAAuD,EACrC;QACdA,GAAqB,EAIrBA,IAAO;IAJX,IAAIA,CAAAA,GAAqB,GAArBA,GAAG,CAACO,OAAO,CAAC,QAAQ,CAAC,SAAU,GAA/BP,KAAAA,CAA+B,GAA/BA,GAAqB,CAAEQ,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QACtD,OAAO;YAAEC,IAAI,EAAE,QAAQ;SAAE,CAAC;KAC3B;IAED,IAAIT,CAAAA,IAAO,GAAPA,GAAG,CAACU,GAAG,SAAY,GAAnBV,KAAAA,CAAmB,GAAnBA,IAAO,CAAEW,UAAU,CAAC,OAAO,CAAC,EAAE;YACPX,IAAyB;QAAlD,MAAMY,gBAAgB,GAAGZ,CAAAA,IAAyB,GAAzBA,GAAG,CAACO,OAAO,CAAC,YAAY,CAAC,SAAO,GAAhCP,KAAAA,CAAgC,GAAhCA,IAAyB,CAAEa,KAAK,uBAAuB,AAAC;QACjF,IAAID,gBAAgB,EAAE;YACpB,OAAO;gBACLH,IAAI,EAAEG,gBAAgB,CAAC,CAAC,CAAC,CAACE,WAAW,EAAE;gBACvCC,OAAO,EAAEH,gBAAgB,CAAC,CAAC,CAAC;aAC7B,CAAC;SACH;KACF;IAED,OAAO,IAAI,CAAC;CACb"}
1
+ {"version":3,"sources":["../../../../src/utils/analytics/metroDebuggerMiddleware.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport { Middleware } from 'metro-config';\n\nimport { DebugTool, getMetroDebugProperties } from './getMetroDebugProperties';\nimport { env } from '../env';\nimport { logEventAsync } from '../telemetry';\n\ntype Request = Parameters<Middleware>[0];\ntype Response = Parameters<Middleware>[1];\ntype Next = Parameters<Middleware>[2];\n\n/**\n * Create a Metro middleware that reports when a debugger request was found.\n * This will only be reported once, if the app uses Hermes and telemetry is not enabled.\n */\nexport function createDebuggerTelemetryMiddleware(\n projectRoot: string,\n exp: ExpoConfig\n): Middleware {\n let hasReported = false;\n\n // This only works for Hermes apps, disable when telemetry is turned off\n if (env.EXPO_NO_TELEMETRY || exp.jsEngine !== 'hermes') {\n return (req: Request, res: Response, next: Next) => {\n if (typeof next === 'function') {\n next(undefined);\n }\n };\n }\n\n return (req: Request, res: Response, next: Next) => {\n // Only report once\n if (hasReported && typeof next === 'function') {\n return next(undefined);\n }\n\n const debugTool = findDebugTool(req);\n if (debugTool) {\n hasReported = true;\n logEventAsync('metro debug', getMetroDebugProperties(projectRoot, exp, debugTool));\n }\n\n if (typeof next === 'function') {\n return next(undefined);\n }\n };\n}\n\n/** Exposed for testing */\nexport function findDebugTool(\n req: Pick<Parameters<Middleware>[0], 'headers' | 'url'>\n): DebugTool | null {\n if (req.headers['origin']?.includes('chrome-devtools')) {\n return { name: 'chrome' };\n }\n\n if (req.url?.startsWith('/json')) {\n const flipperUserAgent = req.headers['user-agent']?.match(/(Flipper)\\/([^\\s]+)/);\n if (flipperUserAgent) {\n return {\n name: flipperUserAgent[1].toLowerCase(),\n version: flipperUserAgent[2],\n };\n }\n }\n\n return null;\n}\n"],"names":["createDebuggerTelemetryMiddleware","findDebugTool","projectRoot","exp","hasReported","env","EXPO_NO_TELEMETRY","jsEngine","req","res","next","undefined","debugTool","logEventAsync","getMetroDebugProperties","headers","includes","name","url","startsWith","flipperUserAgent","match","toLowerCase","version"],"mappings":"AAAA;;;;;;;;;;;IAegBA,iCAAiC,MAAjCA,iCAAiC;IAkCjCC,aAAa,MAAbA,aAAa;;yCA9CsB,2BAA2B;qBAC1D,QAAQ;2BACE,cAAc;AAUrC,SAASD,iCAAiC,CAC/CE,WAAmB,EACnBC,GAAe,EACH;IACZ,IAAIC,WAAW,GAAG,KAAK,AAAC;IAExB,wEAAwE;IACxE,IAAIC,IAAG,IAAA,CAACC,iBAAiB,IAAIH,GAAG,CAACI,QAAQ,KAAK,QAAQ,EAAE;QACtD,OAAO,CAACC,GAAY,EAAEC,GAAa,EAAEC,IAAU,GAAK;YAClD,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;gBAC9BA,IAAI,CAACC,SAAS,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAACH,GAAY,EAAEC,GAAa,EAAEC,IAAU,GAAK;QAClD,mBAAmB;QACnB,IAAIN,WAAW,IAAI,OAAOM,IAAI,KAAK,UAAU,EAAE;YAC7C,OAAOA,IAAI,CAACC,SAAS,CAAC,CAAC;QACzB,CAAC;QAED,MAAMC,SAAS,GAAGX,aAAa,CAACO,GAAG,CAAC,AAAC;QACrC,IAAII,SAAS,EAAE;YACbR,WAAW,GAAG,IAAI,CAAC;YACnBS,IAAAA,UAAa,cAAA,EAAC,aAAa,EAAEC,IAAAA,wBAAuB,wBAAA,EAACZ,WAAW,EAAEC,GAAG,EAAES,SAAS,CAAC,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,OAAOF,IAAI,KAAK,UAAU,EAAE;YAC9B,OAAOA,IAAI,CAACC,SAAS,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAGM,SAASV,aAAa,CAC3BO,GAAuD,EACrC;QACdA,GAAqB,EAIrBA,IAAO;IAJX,IAAIA,CAAAA,GAAqB,GAArBA,GAAG,CAACO,OAAO,CAAC,QAAQ,CAAC,SAAU,GAA/BP,KAAAA,CAA+B,GAA/BA,GAAqB,CAAEQ,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QACtD,OAAO;YAAEC,IAAI,EAAE,QAAQ;SAAE,CAAC;IAC5B,CAAC;IAED,IAAIT,CAAAA,IAAO,GAAPA,GAAG,CAACU,GAAG,SAAY,GAAnBV,KAAAA,CAAmB,GAAnBA,IAAO,CAAEW,UAAU,CAAC,OAAO,CAAC,EAAE;YACPX,IAAyB;QAAlD,MAAMY,gBAAgB,GAAGZ,CAAAA,IAAyB,GAAzBA,GAAG,CAACO,OAAO,CAAC,YAAY,CAAC,SAAO,GAAhCP,KAAAA,CAAgC,GAAhCA,IAAyB,CAAEa,KAAK,uBAAuB,AAAC;QACjF,IAAID,gBAAgB,EAAE;YACpB,OAAO;gBACLH,IAAI,EAAEG,gBAAgB,CAAC,CAAC,CAAC,CAACE,WAAW,EAAE;gBACvCC,OAAO,EAAEH,gBAAgB,CAAC,CAAC,CAAC;aAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,8 +1,11 @@
1
- "use strict";
1
+ /** Remove ansi characters from a string and return the sanitized results. */ "use strict";
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.stripAnsi = stripAnsi;
5
+ Object.defineProperty(exports, "stripAnsi", {
6
+ enumerable: true,
7
+ get: ()=>stripAnsi
8
+ });
6
9
  function stripAnsi(str) {
7
10
  if (!str) {
8
11
  return str;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/ansi.ts"],"sourcesContent":["/** Remove ansi characters from a string and return the sanitized results. */\nexport function stripAnsi(str?: string | null) {\n if (!str) {\n return str;\n }\n const pattern = [\n '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n '(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))',\n ].join('|');\n\n return str.replace(new RegExp(pattern, 'g'), '');\n}\n"],"names":["stripAnsi","str","pattern","join","replace","RegExp"],"mappings":"AACA;;;;QAAgBA,SAAS,GAATA,SAAS;AAAlB,SAASA,SAAS,CAACC,GAAmB,EAAE;IAC7C,IAAI,CAACA,GAAG,EAAE;QACR,OAAOA,GAAG,CAAC;KACZ;IACD,MAAMC,OAAO,GAAG;QACd,8HAA8H;QAC9H,0DAA0D;KAC3D,CAACC,IAAI,CAAC,GAAG,CAAC,AAAC;IAEZ,OAAOF,GAAG,CAACG,OAAO,CAAC,IAAIC,MAAM,CAACH,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;CAClD"}
1
+ {"version":3,"sources":["../../../src/utils/ansi.ts"],"sourcesContent":["/** Remove ansi characters from a string and return the sanitized results. */\nexport function stripAnsi(str?: string | null) {\n if (!str) {\n return str;\n }\n const pattern = [\n '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n '(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))',\n ].join('|');\n\n return str.replace(new RegExp(pattern, 'g'), '');\n}\n"],"names":["stripAnsi","str","pattern","join","replace","RegExp"],"mappings":"AAAA,2EAA2E,GAC3E;;;;+BAAgBA,WAAS;;aAATA,SAAS;;AAAlB,SAASA,SAAS,CAACC,GAAmB,EAAE;IAC7C,IAAI,CAACA,GAAG,EAAE;QACR,OAAOA,GAAG,CAAC;IACb,CAAC;IACD,MAAMC,OAAO,GAAG;QACd,8HAA8H;QAC9H,0DAA0D;KAC3D,CAACC,IAAI,CAAC,GAAG,CAAC,AAAC;IAEZ,OAAOF,GAAG,CAACG,OAAO,CAAC,IAAIC,MAAM,CAACH,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC"}
@@ -1,20 +1,30 @@
1
+ // Common utilities for interacting with `args` library.
2
+ // These functions should be used by every command.
1
3
  "use strict";
2
4
  Object.defineProperty(exports, "__esModule", {
3
5
  value: true
4
6
  });
5
- exports.getProjectRoot = getProjectRoot;
6
- exports.assertArgs = assertArgs;
7
- exports.assertWithOptionsArgs = assertWithOptionsArgs;
8
- exports.printHelp = printHelp;
7
+ function _export(target, all) {
8
+ for(var name in all)Object.defineProperty(target, name, {
9
+ enumerable: true,
10
+ get: all[name]
11
+ });
12
+ }
13
+ _export(exports, {
14
+ getProjectRoot: ()=>getProjectRoot,
15
+ assertArgs: ()=>assertArgs,
16
+ assertWithOptionsArgs: ()=>assertWithOptionsArgs,
17
+ printHelp: ()=>printHelp
18
+ });
9
19
  function _arg() {
10
- const data = _interopRequireDefault(require("arg"));
20
+ const data = /*#__PURE__*/ _interopRequireDefault(require("arg"));
11
21
  _arg = function() {
12
22
  return data;
13
23
  };
14
24
  return data;
15
25
  }
16
26
  function _chalk() {
17
- const data = _interopRequireDefault(require("chalk"));
27
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
18
28
  _chalk = function() {
19
29
  return data;
20
30
  };
@@ -34,37 +44,55 @@ function _path() {
34
44
  };
35
45
  return data;
36
46
  }
37
- var Log = _interopRequireWildcard(require("../log"));
47
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../log"));
38
48
  function _interopRequireDefault(obj) {
39
49
  return obj && obj.__esModule ? obj : {
40
50
  default: obj
41
51
  };
42
52
  }
43
- function _interopRequireWildcard(obj) {
44
- if (obj && obj.__esModule) {
53
+ function _getRequireWildcardCache(nodeInterop) {
54
+ if (typeof WeakMap !== "function") return null;
55
+ var cacheBabelInterop = new WeakMap();
56
+ var cacheNodeInterop = new WeakMap();
57
+ return (_getRequireWildcardCache = function(nodeInterop) {
58
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
59
+ })(nodeInterop);
60
+ }
61
+ function _interopRequireWildcard(obj, nodeInterop) {
62
+ if (!nodeInterop && obj && obj.__esModule) {
45
63
  return obj;
46
- } else {
47
- var newObj = {};
48
- if (obj != null) {
49
- for(var key in obj){
50
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
51
- var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
52
- if (desc.get || desc.set) {
53
- Object.defineProperty(newObj, key, desc);
54
- } else {
55
- newObj[key] = obj[key];
56
- }
57
- }
64
+ }
65
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
66
+ return {
67
+ default: obj
68
+ };
69
+ }
70
+ var cache = _getRequireWildcardCache(nodeInterop);
71
+ if (cache && cache.has(obj)) {
72
+ return cache.get(obj);
73
+ }
74
+ var newObj = {};
75
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
76
+ for(var key in obj){
77
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
78
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
79
+ if (desc && (desc.get || desc.set)) {
80
+ Object.defineProperty(newObj, key, desc);
81
+ } else {
82
+ newObj[key] = obj[key];
58
83
  }
59
84
  }
60
- newObj.default = obj;
61
- return newObj;
62
85
  }
86
+ newObj.default = obj;
87
+ if (cache) {
88
+ cache.set(obj, newObj);
89
+ }
90
+ return newObj;
63
91
  }
64
92
  function getProjectRoot(args) {
65
- const projectRoot = _path().resolve(args._[0] || ".");
66
- if (!_fs().existsSync(projectRoot)) {
67
- Log.exit(`Invalid project root: ${projectRoot}`);
93
+ const projectRoot = (0, _path().resolve)(args._[0] || ".");
94
+ if (!(0, _fs().existsSync)(projectRoot)) {
95
+ _log.exit(`Invalid project root: ${projectRoot}`);
68
96
  }
69
97
  return projectRoot;
70
98
  }
@@ -75,20 +103,20 @@ function assertArgs(schema, argv) {
75
103
  }
76
104
  function assertWithOptionsArgs(schema, options) {
77
105
  try {
78
- return _arg().default(schema, options);
106
+ return (0, _arg().default)(schema, options);
79
107
  } catch (error) {
80
108
  // Handle errors caused by user input.
81
109
  // Only errors from `arg`, which does not start with `ARG_CONFIG_` are user input errors.
82
110
  // See: https://github.com/vercel/arg/releases/tag/5.0.0
83
111
  if ("code" in error && error.code.startsWith("ARG_") && !error.code.startsWith("ARG_CONFIG_")) {
84
- Log.exit(error.message, 1);
112
+ _log.exit(error.message, 1);
85
113
  }
86
114
  // Otherwise rethrow the error.
87
115
  throw error;
88
116
  }
89
117
  }
90
118
  function printHelp(info, usage, options, extra = "") {
91
- Log.exit(_chalk().default`
119
+ _log.exit((0, _chalk().default)`
92
120
  {bold Info}
93
121
  ${info}
94
122
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/args.ts"],"sourcesContent":["// Common utilities for interacting with `args` library.\n// These functions should be used by every command.\nimport arg from 'arg';\nimport chalk from 'chalk';\nimport { existsSync } from 'fs';\nimport { resolve } from 'path';\n\nimport * as Log from '../log';\n\n/**\n * Parse the first argument as a project directory.\n *\n * @returns valid project directory.\n */\nexport function getProjectRoot(args: arg.Result<arg.Spec>) {\n const projectRoot = resolve(args._[0] || '.');\n\n if (!existsSync(projectRoot)) {\n Log.exit(`Invalid project root: ${projectRoot}`);\n }\n\n return projectRoot;\n}\n\n/**\n * Parse args and assert unknown options.\n *\n * @param schema the `args` schema for parsing the command line arguments.\n * @param argv extra strings\n * @returns processed args object.\n */\nexport function assertArgs(schema: arg.Spec, argv?: string[]): arg.Result<arg.Spec> {\n return assertWithOptionsArgs(schema, { argv });\n}\n\nexport function assertWithOptionsArgs(\n schema: arg.Spec,\n options: arg.Options\n): arg.Result<arg.Spec> {\n try {\n return arg(schema, options);\n } catch (error: any) {\n // Handle errors caused by user input.\n // Only errors from `arg`, which does not start with `ARG_CONFIG_` are user input errors.\n // See: https://github.com/vercel/arg/releases/tag/5.0.0\n if ('code' in error && error.code.startsWith('ARG_') && !error.code.startsWith('ARG_CONFIG_')) {\n Log.exit(error.message, 1);\n }\n // Otherwise rethrow the error.\n throw error;\n }\n}\n\nexport function printHelp(info: string, usage: string, options: string, extra: string = ''): never {\n Log.exit(\n chalk`\n {bold Info}\n ${info}\n\n {bold Usage}\n {dim $} ${usage}\n\n {bold Options}\n ${options.split('\\n').join('\\n ')}\n` + extra,\n 0\n );\n}\n"],"names":["getProjectRoot","assertArgs","assertWithOptionsArgs","printHelp","Log","args","projectRoot","resolve","_","existsSync","exit","schema","argv","options","arg","error","code","startsWith","message","info","usage","extra","chalk","split","join"],"mappings":"AAEA;;;;QAYgBA,cAAc,GAAdA,cAAc;QAiBdC,UAAU,GAAVA,UAAU;QAIVC,qBAAqB,GAArBA,qBAAqB;QAkBrBC,SAAS,GAATA,SAAS;SAnDT,IAAK;gDAAL,KAAK;IAAL,IAAK;;;;;SACH,MAAO;gDAAP,OAAO;IAAP,MAAO;;;;;SACE,GAAI;yBAAJ,IAAI;IAAJ,GAAI;;;;;SACP,KAAM;yBAAN,MAAM;IAAN,KAAM;;;;;AAElBC,IAAAA,GAAG,mCAAM,QAAQ,EAAd;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOR,SAASJ,cAAc,CAACK,IAA0B,EAAE;IACzD,MAAMC,WAAW,GAAGC,KAAO,UAAA,CAACF,IAAI,CAACG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,AAAC;IAE9C,IAAI,CAACC,GAAU,aAAA,CAACH,WAAW,CAAC,EAAE;QAC5BF,GAAG,CAACM,IAAI,CAAC,CAAC,sBAAsB,EAAEJ,WAAW,CAAC,CAAC,CAAC,CAAC;KAClD;IAED,OAAOA,WAAW,CAAC;CACpB;AASM,SAASL,UAAU,CAACU,MAAgB,EAAEC,IAAe,EAAwB;IAClF,OAAOV,qBAAqB,CAACS,MAAM,EAAE;QAAEC,IAAI;KAAE,CAAC,CAAC;CAChD;AAEM,SAASV,qBAAqB,CACnCS,MAAgB,EAChBE,OAAoB,EACE;IACtB,IAAI;QACF,OAAOC,IAAG,UAAA,CAACH,MAAM,EAAEE,OAAO,CAAC,CAAC;KAC7B,CAAC,OAAOE,KAAK,EAAO;QACnB,sCAAsC;QACtC,yFAAyF;QACzF,wDAAwD;QACxD,IAAI,MAAM,IAAIA,KAAK,IAAIA,KAAK,CAACC,IAAI,CAACC,UAAU,CAAC,MAAM,CAAC,IAAI,CAACF,KAAK,CAACC,IAAI,CAACC,UAAU,CAAC,aAAa,CAAC,EAAE;YAC7Fb,GAAG,CAACM,IAAI,CAACK,KAAK,CAACG,OAAO,EAAE,CAAC,CAAC,CAAC;SAC5B;QACD,+BAA+B;QAC/B,MAAMH,KAAK,CAAC;KACb;CACF;AAEM,SAASZ,SAAS,CAACgB,IAAY,EAAEC,KAAa,EAAEP,OAAe,EAAEQ,KAAa,GAAG,EAAE,EAAS;IACjGjB,GAAG,CAACM,IAAI,CACNY,MAAK,UAAA,CAAC;;IAEN,EAAEH,IAAI,CAAC;;;YAGC,EAAEC,KAAK,CAAC;;;IAGhB,EAAEP,OAAO,CAACU,KAAK,CAAC,IAAI,CAAC,CAACC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC,GAAGH,KAAK,EACL,CAAC,CACF,CAAC;CACH"}
1
+ {"version":3,"sources":["../../../src/utils/args.ts"],"sourcesContent":["// Common utilities for interacting with `args` library.\n// These functions should be used by every command.\nimport arg from 'arg';\nimport chalk from 'chalk';\nimport { existsSync } from 'fs';\nimport { resolve } from 'path';\n\nimport * as Log from '../log';\n\n/**\n * Parse the first argument as a project directory.\n *\n * @returns valid project directory.\n */\nexport function getProjectRoot(args: arg.Result<arg.Spec>) {\n const projectRoot = resolve(args._[0] || '.');\n\n if (!existsSync(projectRoot)) {\n Log.exit(`Invalid project root: ${projectRoot}`);\n }\n\n return projectRoot;\n}\n\n/**\n * Parse args and assert unknown options.\n *\n * @param schema the `args` schema for parsing the command line arguments.\n * @param argv extra strings\n * @returns processed args object.\n */\nexport function assertArgs(schema: arg.Spec, argv?: string[]): arg.Result<arg.Spec> {\n return assertWithOptionsArgs(schema, { argv });\n}\n\nexport function assertWithOptionsArgs(\n schema: arg.Spec,\n options: arg.Options\n): arg.Result<arg.Spec> {\n try {\n return arg(schema, options);\n } catch (error: any) {\n // Handle errors caused by user input.\n // Only errors from `arg`, which does not start with `ARG_CONFIG_` are user input errors.\n // See: https://github.com/vercel/arg/releases/tag/5.0.0\n if ('code' in error && error.code.startsWith('ARG_') && !error.code.startsWith('ARG_CONFIG_')) {\n Log.exit(error.message, 1);\n }\n // Otherwise rethrow the error.\n throw error;\n }\n}\n\nexport function printHelp(info: string, usage: string, options: string, extra: string = ''): never {\n Log.exit(\n chalk`\n {bold Info}\n ${info}\n\n {bold Usage}\n {dim $} ${usage}\n\n {bold Options}\n ${options.split('\\n').join('\\n ')}\n` + extra,\n 0\n );\n}\n"],"names":["getProjectRoot","assertArgs","assertWithOptionsArgs","printHelp","args","projectRoot","resolve","_","existsSync","Log","exit","schema","argv","options","arg","error","code","startsWith","message","info","usage","extra","chalk","split","join"],"mappings":"AAAA,wDAAwD;AACxD,mDAAmD;AACnD;;;;;;;;;;;IAYgBA,cAAc,MAAdA,cAAc;IAiBdC,UAAU,MAAVA,UAAU;IAIVC,qBAAqB,MAArBA,qBAAqB;IAkBrBC,SAAS,MAATA,SAAS;;;8DAnDT,KAAK;;;;;;;8DACH,OAAO;;;;;;;yBACE,IAAI;;;;;;;yBACP,MAAM;;;;;;2DAET,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOtB,SAASH,cAAc,CAACI,IAA0B,EAAE;IACzD,MAAMC,WAAW,GAAGC,IAAAA,KAAO,EAAA,QAAA,EAACF,IAAI,CAACG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,AAAC;IAE9C,IAAI,CAACC,IAAAA,GAAU,EAAA,WAAA,EAACH,WAAW,CAAC,EAAE;QAC5BI,IAAG,CAACC,IAAI,CAAC,CAAC,sBAAsB,EAAEL,WAAW,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,OAAOA,WAAW,CAAC;AACrB,CAAC;AASM,SAASJ,UAAU,CAACU,MAAgB,EAAEC,IAAe,EAAwB;IAClF,OAAOV,qBAAqB,CAACS,MAAM,EAAE;QAAEC,IAAI;KAAE,CAAC,CAAC;AACjD,CAAC;AAEM,SAASV,qBAAqB,CACnCS,MAAgB,EAChBE,OAAoB,EACE;IACtB,IAAI;QACF,OAAOC,IAAAA,IAAG,EAAA,QAAA,EAACH,MAAM,EAAEE,OAAO,CAAC,CAAC;IAC9B,EAAE,OAAOE,KAAK,EAAO;QACnB,sCAAsC;QACtC,yFAAyF;QACzF,wDAAwD;QACxD,IAAI,MAAM,IAAIA,KAAK,IAAIA,KAAK,CAACC,IAAI,CAACC,UAAU,CAAC,MAAM,CAAC,IAAI,CAACF,KAAK,CAACC,IAAI,CAACC,UAAU,CAAC,aAAa,CAAC,EAAE;YAC7FR,IAAG,CAACC,IAAI,CAACK,KAAK,CAACG,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,+BAA+B;QAC/B,MAAMH,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAEM,SAASZ,SAAS,CAACgB,IAAY,EAAEC,KAAa,EAAEP,OAAe,EAAEQ,KAAa,GAAG,EAAE,EAAS;IACjGZ,IAAG,CAACC,IAAI,CACNY,IAAAA,MAAK,EAAA,QAAA,CAAA,CAAC;;IAEN,EAAEH,IAAI,CAAC;;;YAGC,EAAEC,KAAK,CAAC;;;IAGhB,EAAEP,OAAO,CAACU,KAAK,CAAC,IAAI,CAAC,CAACC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC,GAAGH,KAAK,EACL,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,13 +1,21 @@
1
- "use strict";
1
+ /** Returns the last index of an item based on a given criteria. */ "use strict";
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.findLastIndex = findLastIndex;
6
- exports.intersecting = intersecting;
7
- exports.replaceValue = replaceValue;
8
- exports.uniqBy = uniqBy;
9
- exports.chunk = chunk;
10
- exports.groupBy = groupBy;
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
+ findLastIndex: ()=>findLastIndex,
13
+ intersecting: ()=>intersecting,
14
+ replaceValue: ()=>replaceValue,
15
+ uniqBy: ()=>uniqBy,
16
+ chunk: ()=>chunk,
17
+ groupBy: ()=>groupBy
18
+ });
11
19
  function findLastIndex(array, predicate) {
12
20
  for(let i = array.length - 1; i >= 0; i--){
13
21
  if (predicate(array[i])) {
@@ -24,8 +32,7 @@ function intersecting(a, b) {
24
32
  b,
25
33
  a
26
34
  ];
27
- return c.filter((value)=>d.includes(value)
28
- );
35
+ return c.filter((value)=>d.includes(value));
29
36
  }
30
37
  function replaceValue(values, original, replacement) {
31
38
  const index = values.indexOf(original);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/array.ts"],"sourcesContent":["/** Returns the last index of an item based on a given criteria. */\nexport function findLastIndex<T>(array: T[], predicate: (item: T) => boolean) {\n for (let i = array.length - 1; i >= 0; i--) {\n if (predicate(array[i])) {\n return i;\n }\n }\n return -1;\n}\n\n/** Returns a list of items that intersect between two given arrays. */\nexport function intersecting<T>(a: T[], b: T[]): T[] {\n const [c, d] = a.length > b.length ? [a, b] : [b, a];\n return c.filter((value) => d.includes(value));\n}\n\nexport function replaceValue<T>(values: T[], original: T, replacement: T): T[] {\n const index = values.indexOf(original);\n if (index > -1) {\n values[index] = replacement;\n }\n return values;\n}\n\n/** lodash.uniqBy */\nexport function uniqBy<T>(array: T[], key: (item: T) => string): T[] {\n const seen: { [key: string]: boolean } = {};\n return array.filter((item) => {\n const k = key(item);\n if (seen[k]) {\n return false;\n }\n seen[k] = true;\n return true;\n });\n}\n\n/** `lodash.chunk` */\nexport function chunk<T>(array: T[], size: number): T[][] {\n const chunked = [];\n let index = 0;\n while (index < array.length) {\n chunked.push(array.slice(index, (index += size)));\n }\n return chunked;\n}\n\n/** `lodash.groupBy` */\nexport function groupBy<T, K extends keyof any>(list: T[], getKey: (item: T) => K): Record<K, T[]> {\n return list.reduce(\n (previous, currentItem) => {\n const group = getKey(currentItem);\n if (!previous[group]) {\n previous[group] = [];\n }\n previous[group].push(currentItem);\n return previous;\n },\n {} as Record<K, T[]>\n );\n}\n"],"names":["findLastIndex","intersecting","replaceValue","uniqBy","chunk","groupBy","array","predicate","i","length","a","b","c","d","filter","value","includes","values","original","replacement","index","indexOf","key","seen","item","k","size","chunked","push","slice","list","getKey","reduce","previous","currentItem","group"],"mappings":"AACA;;;;QAAgBA,aAAa,GAAbA,aAAa;QAUbC,YAAY,GAAZA,YAAY;QAKZC,YAAY,GAAZA,YAAY;QASZC,MAAM,GAANA,MAAM;QAaNC,KAAK,GAALA,KAAK;QAULC,OAAO,GAAPA,OAAO;AA/ChB,SAASL,aAAa,CAAIM,KAAU,EAAEC,SAA+B,EAAE;IAC5E,IAAK,IAAIC,CAAC,GAAGF,KAAK,CAACG,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,CAAE;QAC1C,IAAID,SAAS,CAACD,KAAK,CAACE,CAAC,CAAC,CAAC,EAAE;YACvB,OAAOA,CAAC,CAAC;SACV;KACF;IACD,OAAO,CAAC,CAAC,CAAC;CACX;AAGM,SAASP,YAAY,CAAIS,CAAM,EAAEC,CAAM,EAAO;IACnD,MAAM,CAACC,CAAC,EAAEC,CAAC,CAAC,GAAGH,CAAC,CAACD,MAAM,GAAGE,CAAC,CAACF,MAAM,GAAG;QAACC,CAAC;QAAEC,CAAC;KAAC,GAAG;QAACA,CAAC;QAAED,CAAC;KAAC,AAAC;IACrD,OAAOE,CAAC,CAACE,MAAM,CAAC,CAACC,KAAK,GAAKF,CAAC,CAACG,QAAQ,CAACD,KAAK,CAAC;IAAA,CAAC,CAAC;CAC/C;AAEM,SAASb,YAAY,CAAIe,MAAW,EAAEC,QAAW,EAAEC,WAAc,EAAO;IAC7E,MAAMC,KAAK,GAAGH,MAAM,CAACI,OAAO,CAACH,QAAQ,CAAC,AAAC;IACvC,IAAIE,KAAK,GAAG,CAAC,CAAC,EAAE;QACdH,MAAM,CAACG,KAAK,CAAC,GAAGD,WAAW,CAAC;KAC7B;IACD,OAAOF,MAAM,CAAC;CACf;AAGM,SAASd,MAAM,CAAIG,KAAU,EAAEgB,GAAwB,EAAO;IACnE,MAAMC,IAAI,GAA+B,EAAE,AAAC;IAC5C,OAAOjB,KAAK,CAACQ,MAAM,CAAC,CAACU,IAAI,GAAK;QAC5B,MAAMC,CAAC,GAAGH,GAAG,CAACE,IAAI,CAAC,AAAC;QACpB,IAAID,IAAI,CAACE,CAAC,CAAC,EAAE;YACX,OAAO,KAAK,CAAC;SACd;QACDF,IAAI,CAACE,CAAC,CAAC,GAAG,IAAI,CAAC;QACf,OAAO,IAAI,CAAC;KACb,CAAC,CAAC;CACJ;AAGM,SAASrB,KAAK,CAAIE,KAAU,EAAEoB,IAAY,EAAS;IACxD,MAAMC,OAAO,GAAG,EAAE,AAAC;IACnB,IAAIP,KAAK,GAAG,CAAC,AAAC;IACd,MAAOA,KAAK,GAAGd,KAAK,CAACG,MAAM,CAAE;QAC3BkB,OAAO,CAACC,IAAI,CAACtB,KAAK,CAACuB,KAAK,CAACT,KAAK,EAAGA,KAAK,IAAIM,IAAI,CAAE,CAAC,CAAC;KACnD;IACD,OAAOC,OAAO,CAAC;CAChB;AAGM,SAAStB,OAAO,CAAyByB,IAAS,EAAEC,MAAsB,EAAkB;IACjG,OAAOD,IAAI,CAACE,MAAM,CAChB,CAACC,QAAQ,EAAEC,WAAW,GAAK;QACzB,MAAMC,KAAK,GAAGJ,MAAM,CAACG,WAAW,CAAC,AAAC;QAClC,IAAI,CAACD,QAAQ,CAACE,KAAK,CAAC,EAAE;YACpBF,QAAQ,CAACE,KAAK,CAAC,GAAG,EAAE,CAAC;SACtB;QACDF,QAAQ,CAACE,KAAK,CAAC,CAACP,IAAI,CAACM,WAAW,CAAC,CAAC;QAClC,OAAOD,QAAQ,CAAC;KACjB,EACD,EAAE,CACH,CAAC;CACH"}
1
+ {"version":3,"sources":["../../../src/utils/array.ts"],"sourcesContent":["/** Returns the last index of an item based on a given criteria. */\nexport function findLastIndex<T>(array: T[], predicate: (item: T) => boolean) {\n for (let i = array.length - 1; i >= 0; i--) {\n if (predicate(array[i])) {\n return i;\n }\n }\n return -1;\n}\n\n/** Returns a list of items that intersect between two given arrays. */\nexport function intersecting<T>(a: T[], b: T[]): T[] {\n const [c, d] = a.length > b.length ? [a, b] : [b, a];\n return c.filter((value) => d.includes(value));\n}\n\nexport function replaceValue<T>(values: T[], original: T, replacement: T): T[] {\n const index = values.indexOf(original);\n if (index > -1) {\n values[index] = replacement;\n }\n return values;\n}\n\n/** lodash.uniqBy */\nexport function uniqBy<T>(array: T[], key: (item: T) => string): T[] {\n const seen: { [key: string]: boolean } = {};\n return array.filter((item) => {\n const k = key(item);\n if (seen[k]) {\n return false;\n }\n seen[k] = true;\n return true;\n });\n}\n\n/** `lodash.chunk` */\nexport function chunk<T>(array: T[], size: number): T[][] {\n const chunked = [];\n let index = 0;\n while (index < array.length) {\n chunked.push(array.slice(index, (index += size)));\n }\n return chunked;\n}\n\n/** `lodash.groupBy` */\nexport function groupBy<T, K extends keyof any>(list: T[], getKey: (item: T) => K): Record<K, T[]> {\n return list.reduce(\n (previous, currentItem) => {\n const group = getKey(currentItem);\n if (!previous[group]) {\n previous[group] = [];\n }\n previous[group].push(currentItem);\n return previous;\n },\n {} as Record<K, T[]>\n );\n}\n"],"names":["findLastIndex","intersecting","replaceValue","uniqBy","chunk","groupBy","array","predicate","i","length","a","b","c","d","filter","value","includes","values","original","replacement","index","indexOf","key","seen","item","k","size","chunked","push","slice","list","getKey","reduce","previous","currentItem","group"],"mappings":"AAAA,iEAAiE,GACjE;;;;;;;;;;;IAAgBA,aAAa,MAAbA,aAAa;IAUbC,YAAY,MAAZA,YAAY;IAKZC,YAAY,MAAZA,YAAY;IASZC,MAAM,MAANA,MAAM;IAaNC,KAAK,MAALA,KAAK;IAULC,OAAO,MAAPA,OAAO;;AA/ChB,SAASL,aAAa,CAAIM,KAAU,EAAEC,SAA+B,EAAE;IAC5E,IAAK,IAAIC,CAAC,GAAGF,KAAK,CAACG,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,CAAE;QAC1C,IAAID,SAAS,CAACD,KAAK,CAACE,CAAC,CAAC,CAAC,EAAE;YACvB,OAAOA,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAGM,SAASP,YAAY,CAAIS,CAAM,EAAEC,CAAM,EAAO;IACnD,MAAM,CAACC,CAAC,EAAEC,CAAC,CAAC,GAAGH,CAAC,CAACD,MAAM,GAAGE,CAAC,CAACF,MAAM,GAAG;QAACC,CAAC;QAAEC,CAAC;KAAC,GAAG;QAACA,CAAC;QAAED,CAAC;KAAC,AAAC;IACrD,OAAOE,CAAC,CAACE,MAAM,CAAC,CAACC,KAAK,GAAKF,CAAC,CAACG,QAAQ,CAACD,KAAK,CAAC,CAAC,CAAC;AAChD,CAAC;AAEM,SAASb,YAAY,CAAIe,MAAW,EAAEC,QAAW,EAAEC,WAAc,EAAO;IAC7E,MAAMC,KAAK,GAAGH,MAAM,CAACI,OAAO,CAACH,QAAQ,CAAC,AAAC;IACvC,IAAIE,KAAK,GAAG,CAAC,CAAC,EAAE;QACdH,MAAM,CAACG,KAAK,CAAC,GAAGD,WAAW,CAAC;IAC9B,CAAC;IACD,OAAOF,MAAM,CAAC;AAChB,CAAC;AAGM,SAASd,MAAM,CAAIG,KAAU,EAAEgB,GAAwB,EAAO;IACnE,MAAMC,IAAI,GAA+B,EAAE,AAAC;IAC5C,OAAOjB,KAAK,CAACQ,MAAM,CAAC,CAACU,IAAI,GAAK;QAC5B,MAAMC,CAAC,GAAGH,GAAG,CAACE,IAAI,CAAC,AAAC;QACpB,IAAID,IAAI,CAACE,CAAC,CAAC,EAAE;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QACDF,IAAI,CAACE,CAAC,CAAC,GAAG,IAAI,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAGM,SAASrB,KAAK,CAAIE,KAAU,EAAEoB,IAAY,EAAS;IACxD,MAAMC,OAAO,GAAG,EAAE,AAAC;IACnB,IAAIP,KAAK,GAAG,CAAC,AAAC;IACd,MAAOA,KAAK,GAAGd,KAAK,CAACG,MAAM,CAAE;QAC3BkB,OAAO,CAACC,IAAI,CAACtB,KAAK,CAACuB,KAAK,CAACT,KAAK,EAAGA,KAAK,IAAIM,IAAI,CAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAOC,OAAO,CAAC;AACjB,CAAC;AAGM,SAAStB,OAAO,CAAyByB,IAAS,EAAEC,MAAsB,EAAkB;IACjG,OAAOD,IAAI,CAACE,MAAM,CAChB,CAACC,QAAQ,EAAEC,WAAW,GAAK;QACzB,MAAMC,KAAK,GAAGJ,MAAM,CAACG,WAAW,CAAC,AAAC;QAClC,IAAI,CAACD,QAAQ,CAACE,KAAK,CAAC,EAAE;YACpBF,QAAQ,CAACE,KAAK,CAAC,GAAG,EAAE,CAAC;QACvB,CAAC;QACDF,QAAQ,CAACE,KAAK,CAAC,CAACP,IAAI,CAACM,WAAW,CAAC,CAAC;QAClC,OAAOD,QAAQ,CAAC;IAClB,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC"}
@@ -2,9 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.hasPackageJsonDependencyListChangedAsync = hasPackageJsonDependencyListChangedAsync;
6
- exports.installCocoaPodsAsync = installCocoaPodsAsync;
7
- exports.maybePromptToSyncPodsAsync = maybePromptToSyncPodsAsync;
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
+ hasPackageJsonDependencyListChangedAsync: ()=>hasPackageJsonDependencyListChangedAsync,
13
+ installCocoaPodsAsync: ()=>installCocoaPodsAsync,
14
+ maybePromptToSyncPodsAsync: ()=>maybePromptToSyncPodsAsync
15
+ });
8
16
  function _config() {
9
17
  const data = require("@expo/config");
10
18
  _config = function() {
@@ -13,71 +21,89 @@ function _config() {
13
21
  return data;
14
22
  }
15
23
  function _jsonFile() {
16
- const data = _interopRequireDefault(require("@expo/json-file"));
24
+ const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/json-file"));
17
25
  _jsonFile = function() {
18
26
  return data;
19
27
  };
20
28
  return data;
21
29
  }
22
- function PackageManager() {
23
- const data = _interopRequireWildcard(require("@expo/package-manager"));
24
- PackageManager = function() {
30
+ function _packageManager() {
31
+ const data = /*#__PURE__*/ _interopRequireWildcard(require("@expo/package-manager"));
32
+ _packageManager = function() {
25
33
  return data;
26
34
  };
27
35
  return data;
28
36
  }
29
37
  function _chalk() {
30
- const data = _interopRequireDefault(require("chalk"));
38
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
31
39
  _chalk = function() {
32
40
  return data;
33
41
  };
34
42
  return data;
35
43
  }
36
44
  function _fs() {
37
- const data = _interopRequireDefault(require("fs"));
45
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
38
46
  _fs = function() {
39
47
  return data;
40
48
  };
41
49
  return data;
42
50
  }
43
51
  function _path() {
44
- const data = _interopRequireDefault(require("path"));
52
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
45
53
  _path = function() {
46
54
  return data;
47
55
  };
48
56
  return data;
49
57
  }
50
- var _dir = require("./dir");
51
- var _env = require("./env");
52
- var _errors = require("./errors");
53
- var _ora = require("./ora");
54
- var Log = _interopRequireWildcard(require("../log"));
55
- var _updatePackageJson = require("../prebuild/updatePackageJson");
58
+ const _dir = require("./dir");
59
+ const _env = require("./env");
60
+ const _errors = require("./errors");
61
+ const _ora = require("./ora");
62
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../log"));
63
+ const _updatePackageJson = require("../prebuild/updatePackageJson");
56
64
  function _interopRequireDefault(obj) {
57
65
  return obj && obj.__esModule ? obj : {
58
66
  default: obj
59
67
  };
60
68
  }
61
- function _interopRequireWildcard(obj) {
62
- if (obj && obj.__esModule) {
69
+ function _getRequireWildcardCache(nodeInterop) {
70
+ if (typeof WeakMap !== "function") return null;
71
+ var cacheBabelInterop = new WeakMap();
72
+ var cacheNodeInterop = new WeakMap();
73
+ return (_getRequireWildcardCache = function(nodeInterop) {
74
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
75
+ })(nodeInterop);
76
+ }
77
+ function _interopRequireWildcard(obj, nodeInterop) {
78
+ if (!nodeInterop && obj && obj.__esModule) {
63
79
  return obj;
64
- } else {
65
- var newObj = {};
66
- if (obj != null) {
67
- for(var key in obj){
68
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
69
- var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
70
- if (desc.get || desc.set) {
71
- Object.defineProperty(newObj, key, desc);
72
- } else {
73
- newObj[key] = obj[key];
74
- }
75
- }
80
+ }
81
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
82
+ return {
83
+ default: obj
84
+ };
85
+ }
86
+ var cache = _getRequireWildcardCache(nodeInterop);
87
+ if (cache && cache.has(obj)) {
88
+ return cache.get(obj);
89
+ }
90
+ var newObj = {};
91
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
92
+ for(var key in obj){
93
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
94
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
95
+ if (desc && (desc.get || desc.set)) {
96
+ Object.defineProperty(newObj, key, desc);
97
+ } else {
98
+ newObj[key] = obj[key];
76
99
  }
77
100
  }
78
- newObj.default = obj;
79
- return newObj;
80
101
  }
102
+ newObj.default = obj;
103
+ if (cache) {
104
+ cache.set(obj, newObj);
105
+ }
106
+ return newObj;
81
107
  }
82
108
  const PROJECT_PREBUILD_SETTINGS = ".expo/prebuild";
83
109
  const CACHED_PACKAGE_JSON = "cached-packages.json";
@@ -99,27 +125,27 @@ function hasNewDependenciesSinceLastBuild(projectRoot, packageChecksums) {
99
125
  }
100
126
  function createPackageChecksums(pkg) {
101
127
  return {
102
- dependencies: (0, _updatePackageJson).hashForDependencyMap(pkg.dependencies || {}),
103
- devDependencies: (0, _updatePackageJson).hashForDependencyMap(pkg.devDependencies || {})
128
+ dependencies: (0, _updatePackageJson.hashForDependencyMap)(pkg.dependencies || {}),
129
+ devDependencies: (0, _updatePackageJson.hashForDependencyMap)(pkg.devDependencies || {})
104
130
  };
105
131
  }
106
132
  async function hasPackageJsonDependencyListChangedAsync(projectRoot) {
107
- const pkg = _config().getPackageJson(projectRoot);
133
+ const pkg = (0, _config().getPackageJson)(projectRoot);
108
134
  const packages = createPackageChecksums(pkg);
109
135
  const hasNewDependencies = hasNewDependenciesSinceLastBuild(projectRoot, packages);
110
136
  // Cache package.json
111
- await (0, _dir).ensureDirectoryAsync(getTempPrebuildFolder(projectRoot));
137
+ await (0, _dir.ensureDirectoryAsync)(getTempPrebuildFolder(projectRoot));
112
138
  const templateDirectory = _path().default.join(getTempPrebuildFolder(projectRoot), CACHED_PACKAGE_JSON);
113
139
  await _jsonFile().default.writeAsync(templateDirectory, packages);
114
140
  return hasNewDependencies;
115
141
  }
116
142
  async function installCocoaPodsAsync(projectRoot) {
117
- let step = (0, _ora).logNewSection("Installing CocoaPods...");
143
+ let step = (0, _ora.logNewSection)("Installing CocoaPods...");
118
144
  if (process.platform !== "darwin") {
119
145
  step.succeed("Skipped installing CocoaPods because operating system is not on macOS.");
120
146
  return false;
121
147
  }
122
- const packageManager = new (PackageManager()).CocoaPodsPackageManager({
148
+ const packageManager = new (_packageManager()).CocoaPodsPackageManager({
123
149
  cwd: _path().default.join(projectRoot, "ios"),
124
150
  silent: !(_env.env.EXPO_DEBUG || _env.env.CI)
125
151
  });
@@ -128,7 +154,7 @@ async function installCocoaPodsAsync(projectRoot) {
128
154
  // prompt user -- do you want to install cocoapods right now?
129
155
  step.text = "CocoaPods CLI not found in your PATH, installing it now.";
130
156
  step.stopAndPersist();
131
- await PackageManager().CocoaPodsPackageManager.installCLIAsync({
157
+ await _packageManager().CocoaPodsPackageManager.installCLIAsync({
132
158
  nonInteractive: true,
133
159
  spawnOptions: {
134
160
  ...packageManager.options,
@@ -141,16 +167,16 @@ async function installCocoaPodsAsync(projectRoot) {
141
167
  }
142
168
  });
143
169
  step.succeed("Installed CocoaPods CLI.");
144
- step = (0, _ora).logNewSection("Running `pod install` in the `ios` directory.");
170
+ step = (0, _ora.logNewSection)("Running `pod install` in the `ios` directory.");
145
171
  } catch (error) {
146
172
  step.stopAndPersist({
147
- symbol: "\u26A0\uFE0F ",
173
+ symbol: "⚠️ ",
148
174
  text: _chalk().default.red("Unable to install the CocoaPods CLI.")
149
175
  });
150
- if (error instanceof PackageManager().CocoaPodsError) {
151
- Log.log(error.message);
176
+ if (error instanceof _packageManager().CocoaPodsError) {
177
+ _log.log(error.message);
152
178
  } else {
153
- Log.log(`Unknown error: ${error.message}`);
179
+ _log.log(`Unknown error: ${error.message}`);
154
180
  }
155
181
  return false;
156
182
  }
@@ -160,19 +186,18 @@ async function installCocoaPodsAsync(projectRoot) {
160
186
  spinner: step
161
187
  });
162
188
  // Create cached list for later
163
- await hasPackageJsonDependencyListChangedAsync(projectRoot).catch(()=>null
164
- );
189
+ await hasPackageJsonDependencyListChangedAsync(projectRoot).catch(()=>null);
165
190
  step.succeed("Installed CocoaPods");
166
191
  return true;
167
- } catch (error) {
192
+ } catch (error1) {
168
193
  step.stopAndPersist({
169
- symbol: "\u26A0\uFE0F ",
194
+ symbol: "⚠️ ",
170
195
  text: _chalk().default.red("Something went wrong running `pod install` in the `ios` directory.")
171
196
  });
172
- if (error instanceof PackageManager().CocoaPodsError) {
173
- Log.log(error.message);
197
+ if (error1 instanceof _packageManager().CocoaPodsError) {
198
+ _log.log(error1.message);
174
199
  } else {
175
- Log.log(`Unknown error: ${error.message}`);
200
+ _log.log(`Unknown error: ${error1.message}`);
176
201
  }
177
202
  return false;
178
203
  }
@@ -207,8 +232,7 @@ async function maybePromptToSyncPodsAsync(projectRoot) {
207
232
  }
208
233
  async function promptToInstallPodsAsync(projectRoot, missingPods) {
209
234
  if (missingPods == null ? void 0 : missingPods.length) {
210
- Log.log(`Could not find the following native modules: ${missingPods.map((pod)=>_chalk().default.bold(pod)
211
- ).join(", ")}. Did you forget to run "${_chalk().default.bold("pod install")}" ?`);
235
+ _log.log(`Could not find the following native modules: ${missingPods.map((pod)=>_chalk().default.bold(pod)).join(", ")}. Did you forget to run "${_chalk().default.bold("pod install")}" ?`);
212
236
  }
213
237
  try {
214
238
  if (!await installCocoaPodsAsync(projectRoot)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/cocoapods.ts"],"sourcesContent":["import { getPackageJson, PackageJSONConfig } from '@expo/config';\nimport JsonFile from '@expo/json-file';\nimport * as PackageManager from '@expo/package-manager';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { ensureDirectoryAsync } from './dir';\nimport { env } from './env';\nimport { AbortCommandError } from './errors';\nimport { logNewSection } from './ora';\nimport * as Log from '../log';\nimport { hashForDependencyMap } from '../prebuild/updatePackageJson';\n\ntype PackageChecksums = {\n /** checksum for the `package.json` dependency object. */\n dependencies: string;\n /** checksum for the `package.json` devDependency object. */\n devDependencies: string;\n};\n\nconst PROJECT_PREBUILD_SETTINGS = '.expo/prebuild';\nconst CACHED_PACKAGE_JSON = 'cached-packages.json';\n\nfunction getTempPrebuildFolder(projectRoot: string): string {\n return path.join(projectRoot, PROJECT_PREBUILD_SETTINGS);\n}\n\nfunction hasNewDependenciesSinceLastBuild(\n projectRoot: string,\n packageChecksums: PackageChecksums\n): boolean {\n // TODO: Maybe comparing lock files would be better...\n const templateDirectory = getTempPrebuildFolder(projectRoot);\n const tempPkgJsonPath = path.join(templateDirectory, CACHED_PACKAGE_JSON);\n if (!fs.existsSync(tempPkgJsonPath)) {\n return true;\n }\n const { dependencies, devDependencies } = JsonFile.read(tempPkgJsonPath);\n // Only change the dependencies if the normalized hash changes, this helps to reduce meaningless changes.\n const hasNewDependencies = packageChecksums.dependencies !== dependencies;\n const hasNewDevDependencies = packageChecksums.devDependencies !== devDependencies;\n\n return hasNewDependencies || hasNewDevDependencies;\n}\n\nfunction createPackageChecksums(pkg: PackageJSONConfig): PackageChecksums {\n return {\n dependencies: hashForDependencyMap(pkg.dependencies || {}),\n devDependencies: hashForDependencyMap(pkg.devDependencies || {}),\n };\n}\n\n/** @returns `true` if the package.json dependency hash does not match the cached hash from the last run. */\nexport async function hasPackageJsonDependencyListChangedAsync(\n projectRoot: string\n): Promise<boolean> {\n const pkg = getPackageJson(projectRoot);\n\n const packages = createPackageChecksums(pkg);\n const hasNewDependencies = hasNewDependenciesSinceLastBuild(projectRoot, packages);\n\n // Cache package.json\n await ensureDirectoryAsync(getTempPrebuildFolder(projectRoot));\n const templateDirectory = path.join(getTempPrebuildFolder(projectRoot), CACHED_PACKAGE_JSON);\n await JsonFile.writeAsync(templateDirectory, packages);\n\n return hasNewDependencies;\n}\n\nexport async function installCocoaPodsAsync(projectRoot: string): Promise<boolean> {\n let step = logNewSection('Installing CocoaPods...');\n if (process.platform !== 'darwin') {\n step.succeed('Skipped installing CocoaPods because operating system is not on macOS.');\n return false;\n }\n\n const packageManager = new PackageManager.CocoaPodsPackageManager({\n cwd: path.join(projectRoot, 'ios'),\n silent: !(env.EXPO_DEBUG || env.CI),\n });\n\n if (!(await packageManager.isCLIInstalledAsync())) {\n try {\n // prompt user -- do you want to install cocoapods right now?\n step.text = 'CocoaPods CLI not found in your PATH, installing it now.';\n step.stopAndPersist();\n await PackageManager.CocoaPodsPackageManager.installCLIAsync({\n nonInteractive: true,\n spawnOptions: {\n ...packageManager.options,\n // Don't silence this part\n stdio: ['inherit', 'inherit', 'pipe'],\n },\n });\n step.succeed('Installed CocoaPods CLI.');\n step = logNewSection('Running `pod install` in the `ios` directory.');\n } catch (error: any) {\n step.stopAndPersist({\n symbol: '⚠️ ',\n text: chalk.red('Unable to install the CocoaPods CLI.'),\n });\n if (error instanceof PackageManager.CocoaPodsError) {\n Log.log(error.message);\n } else {\n Log.log(`Unknown error: ${error.message}`);\n }\n return false;\n }\n }\n\n try {\n await packageManager.installAsync({ spinner: step });\n // Create cached list for later\n await hasPackageJsonDependencyListChangedAsync(projectRoot).catch(() => null);\n step.succeed('Installed CocoaPods');\n return true;\n } catch (error: any) {\n step.stopAndPersist({\n symbol: '⚠️ ',\n text: chalk.red('Something went wrong running `pod install` in the `ios` directory.'),\n });\n if (error instanceof PackageManager.CocoaPodsError) {\n Log.log(error.message);\n } else {\n Log.log(`Unknown error: ${error.message}`);\n }\n return false;\n }\n}\n\nfunction doesProjectUseCocoaPods(projectRoot: string): boolean {\n return fs.existsSync(path.join(projectRoot, 'ios', 'Podfile'));\n}\n\nfunction isLockfileCreated(projectRoot: string): boolean {\n const podfileLockPath = path.join(projectRoot, 'ios', 'Podfile.lock');\n return fs.existsSync(podfileLockPath);\n}\n\nfunction isPodFolderCreated(projectRoot: string): boolean {\n const podFolderPath = path.join(projectRoot, 'ios', 'Pods');\n return fs.existsSync(podFolderPath);\n}\n\n// TODO: Same process but with app.config changes + default plugins.\n// This will ensure the user is prompted for extra setup.\nexport async function maybePromptToSyncPodsAsync(projectRoot: string) {\n if (!doesProjectUseCocoaPods(projectRoot)) {\n // Project does not use CocoaPods\n return;\n }\n if (!isLockfileCreated(projectRoot) || !isPodFolderCreated(projectRoot)) {\n if (!(await installCocoaPodsAsync(projectRoot))) {\n throw new AbortCommandError();\n }\n return;\n }\n\n // Getting autolinked packages can be heavy, optimize around checking every time.\n if (!(await hasPackageJsonDependencyListChangedAsync(projectRoot))) {\n return;\n }\n\n await promptToInstallPodsAsync(projectRoot, []);\n}\n\nasync function promptToInstallPodsAsync(projectRoot: string, missingPods?: string[]) {\n if (missingPods?.length) {\n Log.log(\n `Could not find the following native modules: ${missingPods\n .map((pod) => chalk.bold(pod))\n .join(', ')}. Did you forget to run \"${chalk.bold('pod install')}\" ?`\n );\n }\n\n try {\n if (!(await installCocoaPodsAsync(projectRoot))) {\n throw new AbortCommandError();\n }\n } catch (error) {\n await fs.promises.rm(path.join(getTempPrebuildFolder(projectRoot), CACHED_PACKAGE_JSON), {\n recursive: true,\n force: true,\n });\n throw error;\n }\n}\n"],"names":["hasPackageJsonDependencyListChangedAsync","installCocoaPodsAsync","maybePromptToSyncPodsAsync","PackageManager","Log","PROJECT_PREBUILD_SETTINGS","CACHED_PACKAGE_JSON","getTempPrebuildFolder","projectRoot","path","join","hasNewDependenciesSinceLastBuild","packageChecksums","templateDirectory","tempPkgJsonPath","fs","existsSync","dependencies","devDependencies","JsonFile","read","hasNewDependencies","hasNewDevDependencies","createPackageChecksums","pkg","hashForDependencyMap","getPackageJson","packages","ensureDirectoryAsync","writeAsync","step","logNewSection","process","platform","succeed","packageManager","CocoaPodsPackageManager","cwd","silent","env","EXPO_DEBUG","CI","isCLIInstalledAsync","text","stopAndPersist","installCLIAsync","nonInteractive","spawnOptions","options","stdio","error","symbol","chalk","red","CocoaPodsError","log","message","installAsync","spinner","catch","doesProjectUseCocoaPods","isLockfileCreated","podfileLockPath","isPodFolderCreated","podFolderPath","AbortCommandError","promptToInstallPodsAsync","missingPods","length","map","pod","bold","promises","rm","recursive","force"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/utils/cocoapods.ts"],"sourcesContent":["import { getPackageJson, PackageJSONConfig } from '@expo/config';\nimport JsonFile from '@expo/json-file';\nimport * as PackageManager from '@expo/package-manager';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { ensureDirectoryAsync } from './dir';\nimport { env } from './env';\nimport { AbortCommandError } from './errors';\nimport { logNewSection } from './ora';\nimport * as Log from '../log';\nimport { hashForDependencyMap } from '../prebuild/updatePackageJson';\n\ntype PackageChecksums = {\n /** checksum for the `package.json` dependency object. */\n dependencies: string;\n /** checksum for the `package.json` devDependency object. */\n devDependencies: string;\n};\n\nconst PROJECT_PREBUILD_SETTINGS = '.expo/prebuild';\nconst CACHED_PACKAGE_JSON = 'cached-packages.json';\n\nfunction getTempPrebuildFolder(projectRoot: string): string {\n return path.join(projectRoot, PROJECT_PREBUILD_SETTINGS);\n}\n\nfunction hasNewDependenciesSinceLastBuild(\n projectRoot: string,\n packageChecksums: PackageChecksums\n): boolean {\n // TODO: Maybe comparing lock files would be better...\n const templateDirectory = getTempPrebuildFolder(projectRoot);\n const tempPkgJsonPath = path.join(templateDirectory, CACHED_PACKAGE_JSON);\n if (!fs.existsSync(tempPkgJsonPath)) {\n return true;\n }\n const { dependencies, devDependencies } = JsonFile.read(tempPkgJsonPath);\n // Only change the dependencies if the normalized hash changes, this helps to reduce meaningless changes.\n const hasNewDependencies = packageChecksums.dependencies !== dependencies;\n const hasNewDevDependencies = packageChecksums.devDependencies !== devDependencies;\n\n return hasNewDependencies || hasNewDevDependencies;\n}\n\nfunction createPackageChecksums(pkg: PackageJSONConfig): PackageChecksums {\n return {\n dependencies: hashForDependencyMap(pkg.dependencies || {}),\n devDependencies: hashForDependencyMap(pkg.devDependencies || {}),\n };\n}\n\n/** @returns `true` if the package.json dependency hash does not match the cached hash from the last run. */\nexport async function hasPackageJsonDependencyListChangedAsync(\n projectRoot: string\n): Promise<boolean> {\n const pkg = getPackageJson(projectRoot);\n\n const packages = createPackageChecksums(pkg);\n const hasNewDependencies = hasNewDependenciesSinceLastBuild(projectRoot, packages);\n\n // Cache package.json\n await ensureDirectoryAsync(getTempPrebuildFolder(projectRoot));\n const templateDirectory = path.join(getTempPrebuildFolder(projectRoot), CACHED_PACKAGE_JSON);\n await JsonFile.writeAsync(templateDirectory, packages);\n\n return hasNewDependencies;\n}\n\nexport async function installCocoaPodsAsync(projectRoot: string): Promise<boolean> {\n let step = logNewSection('Installing CocoaPods...');\n if (process.platform !== 'darwin') {\n step.succeed('Skipped installing CocoaPods because operating system is not on macOS.');\n return false;\n }\n\n const packageManager = new PackageManager.CocoaPodsPackageManager({\n cwd: path.join(projectRoot, 'ios'),\n silent: !(env.EXPO_DEBUG || env.CI),\n });\n\n if (!(await packageManager.isCLIInstalledAsync())) {\n try {\n // prompt user -- do you want to install cocoapods right now?\n step.text = 'CocoaPods CLI not found in your PATH, installing it now.';\n step.stopAndPersist();\n await PackageManager.CocoaPodsPackageManager.installCLIAsync({\n nonInteractive: true,\n spawnOptions: {\n ...packageManager.options,\n // Don't silence this part\n stdio: ['inherit', 'inherit', 'pipe'],\n },\n });\n step.succeed('Installed CocoaPods CLI.');\n step = logNewSection('Running `pod install` in the `ios` directory.');\n } catch (error: any) {\n step.stopAndPersist({\n symbol: '⚠️ ',\n text: chalk.red('Unable to install the CocoaPods CLI.'),\n });\n if (error instanceof PackageManager.CocoaPodsError) {\n Log.log(error.message);\n } else {\n Log.log(`Unknown error: ${error.message}`);\n }\n return false;\n }\n }\n\n try {\n await packageManager.installAsync({ spinner: step });\n // Create cached list for later\n await hasPackageJsonDependencyListChangedAsync(projectRoot).catch(() => null);\n step.succeed('Installed CocoaPods');\n return true;\n } catch (error: any) {\n step.stopAndPersist({\n symbol: '⚠️ ',\n text: chalk.red('Something went wrong running `pod install` in the `ios` directory.'),\n });\n if (error instanceof PackageManager.CocoaPodsError) {\n Log.log(error.message);\n } else {\n Log.log(`Unknown error: ${error.message}`);\n }\n return false;\n }\n}\n\nfunction doesProjectUseCocoaPods(projectRoot: string): boolean {\n return fs.existsSync(path.join(projectRoot, 'ios', 'Podfile'));\n}\n\nfunction isLockfileCreated(projectRoot: string): boolean {\n const podfileLockPath = path.join(projectRoot, 'ios', 'Podfile.lock');\n return fs.existsSync(podfileLockPath);\n}\n\nfunction isPodFolderCreated(projectRoot: string): boolean {\n const podFolderPath = path.join(projectRoot, 'ios', 'Pods');\n return fs.existsSync(podFolderPath);\n}\n\n// TODO: Same process but with app.config changes + default plugins.\n// This will ensure the user is prompted for extra setup.\nexport async function maybePromptToSyncPodsAsync(projectRoot: string) {\n if (!doesProjectUseCocoaPods(projectRoot)) {\n // Project does not use CocoaPods\n return;\n }\n if (!isLockfileCreated(projectRoot) || !isPodFolderCreated(projectRoot)) {\n if (!(await installCocoaPodsAsync(projectRoot))) {\n throw new AbortCommandError();\n }\n return;\n }\n\n // Getting autolinked packages can be heavy, optimize around checking every time.\n if (!(await hasPackageJsonDependencyListChangedAsync(projectRoot))) {\n return;\n }\n\n await promptToInstallPodsAsync(projectRoot, []);\n}\n\nasync function promptToInstallPodsAsync(projectRoot: string, missingPods?: string[]) {\n if (missingPods?.length) {\n Log.log(\n `Could not find the following native modules: ${missingPods\n .map((pod) => chalk.bold(pod))\n .join(', ')}. Did you forget to run \"${chalk.bold('pod install')}\" ?`\n );\n }\n\n try {\n if (!(await installCocoaPodsAsync(projectRoot))) {\n throw new AbortCommandError();\n }\n } catch (error) {\n await fs.promises.rm(path.join(getTempPrebuildFolder(projectRoot), CACHED_PACKAGE_JSON), {\n recursive: true,\n force: true,\n });\n throw error;\n }\n}\n"],"names":["hasPackageJsonDependencyListChangedAsync","installCocoaPodsAsync","maybePromptToSyncPodsAsync","PROJECT_PREBUILD_SETTINGS","CACHED_PACKAGE_JSON","getTempPrebuildFolder","projectRoot","path","join","hasNewDependenciesSinceLastBuild","packageChecksums","templateDirectory","tempPkgJsonPath","fs","existsSync","dependencies","devDependencies","JsonFile","read","hasNewDependencies","hasNewDevDependencies","createPackageChecksums","pkg","hashForDependencyMap","getPackageJson","packages","ensureDirectoryAsync","writeAsync","step","logNewSection","process","platform","succeed","packageManager","PackageManager","CocoaPodsPackageManager","cwd","silent","env","EXPO_DEBUG","CI","isCLIInstalledAsync","text","stopAndPersist","installCLIAsync","nonInteractive","spawnOptions","options","stdio","error","symbol","chalk","red","CocoaPodsError","Log","log","message","installAsync","spinner","catch","doesProjectUseCocoaPods","isLockfileCreated","podfileLockPath","isPodFolderCreated","podFolderPath","AbortCommandError","promptToInstallPodsAsync","missingPods","length","map","pod","bold","promises","rm","recursive","force"],"mappings":"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"}