@depup/expo__cli 55.0.16-depup.0

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 (782) hide show
  1. package/README.md +55 -0
  2. package/add-module.js +8 -0
  3. package/build/bin/cli +278 -0
  4. package/build/bin/cli.map +1 -0
  5. package/build/metro-require/require.js +608 -0
  6. package/build/src/api/endpoint.js +39 -0
  7. package/build/src/api/endpoint.js.map +1 -0
  8. package/build/src/api/getExpoGoIntermediateCertificate.js +23 -0
  9. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -0
  10. package/build/src/api/getExpoSchema.js +97 -0
  11. package/build/src/api/getExpoSchema.js.map +1 -0
  12. package/build/src/api/getNativeModuleVersions.js +37 -0
  13. package/build/src/api/getNativeModuleVersions.js.map +1 -0
  14. package/build/src/api/getProjectDevelopmentCertificate.js +26 -0
  15. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
  16. package/build/src/api/getVersions.js +29 -0
  17. package/build/src/api/getVersions.js.map +1 -0
  18. package/build/src/api/graphql/client.js +204 -0
  19. package/build/src/api/graphql/client.js.map +1 -0
  20. package/build/src/api/graphql/queries/AppQuery.js +40 -0
  21. package/build/src/api/graphql/queries/AppQuery.js.map +1 -0
  22. package/build/src/api/graphql/queries/UserQuery.js +63 -0
  23. package/build/src/api/graphql/queries/UserQuery.js.map +1 -0
  24. package/build/src/api/rest/cache/FileSystemResponseCache.js +184 -0
  25. package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -0
  26. package/build/src/api/rest/cache/ResponseCache.js +116 -0
  27. package/build/src/api/rest/cache/ResponseCache.js.map +1 -0
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +76 -0
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -0
  30. package/build/src/api/rest/client.js +168 -0
  31. package/build/src/api/rest/client.js.map +1 -0
  32. package/build/src/api/rest/client.types.js +6 -0
  33. package/build/src/api/rest/client.types.js.map +1 -0
  34. package/build/src/api/rest/wrapFetchWithBaseUrl.js +32 -0
  35. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
  36. package/build/src/api/rest/wrapFetchWithOffline.js +26 -0
  37. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
  38. package/build/src/api/rest/wrapFetchWithProgress.js +108 -0
  39. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
  40. package/build/src/api/rest/wrapFetchWithUserAgent.js +34 -0
  41. package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -0
  42. package/build/src/api/settings.js +33 -0
  43. package/build/src/api/settings.js.map +1 -0
  44. package/build/src/api/updateDevelopmentSession.js +100 -0
  45. package/build/src/api/updateDevelopmentSession.js.map +1 -0
  46. package/build/src/api/user/UserSettings.js +183 -0
  47. package/build/src/api/user/UserSettings.js.map +1 -0
  48. package/build/src/api/user/actions.js +167 -0
  49. package/build/src/api/user/actions.js.map +1 -0
  50. package/build/src/api/user/expoSsoLauncher.js +149 -0
  51. package/build/src/api/user/expoSsoLauncher.js.map +1 -0
  52. package/build/src/api/user/otp.js +177 -0
  53. package/build/src/api/user/otp.js.map +1 -0
  54. package/build/src/api/user/user.js +154 -0
  55. package/build/src/api/user/user.js.map +1 -0
  56. package/build/src/config/configAsync.js +180 -0
  57. package/build/src/config/configAsync.js.map +1 -0
  58. package/build/src/config/index.js +101 -0
  59. package/build/src/config/index.js.map +1 -0
  60. package/build/src/customize/customizeAsync.js +57 -0
  61. package/build/src/customize/customizeAsync.js.map +1 -0
  62. package/build/src/customize/generate.js +94 -0
  63. package/build/src/customize/generate.js.map +1 -0
  64. package/build/src/customize/index.js +51 -0
  65. package/build/src/customize/index.js.map +1 -0
  66. package/build/src/customize/resolveOptions.js +23 -0
  67. package/build/src/customize/resolveOptions.js.map +1 -0
  68. package/build/src/customize/templates.js +189 -0
  69. package/build/src/customize/templates.js.map +1 -0
  70. package/build/src/customize/typescript.js +81 -0
  71. package/build/src/customize/typescript.js.map +1 -0
  72. package/build/src/events/builder.js +6 -0
  73. package/build/src/events/builder.js.map +1 -0
  74. package/build/src/events/index.js +132 -0
  75. package/build/src/events/index.js.map +1 -0
  76. package/build/src/events/stream.js +303 -0
  77. package/build/src/events/stream.js.map +1 -0
  78. package/build/src/events/types.js +6 -0
  79. package/build/src/events/types.js.map +1 -0
  80. package/build/src/expoUpdatesExports.js +28 -0
  81. package/build/src/expoUpdatesExports.js.map +1 -0
  82. package/build/src/export/createMetadataJson.js +55 -0
  83. package/build/src/export/createMetadataJson.js.map +1 -0
  84. package/build/src/export/embed/exportEager.js +33 -0
  85. package/build/src/export/embed/exportEager.js.map +1 -0
  86. package/build/src/export/embed/exportEmbedAsync.js +457 -0
  87. package/build/src/export/embed/exportEmbedAsync.js.map +1 -0
  88. package/build/src/export/embed/exportServer.js +353 -0
  89. package/build/src/export/embed/exportServer.js.map +1 -0
  90. package/build/src/export/embed/index.js +161 -0
  91. package/build/src/export/embed/index.js.map +1 -0
  92. package/build/src/export/embed/resolveOptions.js +159 -0
  93. package/build/src/export/embed/resolveOptions.js.map +1 -0
  94. package/build/src/export/embed/xcodeCompilerLogger.js +148 -0
  95. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -0
  96. package/build/src/export/exportApp.js +387 -0
  97. package/build/src/export/exportApp.js.map +1 -0
  98. package/build/src/export/exportAssets.js +245 -0
  99. package/build/src/export/exportAssets.js.map +1 -0
  100. package/build/src/export/exportAsync.js +103 -0
  101. package/build/src/export/exportAsync.js.map +1 -0
  102. package/build/src/export/exportDomComponents.js +185 -0
  103. package/build/src/export/exportDomComponents.js.map +1 -0
  104. package/build/src/export/exportHermes.js +251 -0
  105. package/build/src/export/exportHermes.js.map +1 -0
  106. package/build/src/export/exportStaticAsync.js +623 -0
  107. package/build/src/export/exportStaticAsync.js.map +1 -0
  108. package/build/src/export/favicon.js +138 -0
  109. package/build/src/export/favicon.js.map +1 -0
  110. package/build/src/export/getPublicExpoManifest.js +39 -0
  111. package/build/src/export/getPublicExpoManifest.js.map +1 -0
  112. package/build/src/export/getResolvedLocales.js +52 -0
  113. package/build/src/export/getResolvedLocales.js.map +1 -0
  114. package/build/src/export/html.js +33 -0
  115. package/build/src/export/html.js.map +1 -0
  116. package/build/src/export/index.js +146 -0
  117. package/build/src/export/index.js.map +1 -0
  118. package/build/src/export/metroAssetLocalPath.js +130 -0
  119. package/build/src/export/metroAssetLocalPath.js.map +1 -0
  120. package/build/src/export/persistMetroAssets.js +269 -0
  121. package/build/src/export/persistMetroAssets.js.map +1 -0
  122. package/build/src/export/publicFolder.js +61 -0
  123. package/build/src/export/publicFolder.js.map +1 -0
  124. package/build/src/export/resolveOptions.js +92 -0
  125. package/build/src/export/resolveOptions.js.map +1 -0
  126. package/build/src/export/saveAssets.js +273 -0
  127. package/build/src/export/saveAssets.js.map +1 -0
  128. package/build/src/export/web/exportWebAsync.js +57 -0
  129. package/build/src/export/web/exportWebAsync.js.map +1 -0
  130. package/build/src/export/web/index.js +92 -0
  131. package/build/src/export/web/index.js.map +1 -0
  132. package/build/src/export/web/resolveOptions.js +18 -0
  133. package/build/src/export/web/resolveOptions.js.map +1 -0
  134. package/build/src/export/writeContents.js +19 -0
  135. package/build/src/export/writeContents.js.map +1 -0
  136. package/build/src/install/applyPlugins.js +81 -0
  137. package/build/src/install/applyPlugins.js.map +1 -0
  138. package/build/src/install/checkPackages.js +157 -0
  139. package/build/src/install/checkPackages.js.map +1 -0
  140. package/build/src/install/fixPackages.js +111 -0
  141. package/build/src/install/fixPackages.js.map +1 -0
  142. package/build/src/install/index.js +64 -0
  143. package/build/src/install/index.js.map +1 -0
  144. package/build/src/install/installAsync.js +203 -0
  145. package/build/src/install/installAsync.js.map +1 -0
  146. package/build/src/install/installExpoPackage.js +124 -0
  147. package/build/src/install/installExpoPackage.js.map +1 -0
  148. package/build/src/install/resolveOptions.js +65 -0
  149. package/build/src/install/resolveOptions.js.map +1 -0
  150. package/build/src/install/utils/autoAddConfigPlugins.js +90 -0
  151. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -0
  152. package/build/src/install/utils/checkPackagesCompatibility.js +66 -0
  153. package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -0
  154. package/build/src/install/utils/parsePackageSpecifier.js +24 -0
  155. package/build/src/install/utils/parsePackageSpecifier.js.map +1 -0
  156. package/build/src/lint/ESlintPrerequisite.js +163 -0
  157. package/build/src/lint/ESlintPrerequisite.js.map +1 -0
  158. package/build/src/lint/index.js +68 -0
  159. package/build/src/lint/index.js.map +1 -0
  160. package/build/src/lint/lintAsync.js +183 -0
  161. package/build/src/lint/lintAsync.js.map +1 -0
  162. package/build/src/lint/resolveOptions.js +115 -0
  163. package/build/src/lint/resolveOptions.js.map +1 -0
  164. package/build/src/log.js +106 -0
  165. package/build/src/log.js.map +1 -0
  166. package/build/src/login/index.js +92 -0
  167. package/build/src/login/index.js.map +1 -0
  168. package/build/src/logout/index.js +70 -0
  169. package/build/src/logout/index.js.map +1 -0
  170. package/build/src/prebuild/clearNativeFolder.js +202 -0
  171. package/build/src/prebuild/clearNativeFolder.js.map +1 -0
  172. package/build/src/prebuild/configureProjectAsync.js +106 -0
  173. package/build/src/prebuild/configureProjectAsync.js.map +1 -0
  174. package/build/src/prebuild/copyTemplateFiles.js +95 -0
  175. package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
  176. package/build/src/prebuild/ensureConfigAsync.js +32 -0
  177. package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
  178. package/build/src/prebuild/index.js +122 -0
  179. package/build/src/prebuild/index.js.map +1 -0
  180. package/build/src/prebuild/prebuildAsync.js +192 -0
  181. package/build/src/prebuild/prebuildAsync.js.map +1 -0
  182. package/build/src/prebuild/renameTemplateAppName.js +135 -0
  183. package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
  184. package/build/src/prebuild/resolveLocalTemplate.js +72 -0
  185. package/build/src/prebuild/resolveLocalTemplate.js.map +1 -0
  186. package/build/src/prebuild/resolveOptions.js +222 -0
  187. package/build/src/prebuild/resolveOptions.js.map +1 -0
  188. package/build/src/prebuild/resolveTemplate.js +216 -0
  189. package/build/src/prebuild/resolveTemplate.js.map +1 -0
  190. package/build/src/prebuild/updateFromTemplate.js +148 -0
  191. package/build/src/prebuild/updateFromTemplate.js.map +1 -0
  192. package/build/src/prebuild/updatePackageJson.js +305 -0
  193. package/build/src/prebuild/updatePackageJson.js.map +1 -0
  194. package/build/src/prebuild/validateTemplatePlatforms.js +85 -0
  195. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -0
  196. package/build/src/register/index.js +70 -0
  197. package/build/src/register/index.js.map +1 -0
  198. package/build/src/register/registerAsync.js +39 -0
  199. package/build/src/register/registerAsync.js.map +1 -0
  200. package/build/src/run/android/index.js +139 -0
  201. package/build/src/run/android/index.js.map +1 -0
  202. package/build/src/run/android/resolveDevice.js +28 -0
  203. package/build/src/run/android/resolveDevice.js.map +1 -0
  204. package/build/src/run/android/resolveGradlePropsAsync.js +82 -0
  205. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
  206. package/build/src/run/android/resolveInstallApkName.js +67 -0
  207. package/build/src/run/android/resolveInstallApkName.js.map +1 -0
  208. package/build/src/run/android/resolveLaunchProps.js +44 -0
  209. package/build/src/run/android/resolveLaunchProps.js.map +1 -0
  210. package/build/src/run/android/resolveOptions.js +43 -0
  211. package/build/src/run/android/resolveOptions.js.map +1 -0
  212. package/build/src/run/android/runAndroidAsync.js +157 -0
  213. package/build/src/run/android/runAndroidAsync.js.map +1 -0
  214. package/build/src/run/ensureNativeProject.js +53 -0
  215. package/build/src/run/ensureNativeProject.js.map +1 -0
  216. package/build/src/run/hints.js +46 -0
  217. package/build/src/run/hints.js.map +1 -0
  218. package/build/src/run/index.js +124 -0
  219. package/build/src/run/index.js.map +1 -0
  220. package/build/src/run/ios/XcodeBuild.js +382 -0
  221. package/build/src/run/ios/XcodeBuild.js.map +1 -0
  222. package/build/src/run/ios/XcodeBuild.types.js +6 -0
  223. package/build/src/run/ios/XcodeBuild.types.js.map +1 -0
  224. package/build/src/run/ios/appleDevice/AppleDevice.js +316 -0
  225. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -0
  226. package/build/src/run/ios/appleDevice/ClientManager.js +207 -0
  227. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -0
  228. package/build/src/run/ios/appleDevice/client/AFCClient.js +248 -0
  229. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -0
  230. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +149 -0
  231. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -0
  232. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +113 -0
  233. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -0
  234. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +186 -0
  235. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -0
  236. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +133 -0
  237. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -0
  238. package/build/src/run/ios/appleDevice/client/ServiceClient.js +38 -0
  239. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -0
  240. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +146 -0
  241. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -0
  242. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +153 -0
  243. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -0
  244. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +365 -0
  245. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -0
  246. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +167 -0
  247. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -0
  248. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +153 -0
  249. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -0
  250. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +111 -0
  251. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -0
  252. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +100 -0
  253. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -0
  254. package/build/src/run/ios/codeSigning/Security.js +116 -0
  255. package/build/src/run/ios/codeSigning/Security.js.map +1 -0
  256. package/build/src/run/ios/codeSigning/configureCodeSigning.js +108 -0
  257. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -0
  258. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +165 -0
  259. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -0
  260. package/build/src/run/ios/codeSigning/settings.js +27 -0
  261. package/build/src/run/ios/codeSigning/settings.js.map +1 -0
  262. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +67 -0
  263. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -0
  264. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +103 -0
  265. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -0
  266. package/build/src/run/ios/index.js +137 -0
  267. package/build/src/run/ios/index.js.map +1 -0
  268. package/build/src/run/ios/launchApp.js +142 -0
  269. package/build/src/run/ios/launchApp.js.map +1 -0
  270. package/build/src/run/ios/options/appleDestinations.js +126 -0
  271. package/build/src/run/ios/options/appleDestinations.js.map +1 -0
  272. package/build/src/run/ios/options/promptDevice.js +64 -0
  273. package/build/src/run/ios/options/promptDevice.js.map +1 -0
  274. package/build/src/run/ios/options/resolveDevice.js +151 -0
  275. package/build/src/run/ios/options/resolveDevice.js.map +1 -0
  276. package/build/src/run/ios/options/resolveNativeScheme.js +147 -0
  277. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -0
  278. package/build/src/run/ios/options/resolveOptions.js +66 -0
  279. package/build/src/run/ios/options/resolveOptions.js.map +1 -0
  280. package/build/src/run/ios/options/resolveXcodeProject.js +50 -0
  281. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -0
  282. package/build/src/run/ios/runIosAsync.js +255 -0
  283. package/build/src/run/ios/runIosAsync.js.map +1 -0
  284. package/build/src/run/ios/validateExternalBinary.js +113 -0
  285. package/build/src/run/ios/validateExternalBinary.js.map +1 -0
  286. package/build/src/run/resolveBundlerProps.js +38 -0
  287. package/build/src/run/resolveBundlerProps.js.map +1 -0
  288. package/build/src/run/startBundler.js +119 -0
  289. package/build/src/run/startBundler.js.map +1 -0
  290. package/build/src/serve/index.js +95 -0
  291. package/build/src/serve/index.js.map +1 -0
  292. package/build/src/serve/serveAsync.js +227 -0
  293. package/build/src/serve/serveAsync.js.map +1 -0
  294. package/build/src/start/detectDevClient.js +53 -0
  295. package/build/src/start/detectDevClient.js.map +1 -0
  296. package/build/src/start/doctor/Prerequisite.js +60 -0
  297. package/build/src/start/doctor/Prerequisite.js.map +1 -0
  298. package/build/src/start/doctor/SecurityBinPrerequisite.js +38 -0
  299. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -0
  300. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +144 -0
  301. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
  302. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +106 -0
  303. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -0
  304. package/build/src/start/doctor/apple/XcodePrerequisite.js +239 -0
  305. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -0
  306. package/build/src/start/doctor/apple/XcrunPrerequisite.js +88 -0
  307. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -0
  308. package/build/src/start/doctor/dependencies/bundledNativeModules.js +112 -0
  309. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -0
  310. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +192 -0
  311. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -0
  312. package/build/src/start/doctor/dependencies/getMissingPackages.js +108 -0
  313. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
  314. package/build/src/start/doctor/dependencies/getVersionedPackages.js +165 -0
  315. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
  316. package/build/src/start/doctor/dependencies/resolvePackages.js +95 -0
  317. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -0
  318. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +262 -0
  319. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
  320. package/build/src/start/doctor/ngrok/ExternalModule.js +214 -0
  321. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
  322. package/build/src/start/doctor/ngrok/NgrokResolver.js +33 -0
  323. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
  324. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +205 -0
  325. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
  326. package/build/src/start/doctor/typescript/updateTSConfig.js +144 -0
  327. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
  328. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +164 -0
  329. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
  330. package/build/src/start/index.js +151 -0
  331. package/build/src/start/index.js.map +1 -0
  332. package/build/src/start/interface/KeyPressHandler.js +126 -0
  333. package/build/src/start/interface/KeyPressHandler.js.map +1 -0
  334. package/build/src/start/interface/cliExtensionMenuItemHandler.js +173 -0
  335. package/build/src/start/interface/cliExtensionMenuItemHandler.js.map +1 -0
  336. package/build/src/start/interface/commandsTable.js +273 -0
  337. package/build/src/start/interface/commandsTable.js.map +1 -0
  338. package/build/src/start/interface/createDevToolsMenuItems.js +159 -0
  339. package/build/src/start/interface/createDevToolsMenuItems.js.map +1 -0
  340. package/build/src/start/interface/interactiveActions.js +225 -0
  341. package/build/src/start/interface/interactiveActions.js.map +1 -0
  342. package/build/src/start/interface/startInterface.js +261 -0
  343. package/build/src/start/interface/startInterface.js.map +1 -0
  344. package/build/src/start/platforms/AppIdResolver.js +55 -0
  345. package/build/src/start/platforms/AppIdResolver.js.map +1 -0
  346. package/build/src/start/platforms/DeviceManager.js +74 -0
  347. package/build/src/start/platforms/DeviceManager.js.map +1 -0
  348. package/build/src/start/platforms/ExpoGoInstaller.js +167 -0
  349. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
  350. package/build/src/start/platforms/PlatformManager.js +149 -0
  351. package/build/src/start/platforms/PlatformManager.js.map +1 -0
  352. package/build/src/start/platforms/android/ADBServer.js +139 -0
  353. package/build/src/start/platforms/android/ADBServer.js.map +1 -0
  354. package/build/src/start/platforms/android/AndroidAppIdResolver.js +54 -0
  355. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -0
  356. package/build/src/start/platforms/android/AndroidDeviceManager.js +216 -0
  357. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -0
  358. package/build/src/start/platforms/android/AndroidPlatformManager.js +80 -0
  359. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -0
  360. package/build/src/start/platforms/android/AndroidSdk.js +79 -0
  361. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -0
  362. package/build/src/start/platforms/android/activateWindow.js +117 -0
  363. package/build/src/start/platforms/android/activateWindow.js.map +1 -0
  364. package/build/src/start/platforms/android/adb.js +367 -0
  365. package/build/src/start/platforms/android/adb.js.map +1 -0
  366. package/build/src/start/platforms/android/adbReverse.js +129 -0
  367. package/build/src/start/platforms/android/adbReverse.js.map +1 -0
  368. package/build/src/start/platforms/android/emulator.js +185 -0
  369. package/build/src/start/platforms/android/emulator.js.map +1 -0
  370. package/build/src/start/platforms/android/getDevices.js +39 -0
  371. package/build/src/start/platforms/android/getDevices.js.map +1 -0
  372. package/build/src/start/platforms/android/gradle.js +125 -0
  373. package/build/src/start/platforms/android/gradle.js.map +1 -0
  374. package/build/src/start/platforms/android/promptAndroidDevice.js +82 -0
  375. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
  376. package/build/src/start/platforms/ios/AppleAppIdResolver.js +76 -0
  377. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
  378. package/build/src/start/platforms/ios/AppleDeviceManager.js +283 -0
  379. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -0
  380. package/build/src/start/platforms/ios/ApplePlatformManager.js +34 -0
  381. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -0
  382. package/build/src/start/platforms/ios/assertSystemRequirements.js +22 -0
  383. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -0
  384. package/build/src/start/platforms/ios/devicectl.js +398 -0
  385. package/build/src/start/platforms/ios/devicectl.js.map +1 -0
  386. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +122 -0
  387. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -0
  388. package/build/src/start/platforms/ios/getBestSimulator.js +148 -0
  389. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -0
  390. package/build/src/start/platforms/ios/promptAppleDevice.js +72 -0
  391. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
  392. package/build/src/start/platforms/ios/simctl.js +386 -0
  393. package/build/src/start/platforms/ios/simctl.js.map +1 -0
  394. package/build/src/start/platforms/ios/simctlLogging.js +276 -0
  395. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -0
  396. package/build/src/start/platforms/ios/xcrun.js +74 -0
  397. package/build/src/start/platforms/ios/xcrun.js.map +1 -0
  398. package/build/src/start/project/devices.js +92 -0
  399. package/build/src/start/project/devices.js.map +1 -0
  400. package/build/src/start/project/dotExpo.js +109 -0
  401. package/build/src/start/project/dotExpo.js.map +1 -0
  402. package/build/src/start/project/settings.js +17 -0
  403. package/build/src/start/project/settings.js.map +1 -0
  404. package/build/src/start/resolveOptions.js +173 -0
  405. package/build/src/start/resolveOptions.js.map +1 -0
  406. package/build/src/start/server/AsyncNgrok.js +269 -0
  407. package/build/src/start/server/AsyncNgrok.js.map +1 -0
  408. package/build/src/start/server/AsyncWsTunnel.js +156 -0
  409. package/build/src/start/server/AsyncWsTunnel.js.map +1 -0
  410. package/build/src/start/server/Bonjour.js +103 -0
  411. package/build/src/start/server/Bonjour.js.map +1 -0
  412. package/build/src/start/server/BundlerDevServer.js +410 -0
  413. package/build/src/start/server/BundlerDevServer.js.map +1 -0
  414. package/build/src/start/server/DevServerManager.js +259 -0
  415. package/build/src/start/server/DevServerManager.js.map +1 -0
  416. package/build/src/start/server/DevToolsPlugin.js +60 -0
  417. package/build/src/start/server/DevToolsPlugin.js.map +1 -0
  418. package/build/src/start/server/DevToolsPlugin.schema.js +79 -0
  419. package/build/src/start/server/DevToolsPlugin.schema.js.map +1 -0
  420. package/build/src/start/server/DevToolsPluginCliExtensionExecutor.js +119 -0
  421. package/build/src/start/server/DevToolsPluginCliExtensionExecutor.js.map +1 -0
  422. package/build/src/start/server/DevToolsPluginCliExtensionResults.js +61 -0
  423. package/build/src/start/server/DevToolsPluginCliExtensionResults.js.map +1 -0
  424. package/build/src/start/server/DevToolsPluginManager.js +60 -0
  425. package/build/src/start/server/DevToolsPluginManager.js.map +1 -0
  426. package/build/src/start/server/DevelopmentSession.js +132 -0
  427. package/build/src/start/server/DevelopmentSession.js.map +1 -0
  428. package/build/src/start/server/MCP.js +106 -0
  429. package/build/src/start/server/MCP.js.map +1 -0
  430. package/build/src/start/server/MCPDevToolsPluginCLIExtensions.js +86 -0
  431. package/build/src/start/server/MCPDevToolsPluginCLIExtensions.js.map +1 -0
  432. package/build/src/start/server/UrlCreator.js +219 -0
  433. package/build/src/start/server/UrlCreator.js.map +1 -0
  434. package/build/src/start/server/createMCPDevToolsExtensionSchema.js +67 -0
  435. package/build/src/start/server/createMCPDevToolsExtensionSchema.js.map +1 -0
  436. package/build/src/start/server/getStaticRenderFunctions.js +171 -0
  437. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -0
  438. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +39 -0
  439. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -0
  440. package/build/src/start/server/metro/MetroBundlerDevServer.js +1654 -0
  441. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
  442. package/build/src/start/server/metro/MetroTerminalReporter.js +438 -0
  443. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
  444. package/build/src/start/server/metro/TerminalReporter.js +180 -0
  445. package/build/src/start/server/metro/TerminalReporter.js.map +1 -0
  446. package/build/src/start/server/metro/TerminalReporter.types.js +6 -0
  447. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -0
  448. package/build/src/start/server/metro/createExpoAutolinkingResolver.js +123 -0
  449. package/build/src/start/server/metro/createExpoAutolinkingResolver.js.map +1 -0
  450. package/build/src/start/server/metro/createExpoFallbackResolver.js +143 -0
  451. package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -0
  452. package/build/src/start/server/metro/createServerComponentsMiddleware.js +501 -0
  453. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -0
  454. package/build/src/start/server/metro/createServerRouteMiddleware.js +229 -0
  455. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -0
  456. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +49 -0
  457. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -0
  458. package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
  459. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
  460. package/build/src/start/server/metro/debugging/attachAtlas.js +103 -0
  461. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -0
  462. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +127 -0
  463. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -0
  464. package/build/src/start/server/metro/debugging/createHandlersFactory.js +58 -0
  465. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
  466. package/build/src/start/server/metro/debugging/getDebuggerType.js +20 -0
  467. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
  468. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +44 -0
  469. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
  470. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +30 -0
  471. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
  472. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +27 -0
  473. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
  474. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +33 -0
  475. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
  476. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +56 -0
  477. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -0
  478. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +49 -0
  479. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
  480. package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
  481. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
  482. package/build/src/start/server/metro/debugging/types.js +6 -0
  483. package/build/src/start/server/metro/debugging/types.js.map +1 -0
  484. package/build/src/start/server/metro/dev-server/compression.js +45 -0
  485. package/build/src/start/server/metro/dev-server/compression.js.map +1 -0
  486. package/build/src/start/server/metro/dev-server/createEventSocket.js +103 -0
  487. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -0
  488. package/build/src/start/server/metro/dev-server/createMessageSocket.js +129 -0
  489. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -0
  490. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +82 -0
  491. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -0
  492. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +27 -0
  493. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -0
  494. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +43 -0
  495. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -0
  496. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +41 -0
  497. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -0
  498. package/build/src/start/server/metro/errors/FailedToResolveNativeOnlyModuleError.js +17 -0
  499. package/build/src/start/server/metro/errors/FailedToResolveNativeOnlyModuleError.js.map +1 -0
  500. package/build/src/start/server/metro/externals.js +89 -0
  501. package/build/src/start/server/metro/externals.js.map +1 -0
  502. package/build/src/start/server/metro/fetchRouterManifest.js +83 -0
  503. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -0
  504. package/build/src/start/server/metro/getCssModulesFromBundler.js +114 -0
  505. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -0
  506. package/build/src/start/server/metro/instantiateMetro.js +492 -0
  507. package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
  508. package/build/src/start/server/metro/log-box/LogBoxLog.js +211 -0
  509. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -0
  510. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +124 -0
  511. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -0
  512. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +46 -0
  513. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -0
  514. package/build/src/start/server/metro/metroErrorInterface.js +403 -0
  515. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -0
  516. package/build/src/start/server/metro/metroErrors.js +27 -0
  517. package/build/src/start/server/metro/metroErrors.js.map +1 -0
  518. package/build/src/start/server/metro/metroVirtualModules.js +92 -0
  519. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
  520. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +62 -0
  521. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -0
  522. package/build/src/start/server/metro/resolveLoader.js +68 -0
  523. package/build/src/start/server/metro/resolveLoader.js.map +1 -0
  524. package/build/src/start/server/metro/router.js +218 -0
  525. package/build/src/start/server/metro/router.js.map +1 -0
  526. package/build/src/start/server/metro/runServer-fork.js +179 -0
  527. package/build/src/start/server/metro/runServer-fork.js.map +1 -0
  528. package/build/src/start/server/metro/serializeHtml.js +138 -0
  529. package/build/src/start/server/metro/serializeHtml.js.map +1 -0
  530. package/build/src/start/server/metro/symbolicate.js +6 -0
  531. package/build/src/start/server/metro/symbolicate.js.map +1 -0
  532. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +103 -0
  533. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -0
  534. package/build/src/start/server/metro/withMetroErrorReportingResolver.js +266 -0
  535. package/build/src/start/server/metro/withMetroErrorReportingResolver.js.map +1 -0
  536. package/build/src/start/server/metro/withMetroMultiPlatform.js +748 -0
  537. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -0
  538. package/build/src/start/server/metro/withMetroResolvers.js +110 -0
  539. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -0
  540. package/build/src/start/server/metro/withMetroSupervisingTransformWorker.js +63 -0
  541. package/build/src/start/server/metro/withMetroSupervisingTransformWorker.js.map +1 -0
  542. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +32 -0
  543. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -0
  544. package/build/src/start/server/middleware/CorsMiddleware.js +92 -0
  545. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -0
  546. package/build/src/start/server/middleware/CreateFileMiddleware.js +166 -0
  547. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -0
  548. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +78 -0
  549. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -0
  550. package/build/src/start/server/middleware/DomComponentsMiddleware.js +138 -0
  551. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -0
  552. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +288 -0
  553. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
  554. package/build/src/start/server/middleware/ExpoMiddleware.js +121 -0
  555. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
  556. package/build/src/start/server/middleware/FaviconMiddleware.js +52 -0
  557. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -0
  558. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +29 -0
  559. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -0
  560. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +116 -0
  561. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
  562. package/build/src/start/server/middleware/ManifestMiddleware.js +362 -0
  563. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
  564. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +103 -0
  565. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
  566. package/build/src/start/server/middleware/ServeStaticMiddleware.js +85 -0
  567. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -0
  568. package/build/src/start/server/middleware/inspector/CdpClient.js +81 -0
  569. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -0
  570. package/build/src/start/server/middleware/inspector/JsInspector.js +123 -0
  571. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -0
  572. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +91 -0
  573. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -0
  574. package/build/src/start/server/middleware/inspector/middlwareMutations.js +30 -0
  575. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -0
  576. package/build/src/start/server/middleware/metroOptions.js +367 -0
  577. package/build/src/start/server/middleware/metroOptions.js.map +1 -0
  578. package/build/src/start/server/middleware/mutations.js +33 -0
  579. package/build/src/start/server/middleware/mutations.js.map +1 -0
  580. package/build/src/start/server/middleware/resolveAssets.js +154 -0
  581. package/build/src/start/server/middleware/resolveAssets.js.map +1 -0
  582. package/build/src/start/server/middleware/resolvePlatform.js +71 -0
  583. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -0
  584. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +38 -0
  585. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -0
  586. package/build/src/start/server/middleware/server.types.js +6 -0
  587. package/build/src/start/server/middleware/server.types.js.map +1 -0
  588. package/build/src/start/server/openPlatforms.js +33 -0
  589. package/build/src/start/server/openPlatforms.js.map +1 -0
  590. package/build/src/start/server/platformBundlers.js +39 -0
  591. package/build/src/start/server/platformBundlers.js.map +1 -0
  592. package/build/src/start/server/serverLogLikeMetro.js +309 -0
  593. package/build/src/start/server/serverLogLikeMetro.js.map +1 -0
  594. package/build/src/start/server/type-generation/expo-env.js +51 -0
  595. package/build/src/start/server/type-generation/expo-env.js.map +1 -0
  596. package/build/src/start/server/type-generation/routes.js +510 -0
  597. package/build/src/start/server/type-generation/routes.js.map +1 -0
  598. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +79 -0
  599. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -0
  600. package/build/src/start/server/type-generation/tsconfig.js +122 -0
  601. package/build/src/start/server/type-generation/tsconfig.js.map +1 -0
  602. package/build/src/start/server/webTemplate.js +111 -0
  603. package/build/src/start/server/webTemplate.js.map +1 -0
  604. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +316 -0
  605. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
  606. package/build/src/start/server/webpack/compile.js +101 -0
  607. package/build/src/start/server/webpack/compile.js.map +1 -0
  608. package/build/src/start/server/webpack/formatWebpackMessages.js +106 -0
  609. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -0
  610. package/build/src/start/server/webpack/resolveFromProject.js +63 -0
  611. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -0
  612. package/build/src/start/server/webpack/tls.js +128 -0
  613. package/build/src/start/server/webpack/tls.js.map +1 -0
  614. package/build/src/start/startAsync.js +204 -0
  615. package/build/src/start/startAsync.js.map +1 -0
  616. package/build/src/types.d.ts +2 -0
  617. package/build/src/utils/FileNotifier.js +138 -0
  618. package/build/src/utils/FileNotifier.js.map +1 -0
  619. package/build/src/utils/ansi.js +22 -0
  620. package/build/src/utils/ansi.js.map +1 -0
  621. package/build/src/utils/args.js +141 -0
  622. package/build/src/utils/args.js.map +1 -0
  623. package/build/src/utils/array.js +92 -0
  624. package/build/src/utils/array.js.map +1 -0
  625. package/build/src/utils/build-cache-providers/helpers.js +61 -0
  626. package/build/src/utils/build-cache-providers/helpers.js.map +1 -0
  627. package/build/src/utils/build-cache-providers/index.js +283 -0
  628. package/build/src/utils/build-cache-providers/index.js.map +1 -0
  629. package/build/src/utils/cocoapods.js +258 -0
  630. package/build/src/utils/cocoapods.js.map +1 -0
  631. package/build/src/utils/codesigning.js +395 -0
  632. package/build/src/utils/codesigning.js.map +1 -0
  633. package/build/src/utils/createFileTransform.js +34 -0
  634. package/build/src/utils/createFileTransform.js.map +1 -0
  635. package/build/src/utils/createTempPath.js +68 -0
  636. package/build/src/utils/createTempPath.js.map +1 -0
  637. package/build/src/utils/delay.js +58 -0
  638. package/build/src/utils/delay.js.map +1 -0
  639. package/build/src/utils/dir.js +121 -0
  640. package/build/src/utils/dir.js.map +1 -0
  641. package/build/src/utils/downloadAppAsync.js +98 -0
  642. package/build/src/utils/downloadAppAsync.js.map +1 -0
  643. package/build/src/utils/downloadExpoGoAsync.js +170 -0
  644. package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
  645. package/build/src/utils/editor.js +527 -0
  646. package/build/src/utils/editor.js.map +1 -0
  647. package/build/src/utils/env.js +266 -0
  648. package/build/src/utils/env.js.map +1 -0
  649. package/build/src/utils/errors.js +134 -0
  650. package/build/src/utils/errors.js.map +1 -0
  651. package/build/src/utils/exit.js +210 -0
  652. package/build/src/utils/exit.js.map +1 -0
  653. package/build/src/utils/expoUpdatesCli.js +120 -0
  654. package/build/src/utils/expoUpdatesCli.js.map +1 -0
  655. package/build/src/utils/fetch.js +41 -0
  656. package/build/src/utils/fetch.js.map +1 -0
  657. package/build/src/utils/filePath.js +42 -0
  658. package/build/src/utils/filePath.js.map +1 -0
  659. package/build/src/utils/findUp.js +61 -0
  660. package/build/src/utils/findUp.js.map +1 -0
  661. package/build/src/utils/fn.js +44 -0
  662. package/build/src/utils/fn.js.map +1 -0
  663. package/build/src/utils/freeport.js +70 -0
  664. package/build/src/utils/freeport.js.map +1 -0
  665. package/build/src/utils/getOrPromptApplicationId.js +259 -0
  666. package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
  667. package/build/src/utils/getRunningProcess.js +181 -0
  668. package/build/src/utils/getRunningProcess.js.map +1 -0
  669. package/build/src/utils/git.js +132 -0
  670. package/build/src/utils/git.js.map +1 -0
  671. package/build/src/utils/glob.js +46 -0
  672. package/build/src/utils/glob.js.map +1 -0
  673. package/build/src/utils/interactive.js +17 -0
  674. package/build/src/utils/interactive.js.map +1 -0
  675. package/build/src/utils/ip.js +63 -0
  676. package/build/src/utils/ip.js.map +1 -0
  677. package/build/src/utils/isModuleSymlinked.js +54 -0
  678. package/build/src/utils/isModuleSymlinked.js.map +1 -0
  679. package/build/src/utils/link.js +55 -0
  680. package/build/src/utils/link.js.map +1 -0
  681. package/build/src/utils/mergeGitIgnorePaths.js +189 -0
  682. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -0
  683. package/build/src/utils/modifyConfigAsync.js +106 -0
  684. package/build/src/utils/modifyConfigAsync.js.map +1 -0
  685. package/build/src/utils/modifyConfigPlugins.js +79 -0
  686. package/build/src/utils/modifyConfigPlugins.js.map +1 -0
  687. package/build/src/utils/net.js +43 -0
  688. package/build/src/utils/net.js.map +1 -0
  689. package/build/src/utils/nodeEnv.js +168 -0
  690. package/build/src/utils/nodeEnv.js.map +1 -0
  691. package/build/src/utils/nodeModules.js +52 -0
  692. package/build/src/utils/nodeModules.js.map +1 -0
  693. package/build/src/utils/npm.js +222 -0
  694. package/build/src/utils/npm.js.map +1 -0
  695. package/build/src/utils/obj.js +59 -0
  696. package/build/src/utils/obj.js.map +1 -0
  697. package/build/src/utils/open.js +36 -0
  698. package/build/src/utils/open.js.map +1 -0
  699. package/build/src/utils/ora.js +113 -0
  700. package/build/src/utils/ora.js.map +1 -0
  701. package/build/src/utils/plist.js +108 -0
  702. package/build/src/utils/plist.js.map +1 -0
  703. package/build/src/utils/port.js +196 -0
  704. package/build/src/utils/port.js.map +1 -0
  705. package/build/src/utils/profile.js +94 -0
  706. package/build/src/utils/profile.js.map +1 -0
  707. package/build/src/utils/progress.js +76 -0
  708. package/build/src/utils/progress.js.map +1 -0
  709. package/build/src/utils/prompts.js +151 -0
  710. package/build/src/utils/prompts.js.map +1 -0
  711. package/build/src/utils/qr.js +186 -0
  712. package/build/src/utils/qr.js.map +1 -0
  713. package/build/src/utils/resolveArgs.js +236 -0
  714. package/build/src/utils/resolveArgs.js.map +1 -0
  715. package/build/src/utils/resolveGlobal.js +195 -0
  716. package/build/src/utils/resolveGlobal.js.map +1 -0
  717. package/build/src/utils/scheme.js +212 -0
  718. package/build/src/utils/scheme.js.map +1 -0
  719. package/build/src/utils/stream.js +31 -0
  720. package/build/src/utils/stream.js.map +1 -0
  721. package/build/src/utils/strings.js +33 -0
  722. package/build/src/utils/strings.js.map +1 -0
  723. package/build/src/utils/tar.js +168 -0
  724. package/build/src/utils/tar.js.map +1 -0
  725. package/build/src/utils/telemetry/Telemetry.js +131 -0
  726. package/build/src/utils/telemetry/Telemetry.js.map +1 -0
  727. package/build/src/utils/telemetry/clients/FetchClient.js +91 -0
  728. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -0
  729. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +86 -0
  730. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -0
  731. package/build/src/utils/telemetry/clients/flushFetchDetached.js +39 -0
  732. package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -0
  733. package/build/src/utils/telemetry/events.js +20 -0
  734. package/build/src/utils/telemetry/events.js.map +1 -0
  735. package/build/src/utils/telemetry/index.js +72 -0
  736. package/build/src/utils/telemetry/index.js.map +1 -0
  737. package/build/src/utils/telemetry/types.js +6 -0
  738. package/build/src/utils/telemetry/types.js.map +1 -0
  739. package/build/src/utils/telemetry/utils/constants.js +23 -0
  740. package/build/src/utils/telemetry/utils/constants.js.map +1 -0
  741. package/build/src/utils/telemetry/utils/context.js +115 -0
  742. package/build/src/utils/telemetry/utils/context.js.map +1 -0
  743. package/build/src/utils/template.js +48 -0
  744. package/build/src/utils/template.js.map +1 -0
  745. package/build/src/utils/terminal.js +15 -0
  746. package/build/src/utils/terminal.js.map +1 -0
  747. package/build/src/utils/tsconfig/evaluateTsConfig.js +87 -0
  748. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -0
  749. package/build/src/utils/tsconfig/loadTsConfigPaths.js +84 -0
  750. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -0
  751. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +94 -0
  752. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -0
  753. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +62 -0
  754. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -0
  755. package/build/src/utils/url.js +92 -0
  756. package/build/src/utils/url.js.map +1 -0
  757. package/build/src/utils/validateApplicationId.js +255 -0
  758. package/build/src/utils/validateApplicationId.js.map +1 -0
  759. package/build/src/utils/variadic.js +132 -0
  760. package/build/src/utils/variadic.js.map +1 -0
  761. package/build/src/whoami/index.js +69 -0
  762. package/build/src/whoami/index.js.map +1 -0
  763. package/build/src/whoami/whoamiAsync.js +75 -0
  764. package/build/src/whoami/whoamiAsync.js.map +1 -0
  765. package/changes.json +106 -0
  766. package/internal/unstable-expo-updates-exports.d.ts +31 -0
  767. package/internal/unstable-expo-updates-exports.js +3 -0
  768. package/package.json +275 -0
  769. package/static/loading-page/index.html +363 -0
  770. package/static/shims/react-native-web/dist/cjs/exports/AppRegistry/AppContainer.js +13 -0
  771. package/static/shims/react-native-web/dist/cjs/exports/BackHandler/index.js +10 -0
  772. package/static/shims/react-native-web/dist/exports/AppRegistry/AppContainer.js +12 -0
  773. package/static/shims/react-native-web/dist/exports/BackHandler/index.js +7 -0
  774. package/static/template/+html.tsx +28 -0
  775. package/static/template/+native-intent.ts +9 -0
  776. package/static/template/.eslintrc.js +5 -0
  777. package/static/template/[...rsc]+api.ts +16 -0
  778. package/static/template/babel.config.js +6 -0
  779. package/static/template/eslint.config.js +10 -0
  780. package/static/template/index.html +36 -0
  781. package/static/template/metro.config.js +7 -0
  782. package/static/template/webpack.config.js +7 -0
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
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
+ createInstallCommand: function() {
13
+ return createInstallCommand;
14
+ },
15
+ ensureDependenciesAsync: function() {
16
+ return ensureDependenciesAsync;
17
+ }
18
+ });
19
+ function _config() {
20
+ const data = require("@expo/config");
21
+ _config = function() {
22
+ return data;
23
+ };
24
+ return data;
25
+ }
26
+ function _chalk() {
27
+ const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
28
+ _chalk = function() {
29
+ return data;
30
+ };
31
+ return data;
32
+ }
33
+ function _wrapansi() {
34
+ const data = /*#__PURE__*/ _interop_require_default(require("wrap-ansi"));
35
+ _wrapansi = function() {
36
+ return data;
37
+ };
38
+ return data;
39
+ }
40
+ const _getMissingPackages = require("./getMissingPackages");
41
+ const _installAsync = require("../../../install/installAsync");
42
+ const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../../log"));
43
+ const _errors = require("../../../utils/errors");
44
+ const _interactive = require("../../../utils/interactive");
45
+ const _ora = require("../../../utils/ora");
46
+ const _prompts = require("../../../utils/prompts");
47
+ function _interop_require_default(obj) {
48
+ return obj && obj.__esModule ? obj : {
49
+ default: obj
50
+ };
51
+ }
52
+ function _getRequireWildcardCache(nodeInterop) {
53
+ if (typeof WeakMap !== "function") return null;
54
+ var cacheBabelInterop = new WeakMap();
55
+ var cacheNodeInterop = new WeakMap();
56
+ return (_getRequireWildcardCache = function(nodeInterop) {
57
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
58
+ })(nodeInterop);
59
+ }
60
+ function _interop_require_wildcard(obj, nodeInterop) {
61
+ if (!nodeInterop && obj && obj.__esModule) {
62
+ return obj;
63
+ }
64
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
65
+ return {
66
+ default: obj
67
+ };
68
+ }
69
+ var cache = _getRequireWildcardCache(nodeInterop);
70
+ if (cache && cache.has(obj)) {
71
+ return cache.get(obj);
72
+ }
73
+ var newObj = {
74
+ __proto__: null
75
+ };
76
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
77
+ for(var key in obj){
78
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
79
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
80
+ if (desc && (desc.get || desc.set)) {
81
+ Object.defineProperty(newObj, key, desc);
82
+ } else {
83
+ newObj[key] = obj[key];
84
+ }
85
+ }
86
+ }
87
+ newObj.default = obj;
88
+ if (cache) {
89
+ cache.set(obj, newObj);
90
+ }
91
+ return newObj;
92
+ }
93
+ async function ensureDependenciesAsync(projectRoot, { exp = (0, _config().getConfig)(projectRoot).exp, requiredPackages, warningMessage, installMessage, // Don't prompt in CI
94
+ skipPrompt = !(0, _interactive.isInteractive)(), isProjectMutable = (0, _interactive.isInteractive)() }) {
95
+ const { missing } = await (0, _getMissingPackages.getMissingPackagesAsync)(projectRoot, {
96
+ sdkVersion: exp.sdkVersion,
97
+ requiredPackages
98
+ });
99
+ if (!missing.length) {
100
+ return true;
101
+ }
102
+ // Prompt to install or bail out...
103
+ const readableMissingPackages = missing.map(({ pkg, version })=>version ? [
104
+ pkg,
105
+ version
106
+ ].join('@') : pkg).join(', ');
107
+ let title = installMessage;
108
+ if (skipPrompt && !isProjectMutable) {
109
+ title += '\n\n';
110
+ } else {
111
+ let confirm = skipPrompt;
112
+ if (skipPrompt) {
113
+ // Automatically install packages without prompting.
114
+ _log.log(wrapForTerminal(title + ` Installing ${_chalk().default.cyan(readableMissingPackages)}`));
115
+ } else {
116
+ confirm = await (0, _prompts.confirmAsync)({
117
+ message: wrapForTerminal(title + ` Would you like to install ${_chalk().default.cyan(readableMissingPackages)}?`),
118
+ initial: true
119
+ });
120
+ }
121
+ if (confirm) {
122
+ // Format with version if available.
123
+ const [packages, devPackages] = missing.reduce(([deps, devDeps], p)=>{
124
+ const pkg = p.version ? [
125
+ p.pkg,
126
+ p.version
127
+ ].join('@') : p.pkg;
128
+ if (p.dev) {
129
+ return [
130
+ deps,
131
+ devDeps.concat(pkg)
132
+ ];
133
+ }
134
+ return [
135
+ deps.concat(pkg),
136
+ devDeps
137
+ ];
138
+ }, [
139
+ [],
140
+ []
141
+ ]);
142
+ if (packages.length) {
143
+ await installPackagesAsync(projectRoot, {
144
+ packages
145
+ });
146
+ }
147
+ if (devPackages.length) {
148
+ await installPackagesAsync(projectRoot, {
149
+ packages: devPackages,
150
+ dev: true
151
+ });
152
+ }
153
+ // Try again but skip prompting twice, simply fail if the packages didn't install correctly.
154
+ return await ensureDependenciesAsync(projectRoot, {
155
+ skipPrompt: true,
156
+ installMessage,
157
+ warningMessage,
158
+ requiredPackages
159
+ });
160
+ }
161
+ // Reset the title so it doesn't print twice in interactive mode.
162
+ title = '';
163
+ }
164
+ const installCommand = 'npx expo install ' + missing.map(({ pkg })=>pkg).join(' ');
165
+ const disableMessage = warningMessage;
166
+ const solution = `Install ${_chalk().default.bold(readableMissingPackages)} by running:\n\n ${_chalk().default.reset.bold(installCommand)}\n\n`;
167
+ // This prevents users from starting a misconfigured JS or TS project by default.
168
+ throw new _errors.CommandError(wrapForTerminal(title + solution + disableMessage + '\n'));
169
+ }
170
+ /** Wrap long messages to fit smaller terminals. */ function wrapForTerminal(message) {
171
+ return (0, _wrapansi().default)(message, process.stdout.columns || 80);
172
+ }
173
+ function createInstallCommand({ packages }) {
174
+ return 'npx expo install ' + packages.map(({ pkg })=>pkg).join(' ');
175
+ }
176
+ /** Install packages in the project. */ async function installPackagesAsync(projectRoot, { packages, dev }) {
177
+ const packagesStr = _chalk().default.bold(packages.join(', '));
178
+ _log.log();
179
+ const installingPackageStep = (0, _ora.logNewSection)(`Installing ${packagesStr}`);
180
+ try {
181
+ await (0, _installAsync.installAsync)(packages, {
182
+ projectRoot,
183
+ dev
184
+ });
185
+ } catch (e) {
186
+ installingPackageStep.fail(`Failed to install ${packagesStr} with error: ${e.message}`);
187
+ throw e;
188
+ }
189
+ installingPackageStep.succeed(`Installed ${packagesStr}`);
190
+ }
191
+
192
+ //# sourceMappingURL=ensureDependenciesAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/doctor/dependencies/ensureDependenciesAsync.ts"],"sourcesContent":["import { ExpoConfig, getConfig } from '@expo/config';\nimport chalk from 'chalk';\nimport wrapAnsi from 'wrap-ansi';\n\nimport { getMissingPackagesAsync, ResolvedPackage } from './getMissingPackages';\nimport { installAsync } from '../../../install/installAsync';\nimport * as Log from '../../../log';\nimport { CommandError } from '../../../utils/errors';\nimport { isInteractive } from '../../../utils/interactive';\nimport { logNewSection } from '../../../utils/ora';\nimport { confirmAsync } from '../../../utils/prompts';\n\nexport type EnsureDependenciesOptions = {\n /** The packages and/or version ranges that should be enforced in the project */\n requiredPackages: ResolvedPackage[];\n /** The user-facing message when the required packages are missing or incorrect */\n installMessage: string;\n /** The user-facing message when users aborted the installation */\n warningMessage: string;\n /** A previously loaded Expo configuration (loads when omitted) */\n exp?: ExpoConfig;\n /** If the prompts asking users to install should be skipped (defaults to false, in CI defaults to true) */\n skipPrompt?: boolean;\n /** Project can be mutated in the current environment (defaults to true, in CI defaults to false) */\n isProjectMutable?: boolean;\n};\n\nexport async function ensureDependenciesAsync(\n projectRoot: string,\n {\n exp = getConfig(projectRoot).exp,\n requiredPackages,\n warningMessage,\n installMessage,\n // Don't prompt in CI\n skipPrompt = !isInteractive(),\n isProjectMutable = isInteractive(),\n }: EnsureDependenciesOptions\n): Promise<boolean> {\n const { missing } = await getMissingPackagesAsync(projectRoot, {\n sdkVersion: exp.sdkVersion,\n requiredPackages,\n });\n if (!missing.length) {\n return true;\n }\n\n // Prompt to install or bail out...\n const readableMissingPackages = missing\n .map(({ pkg, version }) => (version ? [pkg, version].join('@') : pkg))\n .join(', ');\n\n let title = installMessage;\n\n if (skipPrompt && !isProjectMutable) {\n title += '\\n\\n';\n } else {\n let confirm = skipPrompt;\n if (skipPrompt) {\n // Automatically install packages without prompting.\n Log.log(wrapForTerminal(title + ` Installing ${chalk.cyan(readableMissingPackages)}`));\n } else {\n confirm = await confirmAsync({\n message: wrapForTerminal(\n title + ` Would you like to install ${chalk.cyan(readableMissingPackages)}?`\n ),\n initial: true,\n });\n }\n\n if (confirm) {\n // Format with version if available.\n const [packages, devPackages] = missing.reduce(\n ([deps, devDeps], p) => {\n const pkg = p.version ? [p.pkg, p.version].join('@') : p.pkg;\n if (p.dev) {\n return [deps, devDeps.concat(pkg)];\n }\n return [deps.concat(pkg), devDeps];\n },\n [[], []] as [string[], string[]]\n );\n\n if (packages.length) {\n await installPackagesAsync(projectRoot, {\n packages,\n });\n }\n\n if (devPackages.length) {\n await installPackagesAsync(projectRoot, {\n packages: devPackages,\n dev: true,\n });\n }\n\n // Try again but skip prompting twice, simply fail if the packages didn't install correctly.\n return await ensureDependenciesAsync(projectRoot, {\n skipPrompt: true,\n installMessage,\n warningMessage,\n requiredPackages,\n });\n }\n\n // Reset the title so it doesn't print twice in interactive mode.\n title = '';\n }\n\n const installCommand = 'npx expo install ' + missing.map(({ pkg }) => pkg).join(' ');\n\n const disableMessage = warningMessage;\n\n const solution = `Install ${chalk.bold(\n readableMissingPackages\n )} by running:\\n\\n ${chalk.reset.bold(installCommand)}\\n\\n`;\n\n // This prevents users from starting a misconfigured JS or TS project by default.\n throw new CommandError(wrapForTerminal(title + solution + disableMessage + '\\n'));\n}\n\n/** Wrap long messages to fit smaller terminals. */\nfunction wrapForTerminal(message: string): string {\n return wrapAnsi(message, process.stdout.columns || 80);\n}\n\n/** Create the bash install command from a given set of packages and settings. */\nexport function createInstallCommand({\n packages,\n}: {\n packages: {\n file: string;\n pkg: string;\n version?: string | undefined;\n }[];\n}) {\n return 'npx expo install ' + packages.map(({ pkg }) => pkg).join(' ');\n}\n\n/** Install packages in the project. */\nasync function installPackagesAsync(\n projectRoot: string,\n { packages, dev }: { packages: string[]; dev?: boolean }\n) {\n const packagesStr = chalk.bold(packages.join(', '));\n Log.log();\n const installingPackageStep = logNewSection(`Installing ${packagesStr}`);\n try {\n await installAsync(packages, { projectRoot, dev });\n } catch (e: any) {\n installingPackageStep.fail(`Failed to install ${packagesStr} with error: ${e.message}`);\n throw e;\n }\n installingPackageStep.succeed(`Installed ${packagesStr}`);\n}\n"],"names":["createInstallCommand","ensureDependenciesAsync","projectRoot","exp","getConfig","requiredPackages","warningMessage","installMessage","skipPrompt","isInteractive","isProjectMutable","missing","getMissingPackagesAsync","sdkVersion","length","readableMissingPackages","map","pkg","version","join","title","confirm","Log","log","wrapForTerminal","chalk","cyan","confirmAsync","message","initial","packages","devPackages","reduce","deps","devDeps","p","dev","concat","installPackagesAsync","installCommand","disableMessage","solution","bold","reset","CommandError","wrapAnsi","process","stdout","columns","packagesStr","installingPackageStep","logNewSection","installAsync","e","fail","succeed"],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
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
+ collectMissingPackages: function() {
13
+ return collectMissingPackages;
14
+ },
15
+ getMissingPackagesAsync: function() {
16
+ return getMissingPackagesAsync;
17
+ },
18
+ mutatePackagesWithKnownVersionsAsync: function() {
19
+ return mutatePackagesWithKnownVersionsAsync;
20
+ },
21
+ versionSatisfiesRequiredPackage: function() {
22
+ return versionSatisfiesRequiredPackage;
23
+ }
24
+ });
25
+ function _jsonfile() {
26
+ const data = /*#__PURE__*/ _interop_require_default(require("@expo/json-file"));
27
+ _jsonfile = function() {
28
+ return data;
29
+ };
30
+ return data;
31
+ }
32
+ function _resolvefrom() {
33
+ const data = /*#__PURE__*/ _interop_require_default(require("resolve-from"));
34
+ _resolvefrom = function() {
35
+ return data;
36
+ };
37
+ return data;
38
+ }
39
+ function _semver() {
40
+ const data = /*#__PURE__*/ _interop_require_default(require("semver"));
41
+ _semver = function() {
42
+ return data;
43
+ };
44
+ return data;
45
+ }
46
+ const _getVersionedPackages = require("./getVersionedPackages");
47
+ function _interop_require_default(obj) {
48
+ return obj && obj.__esModule ? obj : {
49
+ default: obj
50
+ };
51
+ }
52
+ const debug = require('debug')('expo:doctor:dependencies:getMissingPackages');
53
+ function collectMissingPackages(projectRoot, requiredPackages) {
54
+ const resolutions = {};
55
+ const missingPackages = requiredPackages.filter((p)=>{
56
+ const resolved = _resolvefrom().default.silent(projectRoot, p.file);
57
+ if (!resolved || !versionSatisfiesRequiredPackage(resolved, p)) {
58
+ return true;
59
+ }
60
+ resolutions[p.pkg] = resolved;
61
+ return false;
62
+ });
63
+ return {
64
+ missing: missingPackages,
65
+ resolutions
66
+ };
67
+ }
68
+ function versionSatisfiesRequiredPackage(packageJsonFilePath, resolvedPackage) {
69
+ // If the version is specified, check that it satisfies the installed version.
70
+ if (!resolvedPackage.version) {
71
+ debug(`Required package "${resolvedPackage.pkg}" found (no version constraint specified).`);
72
+ return true;
73
+ }
74
+ const pkgJson = _jsonfile().default.read(packageJsonFilePath);
75
+ if (// package.json has version.
76
+ typeof pkgJson.version === 'string' && // semver satisfaction.
77
+ _semver().default.satisfies(pkgJson.version, resolvedPackage.version)) {
78
+ return true;
79
+ }
80
+ debug(`Installed package "${resolvedPackage.pkg}" does not satisfy version constraint "${resolvedPackage.version}" (version: "${pkgJson.version}")`);
81
+ return false;
82
+ }
83
+ async function getMissingPackagesAsync(projectRoot, { sdkVersion, requiredPackages }) {
84
+ const results = collectMissingPackages(projectRoot, requiredPackages);
85
+ if (!results.missing.length) {
86
+ return results;
87
+ }
88
+ // Ensure the versions are right for the SDK that the project is currently using.
89
+ await mutatePackagesWithKnownVersionsAsync(projectRoot, sdkVersion, results.missing);
90
+ return results;
91
+ }
92
+ async function mutatePackagesWithKnownVersionsAsync(projectRoot, sdkVersion, packages) {
93
+ // Ensure the versions are right for the SDK that the project is currently using.
94
+ const relatedPackages = await (0, _getVersionedPackages.getCombinedKnownVersionsAsync)({
95
+ projectRoot,
96
+ sdkVersion
97
+ });
98
+ for (const pkg of packages){
99
+ if (// Only use the SDK versions if the package does not already have a hardcoded version.
100
+ // We do this because some packages have API coded into the CLI which expects an exact version.
101
+ !pkg.version && pkg.pkg in relatedPackages) {
102
+ pkg.version = relatedPackages[pkg.pkg];
103
+ }
104
+ }
105
+ return packages;
106
+ }
107
+
108
+ //# sourceMappingURL=getMissingPackages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/doctor/dependencies/getMissingPackages.ts"],"sourcesContent":["import JsonFile from '@expo/json-file';\nimport resolveFrom from 'resolve-from';\nimport semver from 'semver';\n\nimport { getCombinedKnownVersionsAsync } from './getVersionedPackages';\n\nconst debug = require('debug')('expo:doctor:dependencies:getMissingPackages') as typeof console.log;\n\nexport type ResolvedPackage = {\n /** Module ID pointing to the library `package.json`. */\n file: string;\n /** NPM package name. */\n pkg: string;\n /** Required version range. */\n version?: string;\n /** If the dependency should be installed as a `devDependency` */\n dev?: boolean;\n};\n\n/** Given a set of required packages, this method returns a list of missing packages. */\nexport function collectMissingPackages(\n projectRoot: string,\n requiredPackages: ResolvedPackage[]\n): {\n missing: ResolvedPackage[];\n resolutions: Record<string, string>;\n} {\n const resolutions: Record<string, string> = {};\n\n const missingPackages = requiredPackages.filter((p) => {\n const resolved = resolveFrom.silent(projectRoot, p.file);\n if (!resolved || !versionSatisfiesRequiredPackage(resolved, p)) {\n return true;\n }\n resolutions[p.pkg] = resolved;\n return false;\n });\n\n return { missing: missingPackages, resolutions };\n}\n\nexport function versionSatisfiesRequiredPackage(\n packageJsonFilePath: string,\n resolvedPackage: Pick<ResolvedPackage, 'version' | 'pkg'>\n): boolean {\n // If the version is specified, check that it satisfies the installed version.\n if (!resolvedPackage.version) {\n debug(`Required package \"${resolvedPackage.pkg}\" found (no version constraint specified).`);\n return true;\n }\n\n const pkgJson = JsonFile.read(packageJsonFilePath);\n if (\n // package.json has version.\n typeof pkgJson.version === 'string' &&\n // semver satisfaction.\n semver.satisfies(pkgJson.version, resolvedPackage.version)\n ) {\n return true;\n }\n debug(\n `Installed package \"${resolvedPackage.pkg}\" does not satisfy version constraint \"${resolvedPackage.version}\" (version: \"${pkgJson.version}\")`\n );\n return false;\n}\n\n/**\n * Collect missing packages given a list of required packages.\n * Any missing packages will be versioned to the known versions for the current SDK.\n *\n * @param projectRoot\n * @param props.requiredPackages list of required packages to check for\n * @returns list of missing packages and resolutions to existing packages.\n */\nexport async function getMissingPackagesAsync(\n projectRoot: string,\n {\n sdkVersion,\n requiredPackages,\n }: {\n sdkVersion?: string;\n requiredPackages: ResolvedPackage[];\n }\n): Promise<{\n missing: ResolvedPackage[];\n resolutions: Record<string, string>;\n}> {\n const results = collectMissingPackages(projectRoot, requiredPackages);\n if (!results.missing.length) {\n return results;\n }\n\n // Ensure the versions are right for the SDK that the project is currently using.\n await mutatePackagesWithKnownVersionsAsync(projectRoot, sdkVersion, results.missing);\n\n return results;\n}\n\nexport async function mutatePackagesWithKnownVersionsAsync(\n projectRoot: string,\n sdkVersion: string | undefined,\n packages: ResolvedPackage[]\n) {\n // Ensure the versions are right for the SDK that the project is currently using.\n const relatedPackages = await getCombinedKnownVersionsAsync({ projectRoot, sdkVersion });\n for (const pkg of packages) {\n if (\n // Only use the SDK versions if the package does not already have a hardcoded version.\n // We do this because some packages have API coded into the CLI which expects an exact version.\n !pkg.version &&\n pkg.pkg in relatedPackages\n ) {\n pkg.version = relatedPackages[pkg.pkg];\n }\n }\n return packages;\n}\n"],"names":["collectMissingPackages","getMissingPackagesAsync","mutatePackagesWithKnownVersionsAsync","versionSatisfiesRequiredPackage","debug","require","projectRoot","requiredPackages","resolutions","missingPackages","filter","p","resolved","resolveFrom","silent","file","pkg","missing","packageJsonFilePath","resolvedPackage","version","pkgJson","JsonFile","read","semver","satisfies","sdkVersion","results","length","packages","relatedPackages","getCombinedKnownVersionsAsync"],"mappings":";;;;;;;;;;;IAoBgBA,sBAAsB;eAAtBA;;IAsDMC,uBAAuB;eAAvBA;;IAwBAC,oCAAoC;eAApCA;;IAzDNC,+BAA+B;eAA/BA;;;;gEAzCK;;;;;;;gEACG;;;;;;;gEACL;;;;;;sCAE2B;;;;;;AAE9C,MAAMC,QAAQC,QAAQ,SAAS;AAcxB,SAASL,uBACdM,WAAmB,EACnBC,gBAAmC;IAKnC,MAAMC,cAAsC,CAAC;IAE7C,MAAMC,kBAAkBF,iBAAiBG,MAAM,CAAC,CAACC;QAC/C,MAAMC,WAAWC,sBAAW,CAACC,MAAM,CAACR,aAAaK,EAAEI,IAAI;QACvD,IAAI,CAACH,YAAY,CAACT,gCAAgCS,UAAUD,IAAI;YAC9D,OAAO;QACT;QACAH,WAAW,CAACG,EAAEK,GAAG,CAAC,GAAGJ;QACrB,OAAO;IACT;IAEA,OAAO;QAAEK,SAASR;QAAiBD;IAAY;AACjD;AAEO,SAASL,gCACde,mBAA2B,EAC3BC,eAAyD;IAEzD,8EAA8E;IAC9E,IAAI,CAACA,gBAAgBC,OAAO,EAAE;QAC5BhB,MAAM,CAAC,kBAAkB,EAAEe,gBAAgBH,GAAG,CAAC,0CAA0C,CAAC;QAC1F,OAAO;IACT;IAEA,MAAMK,UAAUC,mBAAQ,CAACC,IAAI,CAACL;IAC9B,IACE,4BAA4B;IAC5B,OAAOG,QAAQD,OAAO,KAAK,YAC3B,uBAAuB;IACvBI,iBAAM,CAACC,SAAS,CAACJ,QAAQD,OAAO,EAAED,gBAAgBC,OAAO,GACzD;QACA,OAAO;IACT;IACAhB,MACE,CAAC,mBAAmB,EAAEe,gBAAgBH,GAAG,CAAC,uCAAuC,EAAEG,gBAAgBC,OAAO,CAAC,aAAa,EAAEC,QAAQD,OAAO,CAAC,EAAE,CAAC;IAE/I,OAAO;AACT;AAUO,eAAenB,wBACpBK,WAAmB,EACnB,EACEoB,UAAU,EACVnB,gBAAgB,EAIjB;IAKD,MAAMoB,UAAU3B,uBAAuBM,aAAaC;IACpD,IAAI,CAACoB,QAAQV,OAAO,CAACW,MAAM,EAAE;QAC3B,OAAOD;IACT;IAEA,iFAAiF;IACjF,MAAMzB,qCAAqCI,aAAaoB,YAAYC,QAAQV,OAAO;IAEnF,OAAOU;AACT;AAEO,eAAezB,qCACpBI,WAAmB,EACnBoB,UAA8B,EAC9BG,QAA2B;IAE3B,iFAAiF;IACjF,MAAMC,kBAAkB,MAAMC,IAAAA,mDAA6B,EAAC;QAAEzB;QAAaoB;IAAW;IACtF,KAAK,MAAMV,OAAOa,SAAU;QAC1B,IACE,sFAAsF;QACtF,+FAA+F;QAC/F,CAACb,IAAII,OAAO,IACZJ,IAAIA,GAAG,IAAIc,iBACX;YACAd,IAAII,OAAO,GAAGU,eAAe,CAACd,IAAIA,GAAG,CAAC;QACxC;IACF;IACA,OAAOa;AACT"}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
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
+ getCombinedKnownVersionsAsync: function() {
13
+ return getCombinedKnownVersionsAsync;
14
+ },
15
+ getOperationLog: function() {
16
+ return getOperationLog;
17
+ },
18
+ getRemoteVersionsForSdkAsync: function() {
19
+ return getRemoteVersionsForSdkAsync;
20
+ },
21
+ getVersionedPackagesAsync: function() {
22
+ return getVersionedPackagesAsync;
23
+ }
24
+ });
25
+ function _npmpackagearg() {
26
+ const data = /*#__PURE__*/ _interop_require_default(require("npm-package-arg"));
27
+ _npmpackagearg = function() {
28
+ return data;
29
+ };
30
+ return data;
31
+ }
32
+ const _bundledNativeModules = require("./bundledNativeModules");
33
+ const _resolvePackages = require("./resolvePackages");
34
+ const _getVersions = require("../../../api/getVersions");
35
+ const _log = require("../../../log");
36
+ const _env = require("../../../utils/env");
37
+ const _errors = require("../../../utils/errors");
38
+ function _interop_require_default(obj) {
39
+ return obj && obj.__esModule ? obj : {
40
+ default: obj
41
+ };
42
+ }
43
+ const debug = require('debug')('expo:doctor:dependencies:getVersionedPackages');
44
+ /** Adds `react-dom`, `react`, and `react-native` to the list of known package versions (`relatedPackages`) */ function normalizeSdkVersionObject(version) {
45
+ if (!version) {
46
+ return {};
47
+ }
48
+ const { relatedPackages, facebookReactVersion, facebookReactNativeVersion, expoVersion } = version;
49
+ const reactVersion = facebookReactVersion ? {
50
+ react: facebookReactVersion,
51
+ 'react-dom': facebookReactVersion
52
+ } : undefined;
53
+ const expoVersionIfAvailable = expoVersion ? {
54
+ expo: expoVersion
55
+ } : undefined;
56
+ return {
57
+ ...relatedPackages,
58
+ ...reactVersion,
59
+ ...expoVersionIfAvailable,
60
+ 'react-native': facebookReactNativeVersion
61
+ };
62
+ }
63
+ async function getCombinedKnownVersionsAsync({ projectRoot, sdkVersion, skipCache }) {
64
+ const skipRemoteVersions = await (0, _resolvePackages.hasExpoCanaryAsync)(projectRoot);
65
+ if (skipRemoteVersions) {
66
+ _log.Log.warn('Dependency validation might be unreliable when using canary SDK versions');
67
+ }
68
+ const bundledNativeModules = sdkVersion ? await (0, _bundledNativeModules.getVersionedNativeModulesAsync)(projectRoot, sdkVersion, {
69
+ skipRemoteVersions
70
+ }) : {};
71
+ const versionsForSdk = !skipRemoteVersions ? await getRemoteVersionsForSdkAsync({
72
+ sdkVersion,
73
+ skipCache
74
+ }) : {};
75
+ return {
76
+ ...bundledNativeModules,
77
+ // Prefer the remote versions over the bundled versions, this enables us to push
78
+ // emergency fixes that users can access without having to update the `expo` package.
79
+ ...versionsForSdk
80
+ };
81
+ }
82
+ async function getRemoteVersionsForSdkAsync({ sdkVersion, skipCache } = {}) {
83
+ if (_env.env.EXPO_OFFLINE) {
84
+ _log.Log.warn('Dependency validation is unreliable in offline-mode');
85
+ return {};
86
+ }
87
+ try {
88
+ const { sdkVersions } = await (0, _getVersions.getVersionsAsync)({
89
+ skipCache
90
+ });
91
+ // We only want versioned dependencies so skip if they cannot be found.
92
+ if (!sdkVersion || !(sdkVersion in sdkVersions)) {
93
+ debug(`Skipping versioned dependencies because the SDK version is not found. (sdkVersion: ${sdkVersion}, available: ${Object.keys(sdkVersions).join(', ')})`);
94
+ return {};
95
+ }
96
+ const version = sdkVersions[sdkVersion];
97
+ return normalizeSdkVersionObject(version);
98
+ } catch (error) {
99
+ if (error instanceof _errors.CommandError && error.code === 'OFFLINE') {
100
+ return getRemoteVersionsForSdkAsync({
101
+ sdkVersion,
102
+ skipCache
103
+ });
104
+ }
105
+ throw error;
106
+ }
107
+ }
108
+ async function getVersionedPackagesAsync(projectRoot, { packages, sdkVersion, pkg }) {
109
+ const versionsForSdk = await getCombinedKnownVersionsAsync({
110
+ projectRoot,
111
+ sdkVersion,
112
+ skipCache: true
113
+ });
114
+ let nativeModulesCount = 0;
115
+ let othersCount = 0;
116
+ const excludedNativeModules = [];
117
+ const versionedPackages = packages.map((arg)=>{
118
+ const { name, type, raw, rawSpec } = (0, _npmpackagearg().default)(arg);
119
+ if ([
120
+ 'tag',
121
+ 'version',
122
+ 'range'
123
+ ].includes(type) && name && versionsForSdk[name]) {
124
+ var _pkg_expo_install_exclude, _pkg_expo_install, _pkg_expo;
125
+ // Unimodule packages from npm registry are modified to use the bundled version.
126
+ // Some packages have the recommended version listed in https://exp.host/--/api/v2/versions.
127
+ const isExcludedFromValidation = pkg == null ? void 0 : (_pkg_expo = pkg.expo) == null ? void 0 : (_pkg_expo_install = _pkg_expo.install) == null ? void 0 : (_pkg_expo_install_exclude = _pkg_expo_install.exclude) == null ? void 0 : _pkg_expo_install_exclude.includes(name);
128
+ const hasSpecifiedExactVersion = rawSpec !== '' && rawSpec !== '*';
129
+ if (isExcludedFromValidation || hasSpecifiedExactVersion) {
130
+ othersCount++;
131
+ excludedNativeModules.push({
132
+ name,
133
+ bundledNativeVersion: versionsForSdk[name],
134
+ isExcludedFromValidation,
135
+ specifiedVersion: hasSpecifiedExactVersion ? rawSpec : ''
136
+ });
137
+ return raw;
138
+ }
139
+ nativeModulesCount++;
140
+ return `${name}@${versionsForSdk[name]}`;
141
+ } else {
142
+ // Other packages are passed through unmodified.
143
+ othersCount++;
144
+ return raw;
145
+ }
146
+ });
147
+ const messages = getOperationLog({
148
+ othersCount,
149
+ nativeModulesCount,
150
+ sdkVersion
151
+ });
152
+ return {
153
+ packages: versionedPackages,
154
+ messages,
155
+ excludedNativeModules
156
+ };
157
+ }
158
+ function getOperationLog({ nativeModulesCount, sdkVersion, othersCount }) {
159
+ return [
160
+ nativeModulesCount > 0 && `${nativeModulesCount} SDK ${sdkVersion} compatible native ${nativeModulesCount === 1 ? 'module' : 'modules'}`,
161
+ othersCount > 0 && `${othersCount} other ${othersCount === 1 ? 'package' : 'packages'}`
162
+ ].filter(Boolean);
163
+ }
164
+
165
+ //# sourceMappingURL=getVersionedPackages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/doctor/dependencies/getVersionedPackages.ts"],"sourcesContent":["import { PackageJSONConfig } from '@expo/config';\nimport npmPackageArg from 'npm-package-arg';\n\nimport { getVersionedNativeModulesAsync } from './bundledNativeModules';\nimport { hasExpoCanaryAsync } from './resolvePackages';\nimport { getVersionsAsync, SDKVersion } from '../../../api/getVersions';\nimport { Log } from '../../../log';\nimport { env } from '../../../utils/env';\nimport { CommandError } from '../../../utils/errors';\n\nconst debug = require('debug')(\n 'expo:doctor:dependencies:getVersionedPackages'\n) as typeof console.log;\n\nexport type DependencyList = Record<string, string>;\n\n/** Adds `react-dom`, `react`, and `react-native` to the list of known package versions (`relatedPackages`) */\nfunction normalizeSdkVersionObject(version?: SDKVersion): Record<string, string> {\n if (!version) {\n return {};\n }\n const { relatedPackages, facebookReactVersion, facebookReactNativeVersion, expoVersion } =\n version;\n\n const reactVersion = facebookReactVersion\n ? {\n react: facebookReactVersion,\n 'react-dom': facebookReactVersion,\n }\n : undefined;\n\n const expoVersionIfAvailable = expoVersion ? { expo: expoVersion } : undefined;\n\n return {\n ...relatedPackages,\n ...reactVersion,\n ...expoVersionIfAvailable,\n 'react-native': facebookReactNativeVersion,\n };\n}\n\n/** Get the known versions for a given SDK, combines all sources. */\nexport async function getCombinedKnownVersionsAsync({\n projectRoot,\n sdkVersion,\n skipCache,\n}: {\n projectRoot: string;\n sdkVersion?: string;\n skipCache?: boolean;\n}) {\n const skipRemoteVersions = await hasExpoCanaryAsync(projectRoot);\n if (skipRemoteVersions) {\n Log.warn('Dependency validation might be unreliable when using canary SDK versions');\n }\n\n const bundledNativeModules = sdkVersion\n ? await getVersionedNativeModulesAsync(projectRoot, sdkVersion, { skipRemoteVersions })\n : {};\n const versionsForSdk = !skipRemoteVersions\n ? await getRemoteVersionsForSdkAsync({ sdkVersion, skipCache })\n : {};\n return {\n ...bundledNativeModules,\n // Prefer the remote versions over the bundled versions, this enables us to push\n // emergency fixes that users can access without having to update the `expo` package.\n ...versionsForSdk,\n };\n}\n\n/** @returns a key/value list of known dependencies and their version (including range). */\nexport async function getRemoteVersionsForSdkAsync({\n sdkVersion,\n skipCache,\n}: { sdkVersion?: string; skipCache?: boolean } = {}): Promise<DependencyList> {\n if (env.EXPO_OFFLINE) {\n Log.warn('Dependency validation is unreliable in offline-mode');\n return {};\n }\n\n try {\n const { sdkVersions } = await getVersionsAsync({ skipCache });\n\n // We only want versioned dependencies so skip if they cannot be found.\n if (!sdkVersion || !(sdkVersion in sdkVersions)) {\n debug(\n `Skipping versioned dependencies because the SDK version is not found. (sdkVersion: ${sdkVersion}, available: ${Object.keys(\n sdkVersions\n ).join(', ')})`\n );\n return {};\n }\n\n const version = sdkVersions[sdkVersion as keyof typeof sdkVersions] as unknown as SDKVersion;\n\n return normalizeSdkVersionObject(version);\n } catch (error: any) {\n if (error instanceof CommandError && error.code === 'OFFLINE') {\n return getRemoteVersionsForSdkAsync({ sdkVersion, skipCache });\n }\n throw error;\n }\n}\n\ntype ExcludedNativeModules = {\n name: string;\n bundledNativeVersion: string;\n isExcludedFromValidation: boolean;\n specifiedVersion?: string; // e.g. 1.2.3, latest\n};\n\n/**\n * Versions a list of `packages` against a given `sdkVersion` based on local and remote versioning resources.\n *\n * @param projectRoot\n * @param param1\n * @returns\n */\nexport async function getVersionedPackagesAsync(\n projectRoot: string,\n {\n packages,\n sdkVersion,\n pkg,\n }: {\n /** List of npm packages to process. */\n packages: string[];\n /** Target SDK Version number to version the `packages` for. */\n sdkVersion: string;\n pkg: PackageJSONConfig;\n }\n): Promise<{\n packages: string[];\n messages: string[];\n excludedNativeModules: ExcludedNativeModules[];\n}> {\n const versionsForSdk = await getCombinedKnownVersionsAsync({\n projectRoot,\n sdkVersion,\n skipCache: true,\n });\n\n let nativeModulesCount = 0;\n let othersCount = 0;\n const excludedNativeModules: ExcludedNativeModules[] = [];\n\n const versionedPackages = packages.map((arg) => {\n const { name, type, raw, rawSpec } = npmPackageArg(arg);\n\n if (['tag', 'version', 'range'].includes(type) && name && versionsForSdk[name]) {\n // Unimodule packages from npm registry are modified to use the bundled version.\n // Some packages have the recommended version listed in https://exp.host/--/api/v2/versions.\n const isExcludedFromValidation = pkg?.expo?.install?.exclude?.includes(name);\n const hasSpecifiedExactVersion = rawSpec !== '' && rawSpec !== '*';\n if (isExcludedFromValidation || hasSpecifiedExactVersion) {\n othersCount++;\n excludedNativeModules.push({\n name,\n bundledNativeVersion: versionsForSdk[name],\n isExcludedFromValidation,\n specifiedVersion: hasSpecifiedExactVersion ? rawSpec : '',\n });\n return raw;\n }\n nativeModulesCount++;\n return `${name}@${versionsForSdk[name]}`;\n } else {\n // Other packages are passed through unmodified.\n othersCount++;\n return raw;\n }\n });\n\n const messages = getOperationLog({\n othersCount,\n nativeModulesCount,\n sdkVersion,\n });\n\n return {\n packages: versionedPackages,\n messages,\n excludedNativeModules,\n };\n}\n\n/** Craft a set of messages regarding the install operations. */\nexport function getOperationLog({\n nativeModulesCount,\n sdkVersion,\n othersCount,\n}: {\n nativeModulesCount: number;\n othersCount: number;\n sdkVersion: string;\n}): string[] {\n return [\n nativeModulesCount > 0 &&\n `${nativeModulesCount} SDK ${sdkVersion} compatible native ${\n nativeModulesCount === 1 ? 'module' : 'modules'\n }`,\n othersCount > 0 && `${othersCount} other ${othersCount === 1 ? 'package' : 'packages'}`,\n ].filter(Boolean) as string[];\n}\n"],"names":["getCombinedKnownVersionsAsync","getOperationLog","getRemoteVersionsForSdkAsync","getVersionedPackagesAsync","debug","require","normalizeSdkVersionObject","version","relatedPackages","facebookReactVersion","facebookReactNativeVersion","expoVersion","reactVersion","react","undefined","expoVersionIfAvailable","expo","projectRoot","sdkVersion","skipCache","skipRemoteVersions","hasExpoCanaryAsync","Log","warn","bundledNativeModules","getVersionedNativeModulesAsync","versionsForSdk","env","EXPO_OFFLINE","sdkVersions","getVersionsAsync","Object","keys","join","error","CommandError","code","packages","pkg","nativeModulesCount","othersCount","excludedNativeModules","versionedPackages","map","arg","name","type","raw","rawSpec","npmPackageArg","includes","isExcludedFromValidation","install","exclude","hasSpecifiedExactVersion","push","bundledNativeVersion","specifiedVersion","messages","filter","Boolean"],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
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
+ hasExpoCanaryAsync: function() {
13
+ return hasExpoCanaryAsync;
14
+ },
15
+ resolveAllPackageVersionsAsync: function() {
16
+ return resolveAllPackageVersionsAsync;
17
+ },
18
+ resolvePackageVersionAsync: function() {
19
+ return resolvePackageVersionAsync;
20
+ }
21
+ });
22
+ function _jsonfile() {
23
+ const data = /*#__PURE__*/ _interop_require_default(require("@expo/json-file"));
24
+ _jsonfile = function() {
25
+ return data;
26
+ };
27
+ return data;
28
+ }
29
+ function _resolvefrom() {
30
+ const data = /*#__PURE__*/ _interop_require_default(require("resolve-from"));
31
+ _resolvefrom = function() {
32
+ return data;
33
+ };
34
+ return data;
35
+ }
36
+ function _semver() {
37
+ const data = /*#__PURE__*/ _interop_require_default(require("semver"));
38
+ _semver = function() {
39
+ return data;
40
+ };
41
+ return data;
42
+ }
43
+ const _errors = require("../../../utils/errors");
44
+ function _interop_require_default(obj) {
45
+ return obj && obj.__esModule ? obj : {
46
+ default: obj
47
+ };
48
+ }
49
+ async function resolvePackageVersionAsync(projectRoot, packageName) {
50
+ let packageJsonPath;
51
+ try {
52
+ packageJsonPath = (0, _resolvefrom().default)(projectRoot, `${packageName}/package.json`);
53
+ } catch (error) {
54
+ // This is a workaround for packages using `exports`. If this doesn't
55
+ // include `package.json`, we have to use the error message to get the location.
56
+ if (error.code === 'ERR_PACKAGE_PATH_NOT_EXPORTED') {
57
+ var _error_message_match;
58
+ packageJsonPath = (_error_message_match = error.message.match(/("exports"|defined) in (.*)$/i)) == null ? void 0 : _error_message_match[2];
59
+ }
60
+ }
61
+ if (!packageJsonPath) {
62
+ throw new _errors.CommandError('PACKAGE_NOT_FOUND', `"${packageName}" is added as a dependency in your project's package.json but it doesn't seem to be installed. Run "npm install", or the equivalent for your package manager, and try again.`);
63
+ }
64
+ const packageJson = await _jsonfile().default.readAsync(packageJsonPath);
65
+ return packageJson.version;
66
+ }
67
+ async function resolveAllPackageVersionsAsync(projectRoot, packages) {
68
+ const resolvedPackages = await Promise.all(packages.map(async (packageName)=>[
69
+ packageName,
70
+ await resolvePackageVersionAsync(projectRoot, packageName)
71
+ ]));
72
+ return Object.fromEntries(resolvedPackages);
73
+ }
74
+ async function hasExpoCanaryAsync(projectRoot) {
75
+ let expoVersion = '';
76
+ try {
77
+ // Resolve installed `expo` version first
78
+ expoVersion = await resolvePackageVersionAsync(projectRoot, 'expo');
79
+ } catch (error) {
80
+ var _packageJson_dependencies;
81
+ if (error.code !== 'PACKAGE_NOT_FOUND') {
82
+ throw error;
83
+ }
84
+ // Resolve through project `package.json`
85
+ const packageJson = await _jsonfile().default.readAsync((0, _resolvefrom().default)(projectRoot, './package.json'));
86
+ expoVersion = ((_packageJson_dependencies = packageJson.dependencies) == null ? void 0 : _packageJson_dependencies.expo) ?? '';
87
+ }
88
+ if (expoVersion === 'canary') {
89
+ return true;
90
+ }
91
+ const prerelease = _semver().default.prerelease(expoVersion) || [];
92
+ return !!prerelease.some((segment)=>typeof segment === 'string' && segment.includes('canary'));
93
+ }
94
+
95
+ //# sourceMappingURL=resolvePackages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/doctor/dependencies/resolvePackages.ts"],"sourcesContent":["import JsonFile from '@expo/json-file';\nimport resolveFrom from 'resolve-from';\nimport semver from 'semver';\n\nimport { CommandError } from '../../../utils/errors';\n\nexport async function resolvePackageVersionAsync(\n projectRoot: string,\n packageName: string\n): Promise<string> {\n let packageJsonPath: string | undefined;\n try {\n packageJsonPath = resolveFrom(projectRoot, `${packageName}/package.json`);\n } catch (error: any) {\n // This is a workaround for packages using `exports`. If this doesn't\n // include `package.json`, we have to use the error message to get the location.\n if (error.code === 'ERR_PACKAGE_PATH_NOT_EXPORTED') {\n packageJsonPath = error.message.match(/(\"exports\"|defined) in (.*)$/i)?.[2];\n }\n }\n if (!packageJsonPath) {\n throw new CommandError(\n 'PACKAGE_NOT_FOUND',\n `\"${packageName}\" is added as a dependency in your project's package.json but it doesn't seem to be installed. Run \"npm install\", or the equivalent for your package manager, and try again.`\n );\n }\n const packageJson = await JsonFile.readAsync<{ version: string }>(packageJsonPath);\n return packageJson.version;\n}\n\nexport async function resolveAllPackageVersionsAsync(projectRoot: string, packages: string[]) {\n const resolvedPackages = await Promise.all(\n packages.map(async (packageName) => [\n packageName,\n await resolvePackageVersionAsync(projectRoot, packageName),\n ])\n );\n\n return Object.fromEntries(resolvedPackages);\n}\n\n/**\n * Determine if the project has a `expo@canary` version installed.\n * This means that an unsable version is used, without the API knowing the exact packages.\n * Since this may be called during, or before, packages are installed, we also need to test on `package.json`.\n * Note, this returns `false` for beta releases.\n */\nexport async function hasExpoCanaryAsync(projectRoot: string) {\n let expoVersion = '';\n\n try {\n // Resolve installed `expo` version first\n expoVersion = await resolvePackageVersionAsync(projectRoot, 'expo');\n } catch (error: any) {\n if (error.code !== 'PACKAGE_NOT_FOUND') {\n throw error;\n }\n\n // Resolve through project `package.json`\n const packageJson = await JsonFile.readAsync<{ dependencies?: Record<string, string> }>(\n resolveFrom(projectRoot, './package.json')\n );\n expoVersion = packageJson.dependencies?.expo ?? '';\n }\n\n if (expoVersion === 'canary') {\n return true;\n }\n\n const prerelease = semver.prerelease(expoVersion) || [];\n return !!prerelease.some((segment) => typeof segment === 'string' && segment.includes('canary'));\n}\n"],"names":["hasExpoCanaryAsync","resolveAllPackageVersionsAsync","resolvePackageVersionAsync","projectRoot","packageName","packageJsonPath","resolveFrom","error","code","message","match","CommandError","packageJson","JsonFile","readAsync","version","packages","resolvedPackages","Promise","all","map","Object","fromEntries","expoVersion","dependencies","expo","prerelease","semver","some","segment","includes"],"mappings":";;;;;;;;;;;IA+CsBA,kBAAkB;eAAlBA;;IAjBAC,8BAA8B;eAA9BA;;IAxBAC,0BAA0B;eAA1BA;;;;gEAND;;;;;;;gEACG;;;;;;;gEACL;;;;;;wBAEU;;;;;;AAEtB,eAAeA,2BACpBC,WAAmB,EACnBC,WAAmB;IAEnB,IAAIC;IACJ,IAAI;QACFA,kBAAkBC,IAAAA,sBAAW,EAACH,aAAa,GAAGC,YAAY,aAAa,CAAC;IAC1E,EAAE,OAAOG,OAAY;QACnB,qEAAqE;QACrE,gFAAgF;QAChF,IAAIA,MAAMC,IAAI,KAAK,iCAAiC;gBAChCD;YAAlBF,mBAAkBE,uBAAAA,MAAME,OAAO,CAACC,KAAK,CAAC,qDAApBH,oBAAsD,CAAC,EAAE;QAC7E;IACF;IACA,IAAI,CAACF,iBAAiB;QACpB,MAAM,IAAIM,oBAAY,CACpB,qBACA,CAAC,CAAC,EAAEP,YAAY,4KAA4K,CAAC;IAEjM;IACA,MAAMQ,cAAc,MAAMC,mBAAQ,CAACC,SAAS,CAAsBT;IAClE,OAAOO,YAAYG,OAAO;AAC5B;AAEO,eAAed,+BAA+BE,WAAmB,EAAEa,QAAkB;IAC1F,MAAMC,mBAAmB,MAAMC,QAAQC,GAAG,CACxCH,SAASI,GAAG,CAAC,OAAOhB,cAAgB;YAClCA;YACA,MAAMF,2BAA2BC,aAAaC;SAC/C;IAGH,OAAOiB,OAAOC,WAAW,CAACL;AAC5B;AAQO,eAAejB,mBAAmBG,WAAmB;IAC1D,IAAIoB,cAAc;IAElB,IAAI;QACF,yCAAyC;QACzCA,cAAc,MAAMrB,2BAA2BC,aAAa;IAC9D,EAAE,OAAOI,OAAY;YASLK;QARd,IAAIL,MAAMC,IAAI,KAAK,qBAAqB;YACtC,MAAMD;QACR;QAEA,yCAAyC;QACzC,MAAMK,cAAc,MAAMC,mBAAQ,CAACC,SAAS,CAC1CR,IAAAA,sBAAW,EAACH,aAAa;QAE3BoB,cAAcX,EAAAA,4BAAAA,YAAYY,YAAY,qBAAxBZ,0BAA0Ba,IAAI,KAAI;IAClD;IAEA,IAAIF,gBAAgB,UAAU;QAC5B,OAAO;IACT;IAEA,MAAMG,aAAaC,iBAAM,CAACD,UAAU,CAACH,gBAAgB,EAAE;IACvD,OAAO,CAAC,CAACG,WAAWE,IAAI,CAAC,CAACC,UAAY,OAAOA,YAAY,YAAYA,QAAQC,QAAQ,CAAC;AACxF"}