@expo/cli 0.0.0-canary-20231122-1af9191

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 (661) hide show
  1. package/README.md +144 -0
  2. package/build/bin/cli +272 -0
  3. package/build/bin/cli.map +1 -0
  4. package/build/src/api/endpoint.js +27 -0
  5. package/build/src/api/endpoint.js.map +1 -0
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +19 -0
  7. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -0
  8. package/build/src/api/getExpoSchema.js +69 -0
  9. package/build/src/api/getExpoSchema.js.map +1 -0
  10. package/build/src/api/getNativeModuleVersions.js +31 -0
  11. package/build/src/api/getNativeModuleVersions.js.map +1 -0
  12. package/build/src/api/getProjectDevelopmentCertificate.js +22 -0
  13. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
  14. package/build/src/api/getVersions.js +24 -0
  15. package/build/src/api/getVersions.js.map +1 -0
  16. package/build/src/api/graphql/client.js +106 -0
  17. package/build/src/api/graphql/client.js.map +1 -0
  18. package/build/src/api/graphql/queries/AppQuery.js +39 -0
  19. package/build/src/api/graphql/queries/AppQuery.js.map +1 -0
  20. package/build/src/api/graphql/queries/UserQuery.js +51 -0
  21. package/build/src/api/graphql/queries/UserQuery.js.map +1 -0
  22. package/build/src/api/graphql/types/App.js +23 -0
  23. package/build/src/api/graphql/types/App.js.map +1 -0
  24. package/build/src/api/rest/cache/FileSystemCache.js +79 -0
  25. package/build/src/api/rest/cache/FileSystemCache.js.map +1 -0
  26. package/build/src/api/rest/cache/response.js +31 -0
  27. package/build/src/api/rest/cache/response.js.map +1 -0
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +156 -0
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -0
  30. package/build/src/api/rest/client.js +109 -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 +23 -0
  35. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
  36. package/build/src/api/rest/wrapFetchWithOffline.js +19 -0
  37. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
  38. package/build/src/api/rest/wrapFetchWithProgress.js +64 -0
  39. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
  40. package/build/src/api/rest/wrapFetchWithProxy.js +26 -0
  41. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -0
  42. package/build/src/api/settings.js +20 -0
  43. package/build/src/api/settings.js.map +1 -0
  44. package/build/src/api/updateDevelopmentSession.js +74 -0
  45. package/build/src/api/updateDevelopmentSession.js.map +1 -0
  46. package/build/src/api/user/UserSettings.js +71 -0
  47. package/build/src/api/user/UserSettings.js.map +1 -0
  48. package/build/src/api/user/actions.js +107 -0
  49. package/build/src/api/user/actions.js.map +1 -0
  50. package/build/src/api/user/expoSsoLauncher.js +127 -0
  51. package/build/src/api/user/expoSsoLauncher.js.map +1 -0
  52. package/build/src/api/user/otp.js +139 -0
  53. package/build/src/api/user/otp.js.map +1 -0
  54. package/build/src/api/user/user.js +144 -0
  55. package/build/src/api/user/user.js.map +1 -0
  56. package/build/src/config/configAsync.js +137 -0
  57. package/build/src/config/configAsync.js.map +1 -0
  58. package/build/src/config/index.js +75 -0
  59. package/build/src/config/index.js.map +1 -0
  60. package/build/src/customize/customizeAsync.js +43 -0
  61. package/build/src/customize/customizeAsync.js.map +1 -0
  62. package/build/src/customize/generate.js +104 -0
  63. package/build/src/customize/generate.js.map +1 -0
  64. package/build/src/customize/index.js +41 -0
  65. package/build/src/customize/index.js.map +1 -0
  66. package/build/src/customize/resolveOptions.js +18 -0
  67. package/build/src/customize/resolveOptions.js.map +1 -0
  68. package/build/src/customize/templates.js +126 -0
  69. package/build/src/customize/templates.js.map +1 -0
  70. package/build/src/customize/typescript.js +56 -0
  71. package/build/src/customize/typescript.js.map +1 -0
  72. package/build/src/export/createMetadataJson.js +42 -0
  73. package/build/src/export/createMetadataJson.js.map +1 -0
  74. package/build/src/export/embed/exportEmbedAsync.js +146 -0
  75. package/build/src/export/embed/exportEmbedAsync.js.map +1 -0
  76. package/build/src/export/embed/index.js +115 -0
  77. package/build/src/export/embed/index.js.map +1 -0
  78. package/build/src/export/embed/resolveOptions.js +59 -0
  79. package/build/src/export/embed/resolveOptions.js.map +1 -0
  80. package/build/src/export/embed/xcodeCompilerLogger.js +97 -0
  81. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -0
  82. package/build/src/export/exportApp.js +192 -0
  83. package/build/src/export/exportApp.js.map +1 -0
  84. package/build/src/export/exportAssets.js +176 -0
  85. package/build/src/export/exportAssets.js.map +1 -0
  86. package/build/src/export/exportAsync.js +52 -0
  87. package/build/src/export/exportAsync.js.map +1 -0
  88. package/build/src/export/exportHermes.js +124 -0
  89. package/build/src/export/exportHermes.js.map +1 -0
  90. package/build/src/export/exportStaticAsync.js +278 -0
  91. package/build/src/export/exportStaticAsync.js.map +1 -0
  92. package/build/src/export/favicon.js +89 -0
  93. package/build/src/export/favicon.js.map +1 -0
  94. package/build/src/export/fork-bundleAsync.js +215 -0
  95. package/build/src/export/fork-bundleAsync.js.map +1 -0
  96. package/build/src/export/getPublicExpoManifest.js +28 -0
  97. package/build/src/export/getPublicExpoManifest.js.map +1 -0
  98. package/build/src/export/getResolvedLocales.js +35 -0
  99. package/build/src/export/getResolvedLocales.js.map +1 -0
  100. package/build/src/export/html.js +21 -0
  101. package/build/src/export/html.js.map +1 -0
  102. package/build/src/export/index.js +91 -0
  103. package/build/src/export/index.js.map +1 -0
  104. package/build/src/export/metroAssetLocalPath.js +101 -0
  105. package/build/src/export/metroAssetLocalPath.js.map +1 -0
  106. package/build/src/export/persistMetroAssets.js +190 -0
  107. package/build/src/export/persistMetroAssets.js.map +1 -0
  108. package/build/src/export/publicFolder.js +34 -0
  109. package/build/src/export/publicFolder.js.map +1 -0
  110. package/build/src/export/resolveOptions.js +63 -0
  111. package/build/src/export/resolveOptions.js.map +1 -0
  112. package/build/src/export/saveAssets.js +189 -0
  113. package/build/src/export/saveAssets.js.map +1 -0
  114. package/build/src/export/web/exportWebAsync.js +40 -0
  115. package/build/src/export/web/exportWebAsync.js.map +1 -0
  116. package/build/src/export/web/index.js +66 -0
  117. package/build/src/export/web/index.js.map +1 -0
  118. package/build/src/export/web/resolveOptions.js +13 -0
  119. package/build/src/export/web/resolveOptions.js.map +1 -0
  120. package/build/src/export/writeContents.js +26 -0
  121. package/build/src/export/writeContents.js.map +1 -0
  122. package/build/src/graphql/generated.js +486 -0
  123. package/build/src/graphql/generated.js.map +1 -0
  124. package/build/src/install/applyPlugins.js +52 -0
  125. package/build/src/install/applyPlugins.js.map +1 -0
  126. package/build/src/install/checkPackages.js +78 -0
  127. package/build/src/install/checkPackages.js.map +1 -0
  128. package/build/src/install/fixPackages.js +84 -0
  129. package/build/src/install/fixPackages.js.map +1 -0
  130. package/build/src/install/index.js +51 -0
  131. package/build/src/install/index.js.map +1 -0
  132. package/build/src/install/installAsync.js +134 -0
  133. package/build/src/install/installAsync.js.map +1 -0
  134. package/build/src/install/installExpoPackage.js +79 -0
  135. package/build/src/install/installExpoPackage.js.map +1 -0
  136. package/build/src/install/resolveOptions.js +53 -0
  137. package/build/src/install/resolveOptions.js.map +1 -0
  138. package/build/src/install/utils/autoAddConfigPlugins.js +66 -0
  139. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -0
  140. package/build/src/log.js +74 -0
  141. package/build/src/log.js.map +1 -0
  142. package/build/src/login/index.js +67 -0
  143. package/build/src/login/index.js.map +1 -0
  144. package/build/src/logout/index.js +48 -0
  145. package/build/src/logout/index.js.map +1 -0
  146. package/build/src/prebuild/clearNativeFolder.js +143 -0
  147. package/build/src/prebuild/clearNativeFolder.js.map +1 -0
  148. package/build/src/prebuild/configureProjectAsync.js +64 -0
  149. package/build/src/prebuild/configureProjectAsync.js.map +1 -0
  150. package/build/src/prebuild/copyTemplateFiles.js +67 -0
  151. package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
  152. package/build/src/prebuild/ensureConfigAsync.js +75 -0
  153. package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
  154. package/build/src/prebuild/index.js +98 -0
  155. package/build/src/prebuild/index.js.map +1 -0
  156. package/build/src/prebuild/prebuildAsync.js +146 -0
  157. package/build/src/prebuild/prebuildAsync.js.map +1 -0
  158. package/build/src/prebuild/resolveOptions.js +115 -0
  159. package/build/src/prebuild/resolveOptions.js.map +1 -0
  160. package/build/src/prebuild/resolveTemplate.js +163 -0
  161. package/build/src/prebuild/resolveTemplate.js.map +1 -0
  162. package/build/src/prebuild/updateFromTemplate.js +103 -0
  163. package/build/src/prebuild/updateFromTemplate.js.map +1 -0
  164. package/build/src/prebuild/updatePackageJson.js +227 -0
  165. package/build/src/prebuild/updatePackageJson.js.map +1 -0
  166. package/build/src/prebuild/validateTemplatePlatforms.js +48 -0
  167. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -0
  168. package/build/src/register/index.js +48 -0
  169. package/build/src/register/index.js.map +1 -0
  170. package/build/src/register/registerAsync.js +34 -0
  171. package/build/src/register/registerAsync.js.map +1 -0
  172. package/build/src/run/android/index.js +97 -0
  173. package/build/src/run/android/index.js.map +1 -0
  174. package/build/src/run/android/resolveDevice.js +23 -0
  175. package/build/src/run/android/resolveDevice.js.map +1 -0
  176. package/build/src/run/android/resolveGradleProps.js +37 -0
  177. package/build/src/run/android/resolveGradleProps.js.map +1 -0
  178. package/build/src/run/android/resolveInstallApkName.js +51 -0
  179. package/build/src/run/android/resolveInstallApkName.js.map +1 -0
  180. package/build/src/run/android/resolveLaunchProps.js +32 -0
  181. package/build/src/run/android/resolveLaunchProps.js.map +1 -0
  182. package/build/src/run/android/resolveOptions.js +25 -0
  183. package/build/src/run/android/resolveOptions.js.map +1 -0
  184. package/build/src/run/android/runAndroidAsync.js +83 -0
  185. package/build/src/run/android/runAndroidAsync.js.map +1 -0
  186. package/build/src/run/ensureNativeProject.js +36 -0
  187. package/build/src/run/ensureNativeProject.js.map +1 -0
  188. package/build/src/run/hints.js +22 -0
  189. package/build/src/run/hints.js.map +1 -0
  190. package/build/src/run/ios/XcodeBuild.js +276 -0
  191. package/build/src/run/ios/XcodeBuild.js.map +1 -0
  192. package/build/src/run/ios/XcodeBuild.types.js +6 -0
  193. package/build/src/run/ios/XcodeBuild.types.js.map +1 -0
  194. package/build/src/run/ios/appleDevice/AppleDevice.js +195 -0
  195. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -0
  196. package/build/src/run/ios/appleDevice/ClientManager.js +165 -0
  197. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -0
  198. package/build/src/run/ios/appleDevice/client/AFCClient.js +195 -0
  199. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -0
  200. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +107 -0
  201. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -0
  202. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +97 -0
  203. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -0
  204. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +144 -0
  205. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -0
  206. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +91 -0
  207. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -0
  208. package/build/src/run/ios/appleDevice/client/ServiceClient.js +21 -0
  209. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -0
  210. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +117 -0
  211. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -0
  212. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +90 -0
  213. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -0
  214. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +332 -0
  215. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -0
  216. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +133 -0
  217. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -0
  218. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +126 -0
  219. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -0
  220. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +74 -0
  221. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -0
  222. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +65 -0
  223. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -0
  224. package/build/src/run/ios/codeSigning/Security.js +85 -0
  225. package/build/src/run/ios/codeSigning/Security.js.map +1 -0
  226. package/build/src/run/ios/codeSigning/configureCodeSigning.js +77 -0
  227. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -0
  228. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +102 -0
  229. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -0
  230. package/build/src/run/ios/codeSigning/settings.js +21 -0
  231. package/build/src/run/ios/codeSigning/settings.js.map +1 -0
  232. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +45 -0
  233. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -0
  234. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +79 -0
  235. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -0
  236. package/build/src/run/ios/index.js +98 -0
  237. package/build/src/run/ios/index.js.map +1 -0
  238. package/build/src/run/ios/launchApp.js +75 -0
  239. package/build/src/run/ios/launchApp.js.map +1 -0
  240. package/build/src/run/ios/options/promptDevice.js +50 -0
  241. package/build/src/run/ios/options/promptDevice.js.map +1 -0
  242. package/build/src/run/ios/options/resolveDevice.js +92 -0
  243. package/build/src/run/ios/options/resolveDevice.js.map +1 -0
  244. package/build/src/run/ios/options/resolveNativeScheme.js +101 -0
  245. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -0
  246. package/build/src/run/ios/options/resolveOptions.js +44 -0
  247. package/build/src/run/ios/options/resolveOptions.js.map +1 -0
  248. package/build/src/run/ios/options/resolveXcodeProject.js +39 -0
  249. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -0
  250. package/build/src/run/ios/runIosAsync.js +93 -0
  251. package/build/src/run/ios/runIosAsync.js.map +1 -0
  252. package/build/src/run/resolveBundlerProps.js +34 -0
  253. package/build/src/run/resolveBundlerProps.js.map +1 -0
  254. package/build/src/run/startBundler.js +82 -0
  255. package/build/src/run/startBundler.js.map +1 -0
  256. package/build/src/start/doctor/Prerequisite.js +47 -0
  257. package/build/src/start/doctor/Prerequisite.js.map +1 -0
  258. package/build/src/start/doctor/SecurityBinPrerequisite.js +27 -0
  259. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -0
  260. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +70 -0
  261. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
  262. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +69 -0
  263. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -0
  264. package/build/src/start/doctor/apple/XcodePrerequisite.js +158 -0
  265. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -0
  266. package/build/src/start/doctor/apple/XcrunPrerequisite.js +65 -0
  267. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -0
  268. package/build/src/start/doctor/dependencies/bundledNativeModules.js +69 -0
  269. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -0
  270. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +131 -0
  271. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -0
  272. package/build/src/start/doctor/dependencies/getMissingPackages.js +74 -0
  273. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
  274. package/build/src/start/doctor/dependencies/getVersionedPackages.js +136 -0
  275. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
  276. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +195 -0
  277. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
  278. package/build/src/start/doctor/ngrok/ExternalModule.js +169 -0
  279. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
  280. package/build/src/start/doctor/ngrok/NgrokResolver.js +22 -0
  281. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
  282. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +165 -0
  283. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
  284. package/build/src/start/doctor/typescript/updateTSConfig.js +99 -0
  285. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
  286. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +111 -0
  287. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
  288. package/build/src/start/index.js +123 -0
  289. package/build/src/start/index.js.map +1 -0
  290. package/build/src/start/interface/KeyPressHandler.js +101 -0
  291. package/build/src/start/interface/KeyPressHandler.js.map +1 -0
  292. package/build/src/start/interface/commandsTable.js +195 -0
  293. package/build/src/start/interface/commandsTable.js.map +1 -0
  294. package/build/src/start/interface/interactiveActions.js +194 -0
  295. package/build/src/start/interface/interactiveActions.js.map +1 -0
  296. package/build/src/start/interface/startInterface.js +227 -0
  297. package/build/src/start/interface/startInterface.js.map +1 -0
  298. package/build/src/start/platforms/AppIdResolver.js +44 -0
  299. package/build/src/start/platforms/AppIdResolver.js.map +1 -0
  300. package/build/src/start/platforms/DeviceManager.js +43 -0
  301. package/build/src/start/platforms/DeviceManager.js.map +1 -0
  302. package/build/src/start/platforms/ExpoGoInstaller.js +127 -0
  303. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
  304. package/build/src/start/platforms/PlatformManager.js +131 -0
  305. package/build/src/start/platforms/PlatformManager.js.map +1 -0
  306. package/build/src/start/platforms/android/ADBServer.js +114 -0
  307. package/build/src/start/platforms/android/ADBServer.js.map +1 -0
  308. package/build/src/start/platforms/android/AndroidAppIdResolver.js +44 -0
  309. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -0
  310. package/build/src/start/platforms/android/AndroidDeviceManager.js +183 -0
  311. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -0
  312. package/build/src/start/platforms/android/AndroidPlatformManager.js +35 -0
  313. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -0
  314. package/build/src/start/platforms/android/AndroidSdk.js +41 -0
  315. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -0
  316. package/build/src/start/platforms/android/activateWindow.js +80 -0
  317. package/build/src/start/platforms/android/activateWindow.js.map +1 -0
  318. package/build/src/start/platforms/android/adb.js +269 -0
  319. package/build/src/start/platforms/android/adb.js.map +1 -0
  320. package/build/src/start/platforms/android/adbReverse.js +95 -0
  321. package/build/src/start/platforms/android/adbReverse.js.map +1 -0
  322. package/build/src/start/platforms/android/emulator.js +126 -0
  323. package/build/src/start/platforms/android/emulator.js.map +1 -0
  324. package/build/src/start/platforms/android/getDevices.js +36 -0
  325. package/build/src/start/platforms/android/getDevices.js.map +1 -0
  326. package/build/src/start/platforms/android/gradle.js +86 -0
  327. package/build/src/start/platforms/android/gradle.js.map +1 -0
  328. package/build/src/start/platforms/android/promptAndroidDevice.js +56 -0
  329. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
  330. package/build/src/start/platforms/ios/AppleAppIdResolver.js +53 -0
  331. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
  332. package/build/src/start/platforms/ios/AppleDeviceManager.js +216 -0
  333. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -0
  334. package/build/src/start/platforms/ios/ApplePlatformManager.js +31 -0
  335. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -0
  336. package/build/src/start/platforms/ios/assertSystemRequirements.js +16 -0
  337. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -0
  338. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +85 -0
  339. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -0
  340. package/build/src/start/platforms/ios/getBestSimulator.js +101 -0
  341. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -0
  342. package/build/src/start/platforms/ios/promptAppleDevice.js +56 -0
  343. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
  344. package/build/src/start/platforms/ios/simctl.js +243 -0
  345. package/build/src/start/platforms/ios/simctl.js.map +1 -0
  346. package/build/src/start/platforms/ios/simctlLogging.js +220 -0
  347. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -0
  348. package/build/src/start/platforms/ios/xcrun.js +46 -0
  349. package/build/src/start/platforms/ios/xcrun.js.map +1 -0
  350. package/build/src/start/project/devices.js +79 -0
  351. package/build/src/start/project/devices.js.map +1 -0
  352. package/build/src/start/project/dotExpo.js +74 -0
  353. package/build/src/start/project/dotExpo.js.map +1 -0
  354. package/build/src/start/project/settings.js +13 -0
  355. package/build/src/start/project/settings.js.map +1 -0
  356. package/build/src/start/resolveOptions.js +135 -0
  357. package/build/src/start/resolveOptions.js.map +1 -0
  358. package/build/src/start/server/AsyncNgrok.js +220 -0
  359. package/build/src/start/server/AsyncNgrok.js.map +1 -0
  360. package/build/src/start/server/BundlerDevServer.js +356 -0
  361. package/build/src/start/server/BundlerDevServer.js.map +1 -0
  362. package/build/src/start/server/DevServerManager.js +214 -0
  363. package/build/src/start/server/DevServerManager.js.map +1 -0
  364. package/build/src/start/server/DevToolsPluginManager.js +63 -0
  365. package/build/src/start/server/DevToolsPluginManager.js.map +1 -0
  366. package/build/src/start/server/DevelopmentSession.js +114 -0
  367. package/build/src/start/server/DevelopmentSession.js.map +1 -0
  368. package/build/src/start/server/ReactDevToolsProxy.js +73 -0
  369. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -0
  370. package/build/src/start/server/UrlCreator.js +175 -0
  371. package/build/src/start/server/UrlCreator.js.map +1 -0
  372. package/build/src/start/server/getStaticRenderFunctions.js +164 -0
  373. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -0
  374. package/build/src/start/server/metro/MetroBundlerDevServer.js +485 -0
  375. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
  376. package/build/src/start/server/metro/MetroTerminalReporter.js +165 -0
  377. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
  378. package/build/src/start/server/metro/TerminalReporter.js +92 -0
  379. package/build/src/start/server/metro/TerminalReporter.js.map +1 -0
  380. package/build/src/start/server/metro/TerminalReporter.types.js +6 -0
  381. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -0
  382. package/build/src/start/server/metro/bundleApiRoutes.js +52 -0
  383. package/build/src/start/server/metro/bundleApiRoutes.js.map +1 -0
  384. package/build/src/start/server/metro/createExpoMetroResolver.js +187 -0
  385. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -0
  386. package/build/src/start/server/metro/createJResolver.js +149 -0
  387. package/build/src/start/server/metro/createJResolver.js.map +1 -0
  388. package/build/src/start/server/metro/createServerRouteMiddleware.js +124 -0
  389. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -0
  390. package/build/src/start/server/metro/externals.js +94 -0
  391. package/build/src/start/server/metro/externals.js.map +1 -0
  392. package/build/src/start/server/metro/fetchRouterManifest.js +60 -0
  393. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -0
  394. package/build/src/start/server/metro/formatFileCandidates.js +72 -0
  395. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -0
  396. package/build/src/start/server/metro/getCssModulesFromBundler.js +77 -0
  397. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -0
  398. package/build/src/start/server/metro/inspector-proxy/device.js +110 -0
  399. package/build/src/start/server/metro/inspector-proxy/device.js.map +1 -0
  400. package/build/src/start/server/metro/inspector-proxy/handlers/NetworkResponse.js +29 -0
  401. package/build/src/start/server/metro/inspector-proxy/handlers/NetworkResponse.js.map +1 -0
  402. package/build/src/start/server/metro/inspector-proxy/handlers/PageReload.js +22 -0
  403. package/build/src/start/server/metro/inspector-proxy/handlers/PageReload.js.map +1 -0
  404. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerGetPossibleBreakpoints.js +21 -0
  405. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
  406. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerScriptParsed.js +55 -0
  407. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerScriptParsed.js.map +1 -0
  408. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerSetBreakpointByUrl.js +17 -0
  409. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
  410. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeCallFunctionOn.js +24 -0
  411. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
  412. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeGetProperties.js +39 -0
  413. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeGetProperties.js.map +1 -0
  414. package/build/src/start/server/metro/inspector-proxy/handlers/types.js +6 -0
  415. package/build/src/start/server/metro/inspector-proxy/handlers/types.js.map +1 -0
  416. package/build/src/start/server/metro/inspector-proxy/handlers/utils.js +11 -0
  417. package/build/src/start/server/metro/inspector-proxy/handlers/utils.js.map +1 -0
  418. package/build/src/start/server/metro/inspector-proxy/index.js +24 -0
  419. package/build/src/start/server/metro/inspector-proxy/index.js.map +1 -0
  420. package/build/src/start/server/metro/inspector-proxy/proxy.js +169 -0
  421. package/build/src/start/server/metro/inspector-proxy/proxy.js.map +1 -0
  422. package/build/src/start/server/metro/instantiateMetro.js +194 -0
  423. package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
  424. package/build/src/start/server/metro/metroErrorInterface.js +198 -0
  425. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -0
  426. package/build/src/start/server/metro/metroErrors.js +14 -0
  427. package/build/src/start/server/metro/metroErrors.js.map +1 -0
  428. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +51 -0
  429. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -0
  430. package/build/src/start/server/metro/router.js +83 -0
  431. package/build/src/start/server/metro/router.js.map +1 -0
  432. package/build/src/start/server/metro/runServer-fork.js +96 -0
  433. package/build/src/start/server/metro/runServer-fork.js.map +1 -0
  434. package/build/src/start/server/metro/serializeHtml.js +43 -0
  435. package/build/src/start/server/metro/serializeHtml.js.map +1 -0
  436. package/build/src/start/server/metro/symbolicate.js +6 -0
  437. package/build/src/start/server/metro/symbolicate.js.map +1 -0
  438. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +91 -0
  439. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -0
  440. package/build/src/start/server/metro/withMetroMultiPlatform.js +402 -0
  441. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -0
  442. package/build/src/start/server/metro/withMetroResolvers.js +272 -0
  443. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -0
  444. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +27 -0
  445. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -0
  446. package/build/src/start/server/middleware/CreateFileMiddleware.js +106 -0
  447. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -0
  448. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +61 -0
  449. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -0
  450. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +236 -0
  451. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
  452. package/build/src/start/server/middleware/ExpoMiddleware.js +83 -0
  453. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
  454. package/build/src/start/server/middleware/FaviconMiddleware.js +42 -0
  455. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -0
  456. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +24 -0
  457. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -0
  458. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +81 -0
  459. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
  460. package/build/src/start/server/middleware/ManifestMiddleware.js +300 -0
  461. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
  462. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +35 -0
  463. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -0
  464. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +75 -0
  465. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
  466. package/build/src/start/server/middleware/ServeStaticMiddleware.js +62 -0
  467. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -0
  468. package/build/src/start/server/middleware/inspector/JsInspector.js +69 -0
  469. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -0
  470. package/build/src/start/server/middleware/inspector/LaunchBrowser.js +61 -0
  471. package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -0
  472. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +13 -0
  473. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -0
  474. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +82 -0
  475. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -0
  476. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +79 -0
  477. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -0
  478. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +124 -0
  479. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -0
  480. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +64 -0
  481. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -0
  482. package/build/src/start/server/middleware/inspector/middlwareMutations.js +19 -0
  483. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -0
  484. package/build/src/start/server/middleware/metroOptions.js +128 -0
  485. package/build/src/start/server/middleware/metroOptions.js.map +1 -0
  486. package/build/src/start/server/middleware/mutations.js +19 -0
  487. package/build/src/start/server/middleware/mutations.js.map +1 -0
  488. package/build/src/start/server/middleware/remoteDevtoolsCorsMiddleware.js +31 -0
  489. package/build/src/start/server/middleware/remoteDevtoolsCorsMiddleware.js.map +1 -0
  490. package/build/src/start/server/middleware/remoteDevtoolsSecurityHeadersMiddleware.js +17 -0
  491. package/build/src/start/server/middleware/remoteDevtoolsSecurityHeadersMiddleware.js.map +1 -0
  492. package/build/src/start/server/middleware/resolveAssets.js +110 -0
  493. package/build/src/start/server/middleware/resolveAssets.js.map +1 -0
  494. package/build/src/start/server/middleware/resolvePlatform.js +47 -0
  495. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -0
  496. package/build/src/start/server/middleware/server.types.js +6 -0
  497. package/build/src/start/server/middleware/server.types.js.map +1 -0
  498. package/build/src/start/server/middleware/suppressErrorMiddleware.js +16 -0
  499. package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -0
  500. package/build/src/start/server/openPlatforms.js +30 -0
  501. package/build/src/start/server/openPlatforms.js.map +1 -0
  502. package/build/src/start/server/platformBundlers.js +18 -0
  503. package/build/src/start/server/platformBundlers.js.map +1 -0
  504. package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js +38 -0
  505. package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js.map +1 -0
  506. package/build/src/start/server/type-generation/__typetests__/generateFixtures.js +38 -0
  507. package/build/src/start/server/type-generation/__typetests__/generateFixtures.js.map +1 -0
  508. package/build/src/start/server/type-generation/__typetests__/route.test.js +176 -0
  509. package/build/src/start/server/type-generation/__typetests__/route.test.js.map +1 -0
  510. package/build/src/start/server/type-generation/expo-env.js +27 -0
  511. package/build/src/start/server/type-generation/expo-env.js.map +1 -0
  512. package/build/src/start/server/type-generation/routes.js +474 -0
  513. package/build/src/start/server/type-generation/routes.js.map +1 -0
  514. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +56 -0
  515. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -0
  516. package/build/src/start/server/type-generation/tsconfig.js +89 -0
  517. package/build/src/start/server/type-generation/tsconfig.js.map +1 -0
  518. package/build/src/start/server/webTemplate.js +84 -0
  519. package/build/src/start/server/webTemplate.js.map +1 -0
  520. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +266 -0
  521. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
  522. package/build/src/start/server/webpack/compile.js +64 -0
  523. package/build/src/start/server/webpack/compile.js.map +1 -0
  524. package/build/src/start/server/webpack/formatWebpackMessages.js +94 -0
  525. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -0
  526. package/build/src/start/server/webpack/resolveFromProject.js +43 -0
  527. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -0
  528. package/build/src/start/server/webpack/tls.js +72 -0
  529. package/build/src/start/server/webpack/tls.js.map +1 -0
  530. package/build/src/start/startAsync.js +154 -0
  531. package/build/src/start/startAsync.js.map +1 -0
  532. package/build/src/utils/FileNotifier.js +90 -0
  533. package/build/src/utils/FileNotifier.js.map +1 -0
  534. package/build/src/utils/analytics/getDevClientProperties.js +47 -0
  535. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -0
  536. package/build/src/utils/analytics/getMetroDebugProperties.js +15 -0
  537. package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -0
  538. package/build/src/utils/analytics/getMetroProperties.js +28 -0
  539. package/build/src/utils/analytics/getMetroProperties.js.map +1 -0
  540. package/build/src/utils/analytics/metroDebuggerMiddleware.js +55 -0
  541. package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -0
  542. package/build/src/utils/analytics/rudderstackClient.js +147 -0
  543. package/build/src/utils/analytics/rudderstackClient.js.map +1 -0
  544. package/build/src/utils/ansi.js +17 -0
  545. package/build/src/utils/ansi.js.map +1 -0
  546. package/build/src/utils/args.js +79 -0
  547. package/build/src/utils/args.js.map +1 -0
  548. package/build/src/utils/array.js +67 -0
  549. package/build/src/utils/array.js.map +1 -0
  550. package/build/src/utils/cocoapods.js +191 -0
  551. package/build/src/utils/cocoapods.js.map +1 -0
  552. package/build/src/utils/codesigning.js +311 -0
  553. package/build/src/utils/codesigning.js.map +1 -0
  554. package/build/src/utils/createFileTransform.js +89 -0
  555. package/build/src/utils/createFileTransform.js.map +1 -0
  556. package/build/src/utils/delay.js +39 -0
  557. package/build/src/utils/delay.js.map +1 -0
  558. package/build/src/utils/dir.js +63 -0
  559. package/build/src/utils/dir.js.map +1 -0
  560. package/build/src/utils/downloadAppAsync.js +73 -0
  561. package/build/src/utils/downloadAppAsync.js.map +1 -0
  562. package/build/src/utils/downloadExpoGoAsync.js +116 -0
  563. package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
  564. package/build/src/utils/editor.js +69 -0
  565. package/build/src/utils/editor.js.map +1 -0
  566. package/build/src/utils/env.js +131 -0
  567. package/build/src/utils/env.js.map +1 -0
  568. package/build/src/utils/errors.js +70 -0
  569. package/build/src/utils/errors.js.map +1 -0
  570. package/build/src/utils/exit.js +69 -0
  571. package/build/src/utils/exit.js.map +1 -0
  572. package/build/src/utils/findUp.js +33 -0
  573. package/build/src/utils/findUp.js.map +1 -0
  574. package/build/src/utils/fn.js +32 -0
  575. package/build/src/utils/fn.js.map +1 -0
  576. package/build/src/utils/getOrPromptApplicationId.js +181 -0
  577. package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
  578. package/build/src/utils/getRunningProcess.js +96 -0
  579. package/build/src/utils/getRunningProcess.js.map +1 -0
  580. package/build/src/utils/git.js +89 -0
  581. package/build/src/utils/git.js.map +1 -0
  582. package/build/src/utils/glob.js +65 -0
  583. package/build/src/utils/glob.js.map +1 -0
  584. package/build/src/utils/interactive.js +11 -0
  585. package/build/src/utils/interactive.js.map +1 -0
  586. package/build/src/utils/ip.js +16 -0
  587. package/build/src/utils/ip.js.map +1 -0
  588. package/build/src/utils/isModuleSymlinked.js +37 -0
  589. package/build/src/utils/isModuleSymlinked.js.map +1 -0
  590. package/build/src/utils/link.js +31 -0
  591. package/build/src/utils/link.js.map +1 -0
  592. package/build/src/utils/mergeGitIgnorePaths.js +154 -0
  593. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -0
  594. package/build/src/utils/modifyConfigAsync.js +68 -0
  595. package/build/src/utils/modifyConfigAsync.js.map +1 -0
  596. package/build/src/utils/modifyConfigPlugins.js +51 -0
  597. package/build/src/utils/modifyConfigPlugins.js.map +1 -0
  598. package/build/src/utils/nodeEnv.js +11 -0
  599. package/build/src/utils/nodeEnv.js.map +1 -0
  600. package/build/src/utils/nodeModules.js +29 -0
  601. package/build/src/utils/nodeModules.js.map +1 -0
  602. package/build/src/utils/npm.js +116 -0
  603. package/build/src/utils/npm.js.map +1 -0
  604. package/build/src/utils/obj.js +45 -0
  605. package/build/src/utils/obj.js.map +1 -0
  606. package/build/src/utils/open.js +26 -0
  607. package/build/src/utils/open.js.map +1 -0
  608. package/build/src/utils/ora.js +91 -0
  609. package/build/src/utils/ora.js.map +1 -0
  610. package/build/src/utils/plist.js +59 -0
  611. package/build/src/utils/plist.js.map +1 -0
  612. package/build/src/utils/port.js +160 -0
  613. package/build/src/utils/port.js.map +1 -0
  614. package/build/src/utils/profile.js +63 -0
  615. package/build/src/utils/profile.js.map +1 -0
  616. package/build/src/utils/progress.js +61 -0
  617. package/build/src/utils/progress.js.map +1 -0
  618. package/build/src/utils/prompts.js +116 -0
  619. package/build/src/utils/prompts.js.map +1 -0
  620. package/build/src/utils/resolveArgs.js +140 -0
  621. package/build/src/utils/resolveArgs.js.map +1 -0
  622. package/build/src/utils/scheme.js +128 -0
  623. package/build/src/utils/scheme.js.map +1 -0
  624. package/build/src/utils/strings.js +24 -0
  625. package/build/src/utils/strings.js.map +1 -0
  626. package/build/src/utils/tar.js +62 -0
  627. package/build/src/utils/tar.js.map +1 -0
  628. package/build/src/utils/template.js +21 -0
  629. package/build/src/utils/template.js.map +1 -0
  630. package/build/src/utils/terminal.js +10 -0
  631. package/build/src/utils/terminal.js.map +1 -0
  632. package/build/src/utils/tsconfig/evaluateTsConfig.js +61 -0
  633. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -0
  634. package/build/src/utils/tsconfig/loadTsConfigPaths.js +61 -0
  635. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -0
  636. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +88 -0
  637. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -0
  638. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +51 -0
  639. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -0
  640. package/build/src/utils/url.js +67 -0
  641. package/build/src/utils/url.js.map +1 -0
  642. package/build/src/utils/validateApplicationId.js +179 -0
  643. package/build/src/utils/validateApplicationId.js.map +1 -0
  644. package/build/src/utils/variadic.js +65 -0
  645. package/build/src/utils/variadic.js.map +1 -0
  646. package/build/src/whoami/index.js +47 -0
  647. package/build/src/whoami/index.js.map +1 -0
  648. package/build/src/whoami/whoamiAsync.js +44 -0
  649. package/build/src/whoami/whoamiAsync.js.map +1 -0
  650. package/package.json +163 -0
  651. package/static/loading-page/index.html +363 -0
  652. package/static/react-devtools-page/index.html +144 -0
  653. package/static/shims/react-native-web/dist/cjs/exports/AppRegistry/AppContainer.js +13 -0
  654. package/static/shims/react-native-web/dist/cjs/exports/BackHandler/index.js +10 -0
  655. package/static/shims/react-native-web/dist/exports/AppRegistry/AppContainer.js +12 -0
  656. package/static/shims/react-native-web/dist/exports/BackHandler/index.js +7 -0
  657. package/static/template/babel.config.js +6 -0
  658. package/static/template/index.html +36 -0
  659. package/static/template/metro.config.js +7 -0
  660. package/static/template/serve.json +13 -0
  661. package/static/template/webpack.config.js +7 -0
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.getNamedPlugins = getNamedPlugins;
6
+ exports.autoAddConfigPluginsAsync = autoAddConfigPluginsAsync;
7
+ var _pluginResolver = require("@expo/config-plugins/build/utils/plugin-resolver");
8
+ var _prebuildConfig = require("@expo/prebuild-config");
9
+ var _modifyConfigPlugins = require("../../utils/modifyConfigPlugins");
10
+ const debug = require("debug")("expo:install:config-plugins");
11
+ const AUTO_PLUGINS = (0, _prebuildConfig).getAutoPlugins();
12
+ /**
13
+ * Resolve if a package has a config plugin.
14
+ * For sanity, we'll only support config plugins that use the `app.config.js` entry file,
15
+ * this is because a package like `lodash` could be a "valid" config plugin and break the prebuild process.
16
+ *
17
+ * @param projectRoot
18
+ * @param packageName
19
+ * @returns
20
+ */ function packageHasConfigPlugin(projectRoot, packageName) {
21
+ try {
22
+ const info = (0, _pluginResolver).resolveConfigPluginFunctionWithInfo(projectRoot, packageName);
23
+ if (info.isPluginFile) {
24
+ return info.plugin;
25
+ }
26
+ } catch {}
27
+ return false;
28
+ }
29
+ function getNamedPlugins(plugins) {
30
+ const namedPlugins = [];
31
+ for (const plugin of plugins){
32
+ try {
33
+ // @ts-ignore
34
+ const [normal] = (0, _pluginResolver).normalizeStaticPlugin(plugin);
35
+ if (typeof normal === "string") {
36
+ namedPlugins.push(normal);
37
+ }
38
+ } catch {
39
+ // ignore assertions
40
+ }
41
+ }
42
+ return namedPlugins;
43
+ }
44
+ async function autoAddConfigPluginsAsync(projectRoot, exp, packages) {
45
+ debug("Checking config plugins...");
46
+ const currentPlugins = exp.plugins || [];
47
+ const normalized = getNamedPlugins(currentPlugins);
48
+ debug(`Existing plugins: ${normalized.join(", ")}`);
49
+ const plugins = packages.filter((pkg)=>{
50
+ if (normalized.includes(pkg)) {
51
+ // already included in plugins array
52
+ return false;
53
+ }
54
+ // Check if the package has a valid plugin. Must be a well-made plugin for it to work with this.
55
+ const plugin = packageHasConfigPlugin(projectRoot, pkg);
56
+ debug(`Package "${pkg}" has plugin: ${!!plugin}` + (plugin ? ` (args: ${plugin.length})` : ""));
57
+ if (AUTO_PLUGINS.includes(pkg)) {
58
+ debug(`Package "${pkg}" is an auto plugin, skipping...`);
59
+ return false;
60
+ }
61
+ return !!plugin;
62
+ });
63
+ await (0, _modifyConfigPlugins).attemptAddingPluginsAsync(projectRoot, exp, plugins);
64
+ }
65
+
66
+ //# sourceMappingURL=autoAddConfigPlugins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/install/utils/autoAddConfigPlugins.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport {\n normalizeStaticPlugin,\n resolveConfigPluginFunctionWithInfo,\n} from '@expo/config-plugins/build/utils/plugin-resolver';\nimport { getAutoPlugins } from '@expo/prebuild-config';\n\nimport { attemptAddingPluginsAsync } from '../../utils/modifyConfigPlugins';\n\nconst debug = require('debug')('expo:install:config-plugins') as typeof console.log;\n\nconst AUTO_PLUGINS = getAutoPlugins();\n\n/**\n * Resolve if a package has a config plugin.\n * For sanity, we'll only support config plugins that use the `app.config.js` entry file,\n * this is because a package like `lodash` could be a \"valid\" config plugin and break the prebuild process.\n *\n * @param projectRoot\n * @param packageName\n * @returns\n */\nfunction packageHasConfigPlugin(projectRoot: string, packageName: string) {\n try {\n const info = resolveConfigPluginFunctionWithInfo(projectRoot, packageName);\n if (info.isPluginFile) {\n return info.plugin;\n }\n } catch {}\n return false;\n}\n\n/**\n * Get a list of plugins that were are supplied as string module IDs.\n * @example\n * ```json\n * {\n * \"plugins\": [\n * \"expo-camera\",\n * [\"react-native-firebase\", ...]\n * ]\n * }\n * ```\n * ↓ ↓ ↓ ↓ ↓ ↓\n *\n * `['expo-camera', 'react-native-firebase']`\n *\n */\nexport function getNamedPlugins(plugins: NonNullable<ExpoConfig['plugins']>): string[] {\n const namedPlugins: string[] = [];\n for (const plugin of plugins) {\n try {\n // @ts-ignore\n const [normal] = normalizeStaticPlugin(plugin);\n if (typeof normal === 'string') {\n namedPlugins.push(normal);\n }\n } catch {\n // ignore assertions\n }\n }\n return namedPlugins;\n}\n\n/** Attempts to ensure that non-auto plugins are added to the `app.json` `plugins` array when modules with Expo Config Plugins are installed. */\nexport async function autoAddConfigPluginsAsync(\n projectRoot: string,\n exp: Pick<ExpoConfig, 'plugins'>,\n packages: string[]\n) {\n debug('Checking config plugins...');\n\n const currentPlugins = exp.plugins || [];\n const normalized = getNamedPlugins(currentPlugins);\n\n debug(`Existing plugins: ${normalized.join(', ')}`);\n\n const plugins = packages.filter((pkg) => {\n if (normalized.includes(pkg)) {\n // already included in plugins array\n return false;\n }\n // Check if the package has a valid plugin. Must be a well-made plugin for it to work with this.\n const plugin = packageHasConfigPlugin(projectRoot, pkg);\n\n debug(`Package \"${pkg}\" has plugin: ${!!plugin}` + (plugin ? ` (args: ${plugin.length})` : ''));\n\n if (AUTO_PLUGINS.includes(pkg)) {\n debug(`Package \"${pkg}\" is an auto plugin, skipping...`);\n return false;\n }\n\n return !!plugin;\n });\n\n await attemptAddingPluginsAsync(projectRoot, exp, plugins);\n}\n"],"names":["getNamedPlugins","autoAddConfigPluginsAsync","debug","require","AUTO_PLUGINS","getAutoPlugins","packageHasConfigPlugin","projectRoot","packageName","info","resolveConfigPluginFunctionWithInfo","isPluginFile","plugin","plugins","namedPlugins","normal","normalizeStaticPlugin","push","exp","packages","currentPlugins","normalized","join","filter","pkg","includes","length","attemptAddingPluginsAsync"],"mappings":"AAAA;;;;QAgDgBA,eAAe,GAAfA,eAAe;QAiBTC,yBAAyB,GAAzBA,yBAAyB;AA7DxC,IAAA,eAAkD,WAAlD,kDAAkD,CAAA;AAC1B,IAAA,eAAuB,WAAvB,uBAAuB,CAAA;AAEZ,IAAA,oBAAiC,WAAjC,iCAAiC,CAAA;AAE3E,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,6BAA6B,CAAC,AAAsB,AAAC;AAEpF,MAAMC,YAAY,GAAGC,CAAAA,GAAAA,eAAc,AAAE,CAAA,eAAF,EAAE,AAAC;AAEtC;;;;;;;;GAQG,CACH,SAASC,sBAAsB,CAACC,WAAmB,EAAEC,WAAmB,EAAE;IACxE,IAAI;QACF,MAAMC,IAAI,GAAGC,CAAAA,GAAAA,eAAmC,AAA0B,CAAA,oCAA1B,CAACH,WAAW,EAAEC,WAAW,CAAC,AAAC;QAC3E,IAAIC,IAAI,CAACE,YAAY,EAAE;YACrB,OAAOF,IAAI,CAACG,MAAM,CAAC;SACpB;KACF,CAAC,OAAM,EAAE;IACV,OAAO,KAAK,CAAC;CACd;AAkBM,SAASZ,eAAe,CAACa,OAA2C,EAAY;IACrF,MAAMC,YAAY,GAAa,EAAE,AAAC;IAClC,KAAK,MAAMF,MAAM,IAAIC,OAAO,CAAE;QAC5B,IAAI;YACF,aAAa;YACb,MAAM,CAACE,MAAM,CAAC,GAAGC,CAAAA,GAAAA,eAAqB,AAAQ,CAAA,sBAAR,CAACJ,MAAM,CAAC,AAAC;YAC/C,IAAI,OAAOG,MAAM,KAAK,QAAQ,EAAE;gBAC9BD,YAAY,CAACG,IAAI,CAACF,MAAM,CAAC,CAAC;aAC3B;SACF,CAAC,OAAM;QACN,oBAAoB;SACrB;KACF;IACD,OAAOD,YAAY,CAAC;CACrB;AAGM,eAAeb,yBAAyB,CAC7CM,WAAmB,EACnBW,GAAgC,EAChCC,QAAkB,EAClB;IACAjB,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAEpC,MAAMkB,cAAc,GAAGF,GAAG,CAACL,OAAO,IAAI,EAAE,AAAC;IACzC,MAAMQ,UAAU,GAAGrB,eAAe,CAACoB,cAAc,CAAC,AAAC;IAEnDlB,KAAK,CAAC,CAAC,kBAAkB,EAAEmB,UAAU,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpD,MAAMT,OAAO,GAAGM,QAAQ,CAACI,MAAM,CAAC,CAACC,GAAG,GAAK;QACvC,IAAIH,UAAU,CAACI,QAAQ,CAACD,GAAG,CAAC,EAAE;YAC5B,oCAAoC;YACpC,OAAO,KAAK,CAAC;SACd;QACD,gGAAgG;QAChG,MAAMZ,MAAM,GAAGN,sBAAsB,CAACC,WAAW,EAAEiB,GAAG,CAAC,AAAC;QAExDtB,KAAK,CAAC,CAAC,SAAS,EAAEsB,GAAG,CAAC,cAAc,EAAE,CAAC,CAACZ,MAAM,CAAC,CAAC,GAAG,CAACA,MAAM,GAAG,CAAC,QAAQ,EAAEA,MAAM,CAACc,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAEhG,IAAItB,YAAY,CAACqB,QAAQ,CAACD,GAAG,CAAC,EAAE;YAC9BtB,KAAK,CAAC,CAAC,SAAS,EAAEsB,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC;SACd;QAED,OAAO,CAAC,CAACZ,MAAM,CAAC;KACjB,CAAC,AAAC;IAEH,MAAMe,CAAAA,GAAAA,oBAAyB,AAA2B,CAAA,0BAA3B,CAACpB,WAAW,EAAEW,GAAG,EAAEL,OAAO,CAAC,CAAC;CAC5D"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.time = time;
6
+ exports.timeEnd = timeEnd;
7
+ exports.error = error;
8
+ exports.exception = exception;
9
+ exports.warn = warn;
10
+ exports.log = log;
11
+ exports.debug = debug;
12
+ exports.clear = clear;
13
+ exports.exit = exit;
14
+ exports.Log = void 0;
15
+ var _chalk = _interopRequireDefault(require("chalk"));
16
+ function _interopRequireDefault(obj) {
17
+ return obj && obj.__esModule ? obj : {
18
+ default: obj
19
+ };
20
+ }
21
+ function time(label) {
22
+ console.time(label);
23
+ }
24
+ function timeEnd(label) {
25
+ console.timeEnd(label);
26
+ }
27
+ function error(...message) {
28
+ console.error(...message);
29
+ }
30
+ function exception(e) {
31
+ const { env } = require("./utils/env");
32
+ error(_chalk.default.red(e.toString()) + (env.EXPO_DEBUG ? "\n" + _chalk.default.gray(e.stack) : ""));
33
+ }
34
+ function warn(...message) {
35
+ console.warn(...message.map((value)=>_chalk.default.yellow(value)
36
+ ));
37
+ }
38
+ function log(...message) {
39
+ console.log(...message);
40
+ }
41
+ function debug(...message) {
42
+ if (require("./utils/env").env.EXPO_DEBUG) console.log(...message);
43
+ }
44
+ function clear() {
45
+ process.stdout.write(process.platform === "win32" ? "\x1b[2J\x1b[0f" : "\x1b[2J\x1b[3J\x1b[H");
46
+ }
47
+ function exit(message, code = 1) {
48
+ if (message instanceof Error) {
49
+ exception(message);
50
+ process.exit(code);
51
+ }
52
+ if (message) {
53
+ if (code === 0) {
54
+ log(message);
55
+ } else {
56
+ error(message);
57
+ }
58
+ }
59
+ process.exit(code);
60
+ }
61
+ const Log = {
62
+ time,
63
+ timeEnd,
64
+ error,
65
+ exception,
66
+ warn,
67
+ log,
68
+ debug,
69
+ clear,
70
+ exit
71
+ };
72
+ exports.Log = Log;
73
+
74
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/log.ts"],"sourcesContent":["import chalk from 'chalk';\n\nexport function time(label?: string): void {\n console.time(label);\n}\n\nexport function timeEnd(label?: string): void {\n console.timeEnd(label);\n}\n\nexport function error(...message: string[]): void {\n console.error(...message);\n}\n\n/** Print an error and provide additional info (the stack trace) in debug mode. */\nexport function exception(e: Error): void {\n const { env } = require('./utils/env');\n error(chalk.red(e.toString()) + (env.EXPO_DEBUG ? '\\n' + chalk.gray(e.stack) : ''));\n}\n\nexport function warn(...message: string[]): void {\n console.warn(...message.map((value) => chalk.yellow(value)));\n}\n\nexport function log(...message: string[]): void {\n console.log(...message);\n}\n\n/** @deprecated use `debug` package with the `expo:` prefix instead. */\nexport function debug(...message: any[]): void {\n if (require('./utils/env').env.EXPO_DEBUG) console.log(...message);\n}\n\n/** Clear the terminal of all text. */\nexport function clear(): void {\n process.stdout.write(process.platform === 'win32' ? '\\x1B[2J\\x1B[0f' : '\\x1B[2J\\x1B[3J\\x1B[H');\n}\n\n/** Log a message and exit the current process. If the `code` is non-zero then `console.error` will be used instead of `console.log`. */\nexport function exit(message: string | Error, code: number = 1): never {\n if (message instanceof Error) {\n exception(message);\n process.exit(code);\n }\n\n if (message) {\n if (code === 0) {\n log(message);\n } else {\n error(message);\n }\n }\n\n process.exit(code);\n}\n\n// The re-export makes auto importing easier.\nexport const Log = {\n time,\n timeEnd,\n error,\n exception,\n warn,\n log,\n debug,\n clear,\n exit,\n};\n"],"names":["time","timeEnd","error","exception","warn","log","debug","clear","exit","label","console","message","e","env","require","chalk","red","toString","EXPO_DEBUG","gray","stack","map","value","yellow","process","stdout","write","platform","code","Error","Log"],"mappings":"AAAA;;;;QAEgBA,IAAI,GAAJA,IAAI;QAIJC,OAAO,GAAPA,OAAO;QAIPC,KAAK,GAALA,KAAK;QAKLC,SAAS,GAATA,SAAS;QAKTC,IAAI,GAAJA,IAAI;QAIJC,GAAG,GAAHA,GAAG;QAKHC,KAAK,GAALA,KAAK;QAKLC,KAAK,GAALA,KAAK;QAKLC,IAAI,GAAJA,IAAI;;AAvCF,IAAA,MAAO,kCAAP,OAAO,EAAA;;;;;;AAElB,SAASR,IAAI,CAACS,KAAc,EAAQ;IACzCC,OAAO,CAACV,IAAI,CAACS,KAAK,CAAC,CAAC;CACrB;AAEM,SAASR,OAAO,CAACQ,KAAc,EAAQ;IAC5CC,OAAO,CAACT,OAAO,CAACQ,KAAK,CAAC,CAAC;CACxB;AAEM,SAASP,KAAK,CAAC,GAAGS,OAAO,AAAU,EAAQ;IAChDD,OAAO,CAACR,KAAK,IAAIS,OAAO,CAAC,CAAC;CAC3B;AAGM,SAASR,SAAS,CAACS,CAAQ,EAAQ;IACxC,MAAM,EAAEC,GAAG,CAAA,EAAE,GAAGC,OAAO,CAAC,aAAa,CAAC,AAAC;IACvCZ,KAAK,CAACa,MAAK,QAAA,CAACC,GAAG,CAACJ,CAAC,CAACK,QAAQ,EAAE,CAAC,GAAG,CAACJ,GAAG,CAACK,UAAU,GAAG,IAAI,GAAGH,MAAK,QAAA,CAACI,IAAI,CAACP,CAAC,CAACQ,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;CACrF;AAEM,SAAShB,IAAI,CAAC,GAAGO,OAAO,AAAU,EAAQ;IAC/CD,OAAO,CAACN,IAAI,IAAIO,OAAO,CAACU,GAAG,CAAC,CAACC,KAAK,GAAKP,MAAK,QAAA,CAACQ,MAAM,CAACD,KAAK,CAAC;IAAA,CAAC,CAAC,CAAC;CAC9D;AAEM,SAASjB,GAAG,CAAC,GAAGM,OAAO,AAAU,EAAQ;IAC9CD,OAAO,CAACL,GAAG,IAAIM,OAAO,CAAC,CAAC;CACzB;AAGM,SAASL,KAAK,CAAC,GAAGK,OAAO,AAAO,EAAQ;IAC7C,IAAIG,OAAO,CAAC,aAAa,CAAC,CAACD,GAAG,CAACK,UAAU,EAAER,OAAO,CAACL,GAAG,IAAIM,OAAO,CAAC,CAAC;CACpE;AAGM,SAASJ,KAAK,GAAS;IAC5BiB,OAAO,CAACC,MAAM,CAACC,KAAK,CAACF,OAAO,CAACG,QAAQ,KAAK,OAAO,GAAG,gBAAgB,GAAG,sBAAsB,CAAC,CAAC;CAChG;AAGM,SAASnB,IAAI,CAACG,OAAuB,EAAEiB,IAAY,GAAG,CAAC,EAAS;IACrE,IAAIjB,OAAO,YAAYkB,KAAK,EAAE;QAC5B1B,SAAS,CAACQ,OAAO,CAAC,CAAC;QACnBa,OAAO,CAAChB,IAAI,CAACoB,IAAI,CAAC,CAAC;KACpB;IAED,IAAIjB,OAAO,EAAE;QACX,IAAIiB,IAAI,KAAK,CAAC,EAAE;YACdvB,GAAG,CAACM,OAAO,CAAC,CAAC;SACd,MAAM;YACLT,KAAK,CAACS,OAAO,CAAC,CAAC;SAChB;KACF;IAEDa,OAAO,CAAChB,IAAI,CAACoB,IAAI,CAAC,CAAC;CACpB;AAGM,MAAME,GAAG,GAAG;IACjB9B,IAAI;IACJC,OAAO;IACPC,KAAK;IACLC,SAAS;IACTC,IAAI;IACJC,GAAG;IACHC,KAAK;IACLC,KAAK;IACLC,IAAI;CACL,AAAC;QAVWsB,GAAG,GAAHA,GAAG"}
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.expoLogin = void 0;
7
+ var _args = require("../utils/args");
8
+ var _errors = require("../utils/errors");
9
+ function _interopRequireWildcard(obj) {
10
+ if (obj && obj.__esModule) {
11
+ return obj;
12
+ } else {
13
+ var newObj = {};
14
+ if (obj != null) {
15
+ for(var key in obj){
16
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
17
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
18
+ if (desc.get || desc.set) {
19
+ Object.defineProperty(newObj, key, desc);
20
+ } else {
21
+ newObj[key] = obj[key];
22
+ }
23
+ }
24
+ }
25
+ }
26
+ newObj.default = obj;
27
+ return newObj;
28
+ }
29
+ }
30
+ const expoLogin = async (argv)=>{
31
+ const args = (0, _args).assertArgs({
32
+ // Types
33
+ "--help": Boolean,
34
+ "--username": String,
35
+ "--password": String,
36
+ "--otp": String,
37
+ "--sso": Boolean,
38
+ // Aliases
39
+ "-h": "--help",
40
+ "-u": "--username",
41
+ "-p": "--password",
42
+ "-s": "--sso"
43
+ }, argv);
44
+ if (args["--help"]) {
45
+ (0, _args).printHelp(`Log in to an Expo account`, `npx expo login`, [
46
+ `-u, --username <string> Username`,
47
+ `-p, --password <string> Password`,
48
+ `--otp <string> One-time password from your 2FA device`,
49
+ // hiding from help until SSO is public
50
+ // `-s, --sso Log in with SSO`,
51
+ `-h, --help Usage info`,
52
+ ].join("\n"));
53
+ }
54
+ const { showLoginPromptAsync } = await Promise.resolve().then(function() {
55
+ return _interopRequireWildcard(require("../api/user/actions.js"));
56
+ });
57
+ return showLoginPromptAsync({
58
+ // Parsed options
59
+ username: args["--username"],
60
+ password: args["--password"],
61
+ otp: args["--otp"],
62
+ sso: !!args["--sso"]
63
+ }).catch(_errors.logCmdError);
64
+ };
65
+ exports.expoLogin = expoLogin;
66
+
67
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/login/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { Command } from '../../bin/cli';\nimport { assertArgs, printHelp } from '../utils/args';\nimport { logCmdError } from '../utils/errors';\n\nexport const expoLogin: Command = async (argv) => {\n const args = assertArgs(\n {\n // Types\n '--help': Boolean,\n '--username': String,\n '--password': String,\n '--otp': String,\n '--sso': Boolean,\n // Aliases\n '-h': '--help',\n '-u': '--username',\n '-p': '--password',\n '-s': '--sso',\n },\n argv\n );\n\n if (args['--help']) {\n printHelp(\n `Log in to an Expo account`,\n `npx expo login`,\n [\n `-u, --username <string> Username`,\n `-p, --password <string> Password`,\n `--otp <string> One-time password from your 2FA device`,\n // hiding from help until SSO is public\n // `-s, --sso Log in with SSO`,\n `-h, --help Usage info`,\n ].join('\\n')\n );\n }\n\n const { showLoginPromptAsync } = await import('../api/user/actions.js');\n return showLoginPromptAsync({\n // Parsed options\n username: args['--username'],\n password: args['--password'],\n otp: args['--otp'],\n sso: !!args['--sso'],\n }).catch(logCmdError);\n};\n"],"names":["expoLogin","argv","args","assertArgs","Boolean","String","printHelp","join","showLoginPromptAsync","username","password","otp","sso","catch","logCmdError"],"mappings":"AAAA;;;;;;AAEsC,IAAA,KAAe,WAAf,eAAe,CAAA;AACzB,IAAA,OAAiB,WAAjB,iBAAiB,CAAA;;;;;;;;;;;;;;;;;;;;;;AAEtC,MAAMA,SAAS,GAAY,OAAOC,IAAI,GAAK;IAChD,MAAMC,IAAI,GAAGC,CAAAA,GAAAA,KAAU,AAetB,CAAA,WAfsB,CACrB;QACE,QAAQ;QACR,QAAQ,EAAEC,OAAO;QACjB,YAAY,EAAEC,MAAM;QACpB,YAAY,EAAEA,MAAM;QACpB,OAAO,EAAEA,MAAM;QACf,OAAO,EAAED,OAAO;QAChB,UAAU;QACV,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,OAAO;KACd,EACDH,IAAI,CACL,AAAC;IAEF,IAAIC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAClBI,CAAAA,GAAAA,KAAS,AAWR,CAAA,UAXQ,CACP,CAAC,yBAAyB,CAAC,EAC3B,CAAC,cAAc,CAAC,EAChB;YACE,CAAC,iCAAiC,CAAC;YACnC,CAAC,iCAAiC,CAAC;YACnC,CAAC,+DAA+D,CAAC;YACjE,uCAAuC;YACvC,8CAA8C;YAC9C,CAAC,mCAAmC,CAAC;SACtC,CAACC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;KACH;IAED,MAAM,EAAEC,oBAAoB,CAAA,EAAE,GAAG,MAAM;+CAAO,wBAAwB;MAAC,AAAC;IACxE,OAAOA,oBAAoB,CAAC;QAC1B,iBAAiB;QACjBC,QAAQ,EAAEP,IAAI,CAAC,YAAY,CAAC;QAC5BQ,QAAQ,EAAER,IAAI,CAAC,YAAY,CAAC;QAC5BS,GAAG,EAAET,IAAI,CAAC,OAAO,CAAC;QAClBU,GAAG,EAAE,CAAC,CAACV,IAAI,CAAC,OAAO,CAAC;KACrB,CAAC,CAACW,KAAK,CAACC,OAAW,YAAA,CAAC,CAAC;CACvB,AAAC;QAzCWd,SAAS,GAATA,SAAS"}
@@ -0,0 +1,48 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.expoLogout = void 0;
7
+ var _args = require("../utils/args");
8
+ var _errors = require("../utils/errors");
9
+ function _interopRequireWildcard(obj) {
10
+ if (obj && obj.__esModule) {
11
+ return obj;
12
+ } else {
13
+ var newObj = {};
14
+ if (obj != null) {
15
+ for(var key in obj){
16
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
17
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
18
+ if (desc.get || desc.set) {
19
+ Object.defineProperty(newObj, key, desc);
20
+ } else {
21
+ newObj[key] = obj[key];
22
+ }
23
+ }
24
+ }
25
+ }
26
+ newObj.default = obj;
27
+ return newObj;
28
+ }
29
+ }
30
+ const expoLogout = async (argv)=>{
31
+ const args = (0, _args).assertArgs({
32
+ // Types
33
+ "--help": Boolean,
34
+ // Aliases
35
+ "-h": "--help"
36
+ }, argv);
37
+ if (args["--help"]) {
38
+ (0, _args).printHelp(`Log out of an Expo account`, `npx expo logout`, // options
39
+ `-h, --help Usage info`);
40
+ }
41
+ const { logoutAsync } = await Promise.resolve().then(function() {
42
+ return _interopRequireWildcard(require("../api/user/user.js"));
43
+ });
44
+ return logoutAsync().catch(_errors.logCmdError);
45
+ };
46
+ exports.expoLogout = expoLogout;
47
+
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/logout/index.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { Command } from '../../bin/cli';\nimport { assertArgs, printHelp } from '../utils/args';\nimport { logCmdError } from '../utils/errors';\n\nexport const expoLogout: Command = async (argv) => {\n const args = assertArgs(\n {\n // Types\n '--help': Boolean,\n // Aliases\n '-h': '--help',\n },\n argv\n );\n\n if (args['--help']) {\n printHelp(\n `Log out of an Expo account`,\n `npx expo logout`,\n // options\n `-h, --help Usage info`\n );\n }\n\n const { logoutAsync } = await import('../api/user/user.js');\n return logoutAsync().catch(logCmdError);\n};\n"],"names":["expoLogout","argv","args","assertArgs","Boolean","printHelp","logoutAsync","catch","logCmdError"],"mappings":"AAAA;;;;;;AAGsC,IAAA,KAAe,WAAf,eAAe,CAAA;AACzB,IAAA,OAAiB,WAAjB,iBAAiB,CAAA;;;;;;;;;;;;;;;;;;;;;;AAEtC,MAAMA,UAAU,GAAY,OAAOC,IAAI,GAAK;IACjD,MAAMC,IAAI,GAAGC,CAAAA,GAAAA,KAAU,AAQtB,CAAA,WARsB,CACrB;QACE,QAAQ;QACR,QAAQ,EAAEC,OAAO;QACjB,UAAU;QACV,IAAI,EAAE,QAAQ;KACf,EACDH,IAAI,CACL,AAAC;IAEF,IAAIC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAClBG,CAAAA,GAAAA,KAAS,AAKR,CAAA,UALQ,CACP,CAAC,0BAA0B,CAAC,EAC5B,CAAC,eAAe,CAAC,EACjB,UAAU;QACV,CAAC,wBAAwB,CAAC,CAC3B,CAAC;KACH;IAED,MAAM,EAAEC,WAAW,CAAA,EAAE,GAAG,MAAM;+CAAO,qBAAqB;MAAC,AAAC;IAC5D,OAAOA,WAAW,EAAE,CAACC,KAAK,CAACC,OAAW,YAAA,CAAC,CAAC;CACzC,AAAC;QAtBWR,UAAU,GAAVA,UAAU"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.clearNativeFolder = clearNativeFolder;
6
+ exports.hasRequiredAndroidFilesAsync = hasRequiredAndroidFilesAsync;
7
+ exports.hasRequiredIOSFilesAsync = hasRequiredIOSFilesAsync;
8
+ exports.getMalformedNativeProjectsAsync = getMalformedNativeProjectsAsync;
9
+ exports.promptToClearMalformedNativeProjectsAsync = promptToClearMalformedNativeProjectsAsync;
10
+ var _configPlugins = require("@expo/config-plugins");
11
+ var _chalk = _interopRequireDefault(require("chalk"));
12
+ var _fs = _interopRequireDefault(require("fs"));
13
+ var _path = _interopRequireDefault(require("path"));
14
+ var Log = _interopRequireWildcard(require("../log"));
15
+ var _dir = require("../utils/dir");
16
+ var _interactive = require("../utils/interactive");
17
+ var _ora = require("../utils/ora");
18
+ var _prompts = require("../utils/prompts");
19
+ function _interopRequireDefault(obj) {
20
+ return obj && obj.__esModule ? obj : {
21
+ default: obj
22
+ };
23
+ }
24
+ function _interopRequireWildcard(obj) {
25
+ if (obj && obj.__esModule) {
26
+ return obj;
27
+ } else {
28
+ var newObj = {};
29
+ if (obj != null) {
30
+ for(var key in obj){
31
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
32
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
33
+ if (desc.get || desc.set) {
34
+ Object.defineProperty(newObj, key, desc);
35
+ } else {
36
+ newObj[key] = obj[key];
37
+ }
38
+ }
39
+ }
40
+ }
41
+ newObj.default = obj;
42
+ return newObj;
43
+ }
44
+ }
45
+ async function clearNativeFolder(projectRoot, folders) {
46
+ const step = (0, _ora).logNewSection(`Clearing ${folders.join(", ")}`);
47
+ try {
48
+ await Promise.all(folders.map((folderName)=>_fs.default.promises.rm(_path.default.join(projectRoot, folderName), {
49
+ recursive: true,
50
+ force: true
51
+ })
52
+ ));
53
+ step.succeed(`Cleared ${folders.join(", ")} code`);
54
+ } catch (error) {
55
+ step.fail(`Failed to delete ${folders.join(", ")} code: ${error.message}`);
56
+ throw error;
57
+ }
58
+ }
59
+ async function hasRequiredAndroidFilesAsync(projectRoot) {
60
+ try {
61
+ await Promise.all([
62
+ _configPlugins.AndroidConfig.Paths.getAppBuildGradleAsync(projectRoot),
63
+ _configPlugins.AndroidConfig.Paths.getProjectBuildGradleAsync(projectRoot),
64
+ _configPlugins.AndroidConfig.Paths.getAndroidManifestAsync(projectRoot),
65
+ _configPlugins.AndroidConfig.Paths.getMainApplicationAsync(projectRoot),
66
+ ]);
67
+ return true;
68
+ } catch {
69
+ return false;
70
+ }
71
+ }
72
+ async function hasRequiredIOSFilesAsync(projectRoot) {
73
+ try {
74
+ // If any of the following required files are missing, then the project is malformed.
75
+ await Promise.all([
76
+ _configPlugins.IOSConfig.Paths.getAllXcodeProjectPaths(projectRoot),
77
+ _configPlugins.IOSConfig.Paths.getAllPBXProjectPaths(projectRoot),
78
+ ]);
79
+ return true;
80
+ } catch {
81
+ return false;
82
+ }
83
+ }
84
+ /**
85
+ * Filter out platforms that do not have an existing platform folder.
86
+ * If the user wants to validate that neither of ['ios', 'android'] are malformed then we should
87
+ * first check that both `ios` and `android` folders exist.
88
+ *
89
+ * This optimization prevents us from prompting to clear a "malformed" project that doesn't exist yet.
90
+ */ async function filterPlatformsThatDoNotExistAsync(projectRoot, platforms) {
91
+ const valid = await Promise.all(platforms.map(async (platform)=>{
92
+ if (await (0, _dir).directoryExistsAsync(_path.default.join(projectRoot, platform))) {
93
+ return platform;
94
+ }
95
+ return null;
96
+ }));
97
+ return valid.filter(Boolean);
98
+ }
99
+ async function getMalformedNativeProjectsAsync(projectRoot, platforms) {
100
+ const VERIFIERS = {
101
+ android: hasRequiredAndroidFilesAsync,
102
+ ios: hasRequiredIOSFilesAsync
103
+ };
104
+ const checkablePlatforms = platforms.filter((platform)=>platform in VERIFIERS
105
+ );
106
+ const checkPlatforms = await filterPlatformsThatDoNotExistAsync(projectRoot, checkablePlatforms);
107
+ return (await Promise.all(checkPlatforms.map(async (platform)=>{
108
+ if (!VERIFIERS[platform]) {
109
+ return false;
110
+ }
111
+ if (await VERIFIERS[platform](projectRoot)) {
112
+ return false;
113
+ }
114
+ return platform;
115
+ }))).filter(Boolean);
116
+ }
117
+ async function promptToClearMalformedNativeProjectsAsync(projectRoot, checkPlatforms) {
118
+ const platforms = await getMalformedNativeProjectsAsync(projectRoot, checkPlatforms);
119
+ if (!platforms.length) {
120
+ return;
121
+ }
122
+ const displayPlatforms = platforms.map((platform)=>_chalk.default.cyan(platform)
123
+ );
124
+ // Prompt which platforms to reset.
125
+ const message = platforms.length > 1 ? `The ${displayPlatforms[0]} and ${displayPlatforms[1]} projects are malformed` : `The ${displayPlatforms[0]} project is malformed`;
126
+ if (// If the process is non-interactive, default to clearing the malformed native project.
127
+ // This would only happen on re-running prebuild.
128
+ !(0, _interactive).isInteractive() || // Prompt to clear the native folders.
129
+ (await (0, _prompts).confirmAsync({
130
+ message: `${message}, would you like to clear the project files and reinitialize them?`,
131
+ initial: true
132
+ }))) {
133
+ if (!(0, _interactive).isInteractive()) {
134
+ Log.warn(`${message}, project files will be cleared and reinitialized.`);
135
+ }
136
+ await clearNativeFolder(projectRoot, platforms);
137
+ } else {
138
+ // Warn the user that the process may fail.
139
+ Log.warn("Continuing with malformed native projects");
140
+ }
141
+ }
142
+
143
+ //# sourceMappingURL=clearNativeFolder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/prebuild/clearNativeFolder.ts"],"sourcesContent":["import { AndroidConfig, IOSConfig, ModPlatform } from '@expo/config-plugins';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport * as Log from '../log';\nimport { directoryExistsAsync } from '../utils/dir';\nimport { isInteractive } from '../utils/interactive';\nimport { logNewSection } from '../utils/ora';\nimport { confirmAsync } from '../utils/prompts';\n\ntype ArbitraryPlatform = ModPlatform | string;\n\n/** Delete the input native folders and print a loading step. */\nexport async function clearNativeFolder(projectRoot: string, folders: string[]) {\n const step = logNewSection(`Clearing ${folders.join(', ')}`);\n try {\n await Promise.all(\n folders.map((folderName) =>\n fs.promises.rm(path.join(projectRoot, folderName), {\n recursive: true,\n force: true,\n })\n )\n );\n step.succeed(`Cleared ${folders.join(', ')} code`);\n } catch (error: any) {\n step.fail(`Failed to delete ${folders.join(', ')} code: ${error.message}`);\n throw error;\n }\n}\n\n/**\n * Returns `true` if a certain subset of required Android project files are intact.\n *\n * This isn't perfect but it serves the purpose of indicating that the user should\n * be warned to nuke the project files, most commonly when git is cleared and the root folder\n * remains in memory.\n */\nexport async function hasRequiredAndroidFilesAsync(projectRoot: string): Promise<boolean> {\n try {\n await Promise.all([\n AndroidConfig.Paths.getAppBuildGradleAsync(projectRoot),\n AndroidConfig.Paths.getProjectBuildGradleAsync(projectRoot),\n AndroidConfig.Paths.getAndroidManifestAsync(projectRoot),\n AndroidConfig.Paths.getMainApplicationAsync(projectRoot),\n ]);\n return true;\n } catch {\n return false;\n }\n}\n\n/** Returns `true` if a certain subset of required iOS project files are intact. */\nexport async function hasRequiredIOSFilesAsync(projectRoot: string) {\n try {\n // If any of the following required files are missing, then the project is malformed.\n await Promise.all([\n IOSConfig.Paths.getAllXcodeProjectPaths(projectRoot),\n IOSConfig.Paths.getAllPBXProjectPaths(projectRoot),\n ]);\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Filter out platforms that do not have an existing platform folder.\n * If the user wants to validate that neither of ['ios', 'android'] are malformed then we should\n * first check that both `ios` and `android` folders exist.\n *\n * This optimization prevents us from prompting to clear a \"malformed\" project that doesn't exist yet.\n */\nasync function filterPlatformsThatDoNotExistAsync(\n projectRoot: string,\n platforms: ArbitraryPlatform[]\n): Promise<ArbitraryPlatform[]> {\n const valid = await Promise.all(\n platforms.map(async (platform) => {\n if (await directoryExistsAsync(path.join(projectRoot, platform))) {\n return platform;\n }\n return null;\n })\n );\n return valid.filter(Boolean) as ArbitraryPlatform[];\n}\n\n/** Get a list of native platforms that have existing directories which contain malformed projects. */\nexport async function getMalformedNativeProjectsAsync(\n projectRoot: string,\n platforms: ArbitraryPlatform[]\n): Promise<ArbitraryPlatform[]> {\n const VERIFIERS: Record<ArbitraryPlatform, (root: string) => Promise<boolean>> = {\n android: hasRequiredAndroidFilesAsync,\n ios: hasRequiredIOSFilesAsync,\n };\n\n const checkablePlatforms = platforms.filter((platform) => platform in VERIFIERS);\n const checkPlatforms = await filterPlatformsThatDoNotExistAsync(projectRoot, checkablePlatforms);\n return (\n await Promise.all(\n checkPlatforms.map(async (platform) => {\n if (!VERIFIERS[platform]) {\n return false;\n }\n if (await VERIFIERS[platform](projectRoot)) {\n return false;\n }\n return platform;\n })\n )\n ).filter(Boolean) as ArbitraryPlatform[];\n}\n\nexport async function promptToClearMalformedNativeProjectsAsync(\n projectRoot: string,\n checkPlatforms: ArbitraryPlatform[]\n) {\n const platforms = await getMalformedNativeProjectsAsync(projectRoot, checkPlatforms);\n\n if (!platforms.length) {\n return;\n }\n\n const displayPlatforms = platforms.map((platform) => chalk.cyan(platform));\n // Prompt which platforms to reset.\n const message =\n platforms.length > 1\n ? `The ${displayPlatforms[0]} and ${displayPlatforms[1]} projects are malformed`\n : `The ${displayPlatforms[0]} project is malformed`;\n\n if (\n // If the process is non-interactive, default to clearing the malformed native project.\n // This would only happen on re-running prebuild.\n !isInteractive() ||\n // Prompt to clear the native folders.\n (await confirmAsync({\n message: `${message}, would you like to clear the project files and reinitialize them?`,\n initial: true,\n }))\n ) {\n if (!isInteractive()) {\n Log.warn(`${message}, project files will be cleared and reinitialized.`);\n }\n await clearNativeFolder(projectRoot, platforms);\n } else {\n // Warn the user that the process may fail.\n Log.warn('Continuing with malformed native projects');\n }\n}\n"],"names":["clearNativeFolder","hasRequiredAndroidFilesAsync","hasRequiredIOSFilesAsync","getMalformedNativeProjectsAsync","promptToClearMalformedNativeProjectsAsync","Log","projectRoot","folders","step","logNewSection","join","Promise","all","map","folderName","fs","promises","rm","path","recursive","force","succeed","error","fail","message","AndroidConfig","Paths","getAppBuildGradleAsync","getProjectBuildGradleAsync","getAndroidManifestAsync","getMainApplicationAsync","IOSConfig","getAllXcodeProjectPaths","getAllPBXProjectPaths","filterPlatformsThatDoNotExistAsync","platforms","valid","platform","directoryExistsAsync","filter","Boolean","VERIFIERS","android","ios","checkablePlatforms","checkPlatforms","length","displayPlatforms","chalk","cyan","isInteractive","confirmAsync","initial","warn"],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.configureProjectAsync = configureProjectAsync;
6
+ var _configPlugins = require("@expo/config-plugins");
7
+ var _prebuildConfig = require("@expo/prebuild-config");
8
+ var _configAsync = require("../config/configAsync");
9
+ var Log = _interopRequireWildcard(require("../log"));
10
+ var _env = require("../utils/env");
11
+ var _getOrPromptApplicationId = require("../utils/getOrPromptApplicationId");
12
+ function _interopRequireWildcard(obj) {
13
+ if (obj && obj.__esModule) {
14
+ return obj;
15
+ } else {
16
+ var newObj = {};
17
+ if (obj != null) {
18
+ for(var key in obj){
19
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
20
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
21
+ if (desc.get || desc.set) {
22
+ Object.defineProperty(newObj, key, desc);
23
+ } else {
24
+ newObj[key] = obj[key];
25
+ }
26
+ }
27
+ }
28
+ }
29
+ newObj.default = obj;
30
+ return newObj;
31
+ }
32
+ }
33
+ async function configureProjectAsync(projectRoot, { platforms , exp }) {
34
+ let bundleIdentifier;
35
+ if (platforms.includes("ios")) {
36
+ // Check bundle ID before reading the config because it may mutate the config if the user is prompted to define it.
37
+ bundleIdentifier = await (0, _getOrPromptApplicationId).getOrPromptForBundleIdentifier(projectRoot, exp);
38
+ }
39
+ let packageName;
40
+ if (platforms.includes("android")) {
41
+ // Check package before reading the config because it may mutate the config if the user is prompted to define it.
42
+ packageName = await (0, _getOrPromptApplicationId).getOrPromptForPackage(projectRoot, exp);
43
+ }
44
+ let { exp: config } = await (0, _prebuildConfig).getPrebuildConfigAsync(projectRoot, {
45
+ platforms,
46
+ packageName,
47
+ bundleIdentifier
48
+ });
49
+ // compile all plugins and mods
50
+ config = await (0, _configPlugins).compileModsAsync(config, {
51
+ projectRoot,
52
+ platforms,
53
+ assertMissingModProviders: false
54
+ });
55
+ if (_env.env.EXPO_DEBUG) {
56
+ Log.log();
57
+ Log.log("Evaluated config:");
58
+ (0, _configAsync).logConfig(config);
59
+ Log.log();
60
+ }
61
+ return config;
62
+ }
63
+
64
+ //# sourceMappingURL=configureProjectAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/prebuild/configureProjectAsync.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport { compileModsAsync, ModPlatform } from '@expo/config-plugins';\nimport { getPrebuildConfigAsync } from '@expo/prebuild-config';\n\nimport { logConfig } from '../config/configAsync';\nimport * as Log from '../log';\nimport { env } from '../utils/env';\nimport {\n getOrPromptForBundleIdentifier,\n getOrPromptForPackage,\n} from '../utils/getOrPromptApplicationId';\n\nexport async function configureProjectAsync(\n projectRoot: string,\n {\n platforms,\n exp,\n }: {\n platforms: ModPlatform[];\n exp?: ExpoConfig;\n }\n): Promise<ExpoConfig> {\n let bundleIdentifier: string | undefined;\n if (platforms.includes('ios')) {\n // Check bundle ID before reading the config because it may mutate the config if the user is prompted to define it.\n bundleIdentifier = await getOrPromptForBundleIdentifier(projectRoot, exp);\n }\n let packageName: string | undefined;\n if (platforms.includes('android')) {\n // Check package before reading the config because it may mutate the config if the user is prompted to define it.\n packageName = await getOrPromptForPackage(projectRoot, exp);\n }\n\n let { exp: config } = await getPrebuildConfigAsync(projectRoot, {\n platforms,\n packageName,\n bundleIdentifier,\n });\n\n // compile all plugins and mods\n config = await compileModsAsync(config, {\n projectRoot,\n platforms,\n assertMissingModProviders: false,\n });\n\n if (env.EXPO_DEBUG) {\n Log.log();\n Log.log('Evaluated config:');\n logConfig(config);\n Log.log();\n }\n\n return config;\n}\n"],"names":["configureProjectAsync","Log","projectRoot","platforms","exp","bundleIdentifier","includes","getOrPromptForBundleIdentifier","packageName","getOrPromptForPackage","config","getPrebuildConfigAsync","compileModsAsync","assertMissingModProviders","env","EXPO_DEBUG","log","logConfig"],"mappings":"AAAA;;;;QAYsBA,qBAAqB,GAArBA,qBAAqB;AAXG,IAAA,cAAsB,WAAtB,sBAAsB,CAAA;AAC7B,IAAA,eAAuB,WAAvB,uBAAuB,CAAA;AAEpC,IAAA,YAAuB,WAAvB,uBAAuB,CAAA;AACrCC,IAAAA,GAAG,mCAAM,QAAQ,EAAd;AACK,IAAA,IAAc,WAAd,cAAc,CAAA;AAI3B,IAAA,yBAAmC,WAAnC,mCAAmC,CAAA;;;;;;;;;;;;;;;;;;;;;;AAEnC,eAAeD,qBAAqB,CACzCE,WAAmB,EACnB,EACEC,SAAS,CAAA,EACTC,GAAG,CAAA,EAIJ,EACoB;IACrB,IAAIC,gBAAgB,AAAoB,AAAC;IACzC,IAAIF,SAAS,CAACG,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC7B,mHAAmH;QACnHD,gBAAgB,GAAG,MAAME,CAAAA,GAAAA,yBAA8B,AAAkB,CAAA,+BAAlB,CAACL,WAAW,EAAEE,GAAG,CAAC,CAAC;KAC3E;IACD,IAAII,WAAW,AAAoB,AAAC;IACpC,IAAIL,SAAS,CAACG,QAAQ,CAAC,SAAS,CAAC,EAAE;QACjC,iHAAiH;QACjHE,WAAW,GAAG,MAAMC,CAAAA,GAAAA,yBAAqB,AAAkB,CAAA,sBAAlB,CAACP,WAAW,EAAEE,GAAG,CAAC,CAAC;KAC7D;IAED,IAAI,EAAEA,GAAG,EAAEM,MAAM,CAAA,EAAE,GAAG,MAAMC,CAAAA,GAAAA,eAAsB,AAIhD,CAAA,uBAJgD,CAACT,WAAW,EAAE;QAC9DC,SAAS;QACTK,WAAW;QACXH,gBAAgB;KACjB,CAAC,AAAC;IAEH,+BAA+B;IAC/BK,MAAM,GAAG,MAAME,CAAAA,GAAAA,cAAgB,AAI7B,CAAA,iBAJ6B,CAACF,MAAM,EAAE;QACtCR,WAAW;QACXC,SAAS;QACTU,yBAAyB,EAAE,KAAK;KACjC,CAAC,CAAC;IAEH,IAAIC,IAAG,IAAA,CAACC,UAAU,EAAE;QAClBd,GAAG,CAACe,GAAG,EAAE,CAAC;QACVf,GAAG,CAACe,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC7BC,CAAAA,GAAAA,YAAS,AAAQ,CAAA,UAAR,CAACP,MAAM,CAAC,CAAC;QAClBT,GAAG,CAACe,GAAG,EAAE,CAAC;KACX;IAED,OAAON,MAAM,CAAC;CACf"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.createCopyFilesSuccessMessage = createCopyFilesSuccessMessage;
6
+ exports.copyTemplateFiles = copyTemplateFiles;
7
+ var _chalk = _interopRequireDefault(require("chalk"));
8
+ var _fs = _interopRequireDefault(require("fs"));
9
+ var _path = _interopRequireDefault(require("path"));
10
+ var _dir = require("../utils/dir");
11
+ var _mergeGitIgnorePaths = require("../utils/mergeGitIgnorePaths");
12
+ function _interopRequireDefault(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ default: obj
15
+ };
16
+ }
17
+ const debug = require("debug")("expo:prebuild:copyTemplateFiles");
18
+ /**
19
+ * Return true if the given platforms all have an internal `.gitignore` file.
20
+ *
21
+ * @param projectRoot
22
+ * @param platforms
23
+ */ function hasAllPlatformSpecificGitIgnores(projectRoot, platforms) {
24
+ return platforms.reduce((p, platform)=>p && _fs.default.existsSync(_path.default.join(projectRoot, platform, ".gitignore"))
25
+ , true);
26
+ }
27
+ function createCopyFilesSuccessMessage(platforms, { skippedPaths , gitignore }) {
28
+ const pluralized = platforms.length > 1 ? "directories" : "directory";
29
+ let message = `Created native ${pluralized}`;
30
+ if (skippedPaths.length) {
31
+ message += _chalk.default.dim(` | reusing ${skippedPaths.map((path)=>_chalk.default.bold(`/${path}`)
32
+ ).join(", ")}`);
33
+ }
34
+ if (!gitignore) {
35
+ // Add no additional message...
36
+ } else if (!gitignore.didMerge) {
37
+ message += _chalk.default.dim(` | reusing gitignore`);
38
+ } else if (gitignore.didMerge && gitignore.didClear) {
39
+ // This is legacy and for non-standard templates. The Expo template adds gitignores to the platform folders.
40
+ message += _chalk.default.dim(` | updated gitignore`);
41
+ }
42
+ return message;
43
+ }
44
+ function copyTemplateFiles(projectRoot, { templateDirectory , platforms }) {
45
+ const copiedPaths = [];
46
+ const skippedPaths = [];
47
+ platforms.forEach((copyFilePath)=>{
48
+ const projectPath = _path.default.join(projectRoot, copyFilePath);
49
+ if (_fs.default.existsSync(projectPath)) {
50
+ skippedPaths.push(copyFilePath);
51
+ } else {
52
+ copiedPaths.push(copyFilePath);
53
+ (0, _dir).copySync(_path.default.join(templateDirectory, copyFilePath), projectPath);
54
+ }
55
+ });
56
+ const hasPlatformSpecificGitIgnores = hasAllPlatformSpecificGitIgnores(templateDirectory, platforms);
57
+ debug(`All platforms have an internal gitignore: ${hasPlatformSpecificGitIgnores}`);
58
+ // TODO: Remove gitignore modifications -- maybe move to `npx expo-doctor`
59
+ const gitignore = hasPlatformSpecificGitIgnores ? null : (0, _mergeGitIgnorePaths).mergeGitIgnorePaths(_path.default.join(projectRoot, ".gitignore"), _path.default.join(templateDirectory, ".gitignore"));
60
+ return {
61
+ copiedPaths,
62
+ skippedPaths,
63
+ gitignore
64
+ };
65
+ }
66
+
67
+ //# sourceMappingURL=copyTemplateFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/prebuild/copyTemplateFiles.ts"],"sourcesContent":["import { ModPlatform } from '@expo/config-plugins';\nimport { MergeResults } from '@expo/config-plugins/build/utils/generateCode';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { copySync } from '../utils/dir';\nimport { mergeGitIgnorePaths } from '../utils/mergeGitIgnorePaths';\n\nconst debug = require('debug')('expo:prebuild:copyTemplateFiles') as typeof console.log;\n\ntype CopyFilesResults = {\n /** Merge results for the root `.gitignore` file */\n gitignore: MergeResults | null;\n /** List of file paths that were copied from the template into the project. */\n copiedPaths: string[];\n /** List of file paths that were skipped due to a number of factors. */\n skippedPaths: string[];\n};\n\n/**\n * Return true if the given platforms all have an internal `.gitignore` file.\n *\n * @param projectRoot\n * @param platforms\n */\nfunction hasAllPlatformSpecificGitIgnores(projectRoot: string, platforms: ModPlatform[]): boolean {\n return platforms.reduce<boolean>(\n (p, platform) => p && fs.existsSync(path.join(projectRoot, platform, '.gitignore')),\n true\n );\n}\n\n/** Create a custom log message based on the copy file results. */\nexport function createCopyFilesSuccessMessage(\n platforms: ModPlatform[],\n { skippedPaths, gitignore }: CopyFilesResults\n): string {\n const pluralized = platforms.length > 1 ? 'directories' : 'directory';\n let message = `Created native ${pluralized}`;\n\n if (skippedPaths.length) {\n message += chalk.dim(\n ` | reusing ${skippedPaths.map((path) => chalk.bold(`/${path}`)).join(', ')}`\n );\n }\n if (!gitignore) {\n // Add no additional message...\n } else if (!gitignore.didMerge) {\n message += chalk.dim(` | reusing gitignore`);\n } else if (gitignore.didMerge && gitignore.didClear) {\n // This is legacy and for non-standard templates. The Expo template adds gitignores to the platform folders.\n message += chalk.dim(` | updated gitignore`);\n }\n return message;\n}\n\n/** Copy template files into the project and possibly merge the `.gitignore` files. */\nexport function copyTemplateFiles(\n projectRoot: string,\n {\n templateDirectory,\n platforms,\n }: {\n /** File path to the template directory. */\n templateDirectory: string;\n /** List of platforms to copy against. */\n platforms: ModPlatform[];\n }\n): CopyFilesResults {\n const copiedPaths: string[] = [];\n const skippedPaths: string[] = [];\n\n platforms.forEach((copyFilePath) => {\n const projectPath = path.join(projectRoot, copyFilePath);\n if (fs.existsSync(projectPath)) {\n skippedPaths.push(copyFilePath);\n } else {\n copiedPaths.push(copyFilePath);\n copySync(path.join(templateDirectory, copyFilePath), projectPath);\n }\n });\n\n const hasPlatformSpecificGitIgnores = hasAllPlatformSpecificGitIgnores(\n templateDirectory,\n platforms\n );\n debug(`All platforms have an internal gitignore: ${hasPlatformSpecificGitIgnores}`);\n\n // TODO: Remove gitignore modifications -- maybe move to `npx expo-doctor`\n const gitignore = hasPlatformSpecificGitIgnores\n ? null\n : mergeGitIgnorePaths(\n path.join(projectRoot, '.gitignore'),\n path.join(templateDirectory, '.gitignore')\n );\n\n return { copiedPaths, skippedPaths, gitignore };\n}\n"],"names":["createCopyFilesSuccessMessage","copyTemplateFiles","debug","require","hasAllPlatformSpecificGitIgnores","projectRoot","platforms","reduce","p","platform","fs","existsSync","path","join","skippedPaths","gitignore","pluralized","length","message","chalk","dim","map","bold","didMerge","didClear","templateDirectory","copiedPaths","forEach","copyFilePath","projectPath","push","copySync","hasPlatformSpecificGitIgnores","mergeGitIgnorePaths"],"mappings":"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"}