@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,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.getSessionUsingBrowserAuthFlowAsync = getSessionUsingBrowserAuthFlowAsync;
6
+ var _assert = _interopRequireDefault(require("assert"));
7
+ var _betterOpn = _interopRequireDefault(require("better-opn"));
8
+ var _http = _interopRequireDefault(require("http"));
9
+ var _querystring = _interopRequireDefault(require("querystring"));
10
+ var Log = _interopRequireWildcard(require("../../log"));
11
+ function _interopRequireDefault(obj) {
12
+ return obj && obj.__esModule ? obj : {
13
+ default: obj
14
+ };
15
+ }
16
+ function _interopRequireWildcard(obj) {
17
+ if (obj && obj.__esModule) {
18
+ return obj;
19
+ } else {
20
+ var newObj = {};
21
+ if (obj != null) {
22
+ for(var key in obj){
23
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
24
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
25
+ if (desc.get || desc.set) {
26
+ Object.defineProperty(newObj, key, desc);
27
+ } else {
28
+ newObj[key] = obj[key];
29
+ }
30
+ }
31
+ }
32
+ }
33
+ newObj.default = obj;
34
+ return newObj;
35
+ }
36
+ }
37
+ const successBody = `
38
+ <!DOCTYPE html>
39
+ <html lang="en">
40
+ <head>
41
+ <title>Expo SSO Login</title>
42
+ <meta charset="utf-8">
43
+ <style type="text/css">
44
+ html {
45
+ margin: 0;
46
+ padding: 0
47
+ }
48
+
49
+ body {
50
+ background-color: #fff;
51
+ font-family: Tahoma,Verdana;
52
+ font-size: 16px;
53
+ color: #000;
54
+ max-width: 100%;
55
+ box-sizing: border-box;
56
+ padding: .5rem;
57
+ margin: 1em;
58
+ overflow-wrap: break-word
59
+ }
60
+ </style>
61
+ </head>
62
+ <body>
63
+ SSO login complete. You may now close this tab and return to the command prompt.
64
+ </body>
65
+ </html>`;
66
+ async function getSessionUsingBrowserAuthFlowAsync({ expoWebsiteUrl }) {
67
+ const scheme = "http";
68
+ const hostname = "localhost";
69
+ const path = "/auth/callback";
70
+ const buildExpoSsoLoginUrl = (port)=>{
71
+ const data = {
72
+ app_redirect_uri: `${scheme}://${hostname}:${port}${path}`
73
+ };
74
+ const params = _querystring.default.stringify(data);
75
+ return `${expoWebsiteUrl}/sso-login?${params}`;
76
+ };
77
+ // Start server and begin auth flow
78
+ const executeAuthFlow = ()=>{
79
+ return new Promise(async (resolve, reject)=>{
80
+ const connections = new Set();
81
+ const server = _http.default.createServer((request, response)=>{
82
+ try {
83
+ var ref;
84
+ if (!(request.method === "GET" && ((ref = request.url) == null ? void 0 : ref.includes(path)))) {
85
+ throw new Error("Unexpected SSO login response.");
86
+ }
87
+ const url = new URL(request.url, `http:${request.headers.host}`);
88
+ const sessionSecret = url.searchParams.get("session_secret");
89
+ if (!sessionSecret) {
90
+ throw new Error("Request missing session_secret search parameter.");
91
+ }
92
+ resolve(sessionSecret);
93
+ response.writeHead(200, {
94
+ "Content-Type": "text/html"
95
+ });
96
+ response.write(successBody);
97
+ response.end();
98
+ } catch (error) {
99
+ reject(error);
100
+ } finally{
101
+ server.close();
102
+ // Ensure that the server shuts down
103
+ for (const connection of connections){
104
+ connection.destroy();
105
+ }
106
+ }
107
+ });
108
+ server.listen(0, hostname, ()=>{
109
+ Log.log("Waiting for browser login...");
110
+ const address = server.address();
111
+ (0, _assert).default(address !== null && typeof address === "object", "Server address and port should be set after listening has begun");
112
+ const port = address.port;
113
+ const authorizeUrl = buildExpoSsoLoginUrl(port);
114
+ (0, _betterOpn).default(authorizeUrl);
115
+ });
116
+ server.on("connection", (connection)=>{
117
+ connections.add(connection);
118
+ connection.on("close", ()=>{
119
+ connections.delete(connection);
120
+ });
121
+ });
122
+ });
123
+ };
124
+ return await executeAuthFlow();
125
+ }
126
+
127
+ //# sourceMappingURL=expoSsoLauncher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/api/user/expoSsoLauncher.ts"],"sourcesContent":["import assert from 'assert';\nimport openBrowserAsync from 'better-opn';\nimport http from 'http';\nimport { Socket } from 'node:net';\nimport querystring from 'querystring';\n\nimport * as Log from '../../log';\n\nconst successBody = `\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <title>Expo SSO Login</title>\n <meta charset=\"utf-8\">\n <style type=\"text/css\">\n html {\n margin: 0;\n padding: 0\n }\n\n body {\n background-color: #fff;\n font-family: Tahoma,Verdana;\n font-size: 16px;\n color: #000;\n max-width: 100%;\n box-sizing: border-box;\n padding: .5rem;\n margin: 1em;\n overflow-wrap: break-word\n }\n </style>\n</head>\n<body>\n SSO login complete. You may now close this tab and return to the command prompt.\n</body>\n</html>`;\n\nexport async function getSessionUsingBrowserAuthFlowAsync({\n expoWebsiteUrl,\n}: {\n expoWebsiteUrl: string;\n}): Promise<string> {\n const scheme = 'http';\n const hostname = 'localhost';\n const path = '/auth/callback';\n\n const buildExpoSsoLoginUrl = (port: number): string => {\n const data = {\n app_redirect_uri: `${scheme}://${hostname}:${port}${path}`,\n };\n const params = querystring.stringify(data);\n return `${expoWebsiteUrl}/sso-login?${params}`;\n };\n\n // Start server and begin auth flow\n const executeAuthFlow = (): Promise<string> => {\n return new Promise<string>(async (resolve, reject) => {\n const connections = new Set<Socket>();\n\n const server = http.createServer(\n (request: http.IncomingMessage, response: http.ServerResponse) => {\n try {\n if (!(request.method === 'GET' && request.url?.includes(path))) {\n throw new Error('Unexpected SSO login response.');\n }\n const url = new URL(request.url, `http:${request.headers.host}`);\n const sessionSecret = url.searchParams.get('session_secret');\n\n if (!sessionSecret) {\n throw new Error('Request missing session_secret search parameter.');\n }\n resolve(sessionSecret);\n response.writeHead(200, { 'Content-Type': 'text/html' });\n response.write(successBody);\n response.end();\n } catch (error) {\n reject(error);\n } finally {\n server.close();\n // Ensure that the server shuts down\n for (const connection of connections) {\n connection.destroy();\n }\n }\n }\n );\n\n server.listen(0, hostname, () => {\n Log.log('Waiting for browser login...');\n\n const address = server.address();\n assert(\n address !== null && typeof address === 'object',\n 'Server address and port should be set after listening has begun'\n );\n const port = address.port;\n const authorizeUrl = buildExpoSsoLoginUrl(port);\n openBrowserAsync(authorizeUrl);\n });\n\n server.on('connection', (connection) => {\n connections.add(connection);\n\n connection.on('close', () => {\n connections.delete(connection);\n });\n });\n });\n };\n\n return await executeAuthFlow();\n}\n"],"names":["getSessionUsingBrowserAuthFlowAsync","Log","successBody","expoWebsiteUrl","scheme","hostname","path","buildExpoSsoLoginUrl","port","data","app_redirect_uri","params","querystring","stringify","executeAuthFlow","Promise","resolve","reject","connections","Set","server","http","createServer","request","response","method","url","includes","Error","URL","headers","host","sessionSecret","searchParams","get","writeHead","write","end","error","close","connection","destroy","listen","log","address","assert","authorizeUrl","openBrowserAsync","on","add","delete"],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.retryUsernamePasswordAuthWithOTPAsync = retryUsernamePasswordAuthWithOTPAsync;
6
+ exports.UserSecondFactorDeviceMethod = void 0;
7
+ var _assert = _interopRequireDefault(require("assert"));
8
+ var _chalk = _interopRequireDefault(require("chalk"));
9
+ var _user = require("./user");
10
+ var Log = _interopRequireWildcard(require("../../log"));
11
+ var _errors = require("../../utils/errors");
12
+ var _link = require("../../utils/link");
13
+ var _prompts = require("../../utils/prompts");
14
+ var _client = require("../rest/client");
15
+ function _interopRequireDefault(obj) {
16
+ return obj && obj.__esModule ? obj : {
17
+ default: obj
18
+ };
19
+ }
20
+ function _interopRequireWildcard(obj) {
21
+ if (obj && obj.__esModule) {
22
+ return obj;
23
+ } else {
24
+ var newObj = {};
25
+ if (obj != null) {
26
+ for(var key in obj){
27
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
28
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
29
+ if (desc.get || desc.set) {
30
+ Object.defineProperty(newObj, key, desc);
31
+ } else {
32
+ newObj[key] = obj[key];
33
+ }
34
+ }
35
+ }
36
+ }
37
+ newObj.default = obj;
38
+ return newObj;
39
+ }
40
+ }
41
+ var UserSecondFactorDeviceMethod;
42
+ exports.UserSecondFactorDeviceMethod = UserSecondFactorDeviceMethod;
43
+ (function(UserSecondFactorDeviceMethod) {
44
+ UserSecondFactorDeviceMethod["AUTHENTICATOR"] = "authenticator";
45
+ UserSecondFactorDeviceMethod["SMS"] = "sms";
46
+ })(UserSecondFactorDeviceMethod || (exports.UserSecondFactorDeviceMethod = UserSecondFactorDeviceMethod = {}));
47
+ const nonInteractiveHelp = `Use the EXPO_TOKEN environment variable to authenticate in CI (${(0, _link).learnMore("https://docs.expo.dev/accounts/programmatic-access/")})`;
48
+ /**
49
+ * Prompt for an OTP with the option to cancel the question by answering empty (pressing return key).
50
+ */ async function promptForOTPAsync(cancelBehavior) {
51
+ const enterMessage = cancelBehavior === "cancel" ? _chalk.default`press {bold Enter} to cancel` : _chalk.default`press {bold Enter} for more options`;
52
+ const { otp } = await (0, _prompts).promptAsync({
53
+ type: "text",
54
+ name: "otp",
55
+ message: `One-time password or backup code (${enterMessage}):`
56
+ }, {
57
+ nonInteractiveHelp
58
+ });
59
+ return otp || null;
60
+ }
61
+ /**
62
+ * Prompt for user to choose a backup OTP method. If selected method is SMS, a request
63
+ * for a new OTP will be sent to that method. Then, prompt for the OTP, and retry the user login.
64
+ */ async function promptForBackupOTPAsync(username, password, secondFactorDevices) {
65
+ const nonPrimarySecondFactorDevices = secondFactorDevices.filter((device)=>!device.is_primary
66
+ );
67
+ if (nonPrimarySecondFactorDevices.length === 0) {
68
+ throw new _errors.CommandError("No other second-factor devices set up. Ensure you have set up and certified a backup device.");
69
+ }
70
+ const hasAuthenticatorSecondFactorDevice = nonPrimarySecondFactorDevices.find((device)=>device.method === "authenticator"
71
+ );
72
+ const smsNonPrimarySecondFactorDevices = nonPrimarySecondFactorDevices.filter((device)=>device.method === "sms"
73
+ );
74
+ const authenticatorChoiceSentinel = -1;
75
+ const cancelChoiceSentinel = -2;
76
+ const deviceChoices = smsNonPrimarySecondFactorDevices.map((device, idx)=>({
77
+ title: device.sms_phone_number,
78
+ value: idx
79
+ })
80
+ );
81
+ if (hasAuthenticatorSecondFactorDevice) {
82
+ deviceChoices.push({
83
+ title: "Authenticator",
84
+ value: authenticatorChoiceSentinel
85
+ });
86
+ }
87
+ deviceChoices.push({
88
+ title: "Cancel",
89
+ value: cancelChoiceSentinel
90
+ });
91
+ const selectedValue = await (0, _prompts).selectAsync("Select a second-factor device:", deviceChoices, {
92
+ nonInteractiveHelp
93
+ });
94
+ if (selectedValue === cancelChoiceSentinel) {
95
+ return null;
96
+ } else if (selectedValue === authenticatorChoiceSentinel) {
97
+ return await promptForOTPAsync("cancel");
98
+ }
99
+ const device1 = smsNonPrimarySecondFactorDevices[selectedValue];
100
+ await (0, _client).fetchAsync("auth/send-sms-otp", {
101
+ method: "POST",
102
+ body: JSON.stringify({
103
+ username,
104
+ password,
105
+ secondFactorDeviceID: device1.id
106
+ })
107
+ });
108
+ return await promptForOTPAsync("cancel");
109
+ }
110
+ async function retryUsernamePasswordAuthWithOTPAsync(username, password, metadata) {
111
+ const { secondFactorDevices , smsAutomaticallySent } = metadata;
112
+ (0, _assert).default(secondFactorDevices !== undefined && smsAutomaticallySent !== undefined, `Malformed OTP error metadata: ${metadata}`);
113
+ const primaryDevice = secondFactorDevices.find((device)=>device.is_primary
114
+ );
115
+ let otp = null;
116
+ if (smsAutomaticallySent) {
117
+ (0, _assert).default(primaryDevice, "OTP should only automatically be sent when there is a primary device");
118
+ Log.log(`One-time password was sent to the phone number ending in ${primaryDevice.sms_phone_number}.`);
119
+ otp = await promptForOTPAsync("menu");
120
+ }
121
+ if ((primaryDevice == null ? void 0 : primaryDevice.method) === "authenticator") {
122
+ Log.log("One-time password from authenticator required.");
123
+ otp = await promptForOTPAsync("menu");
124
+ }
125
+ // user bailed on case 1 or 2, wants to move to case 3
126
+ if (!otp) {
127
+ otp = await promptForBackupOTPAsync(username, password, secondFactorDevices);
128
+ }
129
+ if (!otp) {
130
+ throw new _errors.AbortCommandError();
131
+ }
132
+ await (0, _user).loginAsync({
133
+ username,
134
+ password,
135
+ otp
136
+ });
137
+ }
138
+
139
+ //# sourceMappingURL=otp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/api/user/otp.ts"],"sourcesContent":["import assert from 'assert';\nimport chalk from 'chalk';\n\nimport { loginAsync } from './user';\nimport * as Log from '../../log';\nimport { AbortCommandError, CommandError } from '../../utils/errors';\nimport { learnMore } from '../../utils/link';\nimport { promptAsync, selectAsync } from '../../utils/prompts';\nimport { fetchAsync } from '../rest/client';\n\nexport enum UserSecondFactorDeviceMethod {\n AUTHENTICATOR = 'authenticator',\n SMS = 'sms',\n}\n\n/** Device properties for 2FA */\nexport type SecondFactorDevice = {\n id: string;\n method: UserSecondFactorDeviceMethod;\n sms_phone_number: string | null;\n is_primary: boolean;\n};\n\nconst nonInteractiveHelp = `Use the EXPO_TOKEN environment variable to authenticate in CI (${learnMore(\n 'https://docs.expo.dev/accounts/programmatic-access/'\n)})`;\n\n/**\n * Prompt for an OTP with the option to cancel the question by answering empty (pressing return key).\n */\nasync function promptForOTPAsync(cancelBehavior: 'cancel' | 'menu'): Promise<string | null> {\n const enterMessage =\n cancelBehavior === 'cancel'\n ? chalk`press {bold Enter} to cancel`\n : chalk`press {bold Enter} for more options`;\n const { otp } = await promptAsync(\n {\n type: 'text',\n name: 'otp',\n message: `One-time password or backup code (${enterMessage}):`,\n },\n { nonInteractiveHelp }\n );\n return otp || null;\n}\n\n/**\n * Prompt for user to choose a backup OTP method. If selected method is SMS, a request\n * for a new OTP will be sent to that method. Then, prompt for the OTP, and retry the user login.\n */\nasync function promptForBackupOTPAsync(\n username: string,\n password: string,\n secondFactorDevices: SecondFactorDevice[]\n): Promise<string | null> {\n const nonPrimarySecondFactorDevices = secondFactorDevices.filter((device) => !device.is_primary);\n\n if (nonPrimarySecondFactorDevices.length === 0) {\n throw new CommandError(\n 'No other second-factor devices set up. Ensure you have set up and certified a backup device.'\n );\n }\n\n const hasAuthenticatorSecondFactorDevice = nonPrimarySecondFactorDevices.find(\n (device) => device.method === UserSecondFactorDeviceMethod.AUTHENTICATOR\n );\n\n const smsNonPrimarySecondFactorDevices = nonPrimarySecondFactorDevices.filter(\n (device) => device.method === UserSecondFactorDeviceMethod.SMS\n );\n\n const authenticatorChoiceSentinel = -1;\n const cancelChoiceSentinel = -2;\n\n const deviceChoices = smsNonPrimarySecondFactorDevices.map((device, idx) => ({\n title: device.sms_phone_number!,\n value: idx,\n }));\n\n if (hasAuthenticatorSecondFactorDevice) {\n deviceChoices.push({\n title: 'Authenticator',\n value: authenticatorChoiceSentinel,\n });\n }\n\n deviceChoices.push({\n title: 'Cancel',\n value: cancelChoiceSentinel,\n });\n\n const selectedValue = await selectAsync('Select a second-factor device:', deviceChoices, {\n nonInteractiveHelp,\n });\n if (selectedValue === cancelChoiceSentinel) {\n return null;\n } else if (selectedValue === authenticatorChoiceSentinel) {\n return await promptForOTPAsync('cancel');\n }\n\n const device = smsNonPrimarySecondFactorDevices[selectedValue];\n\n await fetchAsync('auth/send-sms-otp', {\n method: 'POST',\n body: JSON.stringify({\n username,\n password,\n secondFactorDeviceID: device.id,\n }),\n });\n\n return await promptForOTPAsync('cancel');\n}\n\n/**\n * Handle the special case error indicating that a second-factor is required for\n * authentication.\n *\n * There are three cases we need to handle:\n * 1. User's primary second-factor device was SMS, OTP was automatically sent by the server to that\n * device already. In this case we should just prompt for the SMS OTP (or backup code), which the\n * user should be receiving shortly. We should give the user a way to cancel and the prompt and move\n * to case 3 below.\n * 2. User's primary second-factor device is authenticator. In this case we should prompt for authenticator\n * OTP (or backup code) and also give the user a way to cancel and move to case 3 below.\n * 3. User doesn't have a primary device or doesn't have access to their primary device. In this case\n * we should show a picker of the SMS devices that they can have an OTP code sent to, and when\n * the user picks one we show a prompt() for the sent OTP.\n */\nexport async function retryUsernamePasswordAuthWithOTPAsync(\n username: string,\n password: string,\n metadata: {\n secondFactorDevices?: SecondFactorDevice[];\n smsAutomaticallySent?: boolean;\n }\n): Promise<void> {\n const { secondFactorDevices, smsAutomaticallySent } = metadata;\n assert(\n secondFactorDevices !== undefined && smsAutomaticallySent !== undefined,\n `Malformed OTP error metadata: ${metadata}`\n );\n\n const primaryDevice = secondFactorDevices.find((device) => device.is_primary);\n let otp: string | null = null;\n\n if (smsAutomaticallySent) {\n assert(primaryDevice, 'OTP should only automatically be sent when there is a primary device');\n Log.log(\n `One-time password was sent to the phone number ending in ${primaryDevice.sms_phone_number}.`\n );\n otp = await promptForOTPAsync('menu');\n }\n\n if (primaryDevice?.method === UserSecondFactorDeviceMethod.AUTHENTICATOR) {\n Log.log('One-time password from authenticator required.');\n otp = await promptForOTPAsync('menu');\n }\n\n // user bailed on case 1 or 2, wants to move to case 3\n if (!otp) {\n otp = await promptForBackupOTPAsync(username, password, secondFactorDevices);\n }\n\n if (!otp) {\n throw new AbortCommandError();\n }\n\n await loginAsync({\n username,\n password,\n otp,\n });\n}\n"],"names":["retryUsernamePasswordAuthWithOTPAsync","Log","UserSecondFactorDeviceMethod","AUTHENTICATOR","SMS","nonInteractiveHelp","learnMore","promptForOTPAsync","cancelBehavior","enterMessage","chalk","otp","promptAsync","type","name","message","promptForBackupOTPAsync","username","password","secondFactorDevices","nonPrimarySecondFactorDevices","filter","device","is_primary","length","CommandError","hasAuthenticatorSecondFactorDevice","find","method","smsNonPrimarySecondFactorDevices","authenticatorChoiceSentinel","cancelChoiceSentinel","deviceChoices","map","idx","title","sms_phone_number","value","push","selectedValue","selectAsync","fetchAsync","body","JSON","stringify","secondFactorDeviceID","id","metadata","smsAutomaticallySent","assert","undefined","primaryDevice","log","AbortCommandError","loginAsync"],"mappings":"AAAA;;;;QAiIsBA,qCAAqC,GAArCA,qCAAqC;;AAjIxC,IAAA,OAAQ,kCAAR,QAAQ,EAAA;AACT,IAAA,MAAO,kCAAP,OAAO,EAAA;AAEE,IAAA,KAAQ,WAAR,QAAQ,CAAA;AACvBC,IAAAA,GAAG,mCAAM,WAAW,EAAjB;AACiC,IAAA,OAAoB,WAApB,oBAAoB,CAAA;AAC1C,IAAA,KAAkB,WAAlB,kBAAkB,CAAA;AACH,IAAA,QAAqB,WAArB,qBAAqB,CAAA;AACnC,IAAA,OAAgB,WAAhB,gBAAgB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEpC,4BAGN;;UAHWC,4BAA4B;IAA5BA,4BAA4B,CACtCC,eAAa,IAAG,eAAe;IADrBD,4BAA4B,CAEtCE,KAAG,IAAG,KAAK;GAFDF,4BAA4B,4CAA5BA,4BAA4B;AAaxC,MAAMG,kBAAkB,GAAG,CAAC,+DAA+D,EAAEC,CAAAA,GAAAA,KAAS,AAErG,CAAA,UAFqG,CACpG,qDAAqD,CACtD,CAAC,CAAC,CAAC,AAAC;AAEL;;GAEG,CACH,eAAeC,iBAAiB,CAACC,cAAiC,EAA0B;IAC1F,MAAMC,YAAY,GAChBD,cAAc,KAAK,QAAQ,GACvBE,MAAK,QAAA,CAAC,4BAA4B,CAAC,GACnCA,MAAK,QAAA,CAAC,mCAAmC,CAAC,AAAC;IACjD,MAAM,EAAEC,GAAG,CAAA,EAAE,GAAG,MAAMC,CAAAA,GAAAA,QAAW,AAOhC,CAAA,YAPgC,CAC/B;QACEC,IAAI,EAAE,MAAM;QACZC,IAAI,EAAE,KAAK;QACXC,OAAO,EAAE,CAAC,kCAAkC,EAAEN,YAAY,CAAC,EAAE,CAAC;KAC/D,EACD;QAAEJ,kBAAkB;KAAE,CACvB,AAAC;IACF,OAAOM,GAAG,IAAI,IAAI,CAAC;CACpB;AAED;;;GAGG,CACH,eAAeK,uBAAuB,CACpCC,QAAgB,EAChBC,QAAgB,EAChBC,mBAAyC,EACjB;IACxB,MAAMC,6BAA6B,GAAGD,mBAAmB,CAACE,MAAM,CAAC,CAACC,MAAM,GAAK,CAACA,MAAM,CAACC,UAAU;IAAA,CAAC,AAAC;IAEjG,IAAIH,6BAA6B,CAACI,MAAM,KAAK,CAAC,EAAE;QAC9C,MAAM,IAAIC,OAAY,aAAA,CACpB,8FAA8F,CAC/F,CAAC;KACH;IAED,MAAMC,kCAAkC,GAAGN,6BAA6B,CAACO,IAAI,CAC3E,CAACL,MAAM,GAAKA,MAAM,CAACM,MAAM,KArDX,eAAe,AAqD2C;IAAA,CACzE,AAAC;IAEF,MAAMC,gCAAgC,GAAGT,6BAA6B,CAACC,MAAM,CAC3E,CAACC,MAAM,GAAKA,MAAM,CAACM,MAAM,KAxDrB,KAAK,AAwDqD;IAAA,CAC/D,AAAC;IAEF,MAAME,2BAA2B,GAAG,CAAC,CAAC,AAAC;IACvC,MAAMC,oBAAoB,GAAG,CAAC,CAAC,AAAC;IAEhC,MAAMC,aAAa,GAAGH,gCAAgC,CAACI,GAAG,CAAC,CAACX,MAAM,EAAEY,GAAG,GAAK,CAAC;YAC3EC,KAAK,EAAEb,MAAM,CAACc,gBAAgB;YAC9BC,KAAK,EAAEH,GAAG;SACX,CAAC;IAAA,CAAC,AAAC;IAEJ,IAAIR,kCAAkC,EAAE;QACtCM,aAAa,CAACM,IAAI,CAAC;YACjBH,KAAK,EAAE,eAAe;YACtBE,KAAK,EAAEP,2BAA2B;SACnC,CAAC,CAAC;KACJ;IAEDE,aAAa,CAACM,IAAI,CAAC;QACjBH,KAAK,EAAE,QAAQ;QACfE,KAAK,EAAEN,oBAAoB;KAC5B,CAAC,CAAC;IAEH,MAAMQ,aAAa,GAAG,MAAMC,CAAAA,GAAAA,QAAW,AAErC,CAAA,YAFqC,CAAC,gCAAgC,EAAER,aAAa,EAAE;QACvF3B,kBAAkB;KACnB,CAAC,AAAC;IACH,IAAIkC,aAAa,KAAKR,oBAAoB,EAAE;QAC1C,OAAO,IAAI,CAAC;KACb,MAAM,IAAIQ,aAAa,KAAKT,2BAA2B,EAAE;QACxD,OAAO,MAAMvB,iBAAiB,CAAC,QAAQ,CAAC,CAAC;KAC1C;IAED,MAAMe,OAAM,GAAGO,gCAAgC,CAACU,aAAa,CAAC,AAAC;IAE/D,MAAME,CAAAA,GAAAA,OAAU,AAOd,CAAA,WAPc,CAAC,mBAAmB,EAAE;QACpCb,MAAM,EAAE,MAAM;QACdc,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;YACnB3B,QAAQ;YACRC,QAAQ;YACR2B,oBAAoB,EAAEvB,OAAM,CAACwB,EAAE;SAChC,CAAC;KACH,CAAC,CAAC;IAEH,OAAO,MAAMvC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;CAC1C;AAiBM,eAAeP,qCAAqC,CACzDiB,QAAgB,EAChBC,QAAgB,EAChB6B,QAGC,EACc;IACf,MAAM,EAAE5B,mBAAmB,CAAA,EAAE6B,oBAAoB,CAAA,EAAE,GAAGD,QAAQ,AAAC;IAC/DE,CAAAA,GAAAA,OAAM,AAGL,CAAA,QAHK,CACJ9B,mBAAmB,KAAK+B,SAAS,IAAIF,oBAAoB,KAAKE,SAAS,EACvE,CAAC,8BAA8B,EAAEH,QAAQ,CAAC,CAAC,CAC5C,CAAC;IAEF,MAAMI,aAAa,GAAGhC,mBAAmB,CAACQ,IAAI,CAAC,CAACL,MAAM,GAAKA,MAAM,CAACC,UAAU;IAAA,CAAC,AAAC;IAC9E,IAAIZ,GAAG,GAAkB,IAAI,AAAC;IAE9B,IAAIqC,oBAAoB,EAAE;QACxBC,CAAAA,GAAAA,OAAM,AAAuF,CAAA,QAAvF,CAACE,aAAa,EAAE,sEAAsE,CAAC,CAAC;QAC9FlD,GAAG,CAACmD,GAAG,CACL,CAAC,yDAAyD,EAAED,aAAa,CAACf,gBAAgB,CAAC,CAAC,CAAC,CAC9F,CAAC;QACFzB,GAAG,GAAG,MAAMJ,iBAAiB,CAAC,MAAM,CAAC,CAAC;KACvC;IAED,IAAI4C,CAAAA,aAAa,QAAQ,GAArBA,KAAAA,CAAqB,GAArBA,aAAa,CAAEvB,MAAM,CAAA,KA/IT,eAAe,AA+IyC,EAAE;QACxE3B,GAAG,CAACmD,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC1DzC,GAAG,GAAG,MAAMJ,iBAAiB,CAAC,MAAM,CAAC,CAAC;KACvC;IAED,sDAAsD;IACtD,IAAI,CAACI,GAAG,EAAE;QACRA,GAAG,GAAG,MAAMK,uBAAuB,CAACC,QAAQ,EAAEC,QAAQ,EAAEC,mBAAmB,CAAC,CAAC;KAC9E;IAED,IAAI,CAACR,GAAG,EAAE;QACR,MAAM,IAAI0C,OAAiB,kBAAA,EAAE,CAAC;KAC/B;IAED,MAAMC,CAAAA,GAAAA,KAAU,AAId,CAAA,WAJc,CAAC;QACfrC,QAAQ;QACRC,QAAQ;QACRP,GAAG;KACJ,CAAC,CAAC;CACJ"}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.getActorDisplayName = getActorDisplayName;
6
+ exports.getUserAsync = getUserAsync;
7
+ exports.loginAsync = loginAsync;
8
+ exports.ssoLoginAsync = ssoLoginAsync;
9
+ exports.logoutAsync = logoutAsync;
10
+ exports.ANONYMOUS_USERNAME = void 0;
11
+ var _fs = require("fs");
12
+ var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
13
+ var _userSettings = _interopRequireDefault(require("./UserSettings"));
14
+ var _expoSsoLauncher = require("./expoSsoLauncher");
15
+ var Log = _interopRequireWildcard(require("../../log"));
16
+ var Analytics = _interopRequireWildcard(require("../../utils/analytics/rudderstackClient"));
17
+ var _codesigning = require("../../utils/codesigning");
18
+ var _env = require("../../utils/env");
19
+ var _endpoint = require("../endpoint");
20
+ var _client = require("../graphql/client");
21
+ var _userQuery = require("../graphql/queries/UserQuery");
22
+ var _client1 = require("../rest/client");
23
+ function _interopRequireDefault(obj) {
24
+ return obj && obj.__esModule ? obj : {
25
+ default: obj
26
+ };
27
+ }
28
+ function _interopRequireWildcard(obj) {
29
+ if (obj && obj.__esModule) {
30
+ return obj;
31
+ } else {
32
+ var newObj = {};
33
+ if (obj != null) {
34
+ for(var key in obj){
35
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
36
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
37
+ if (desc.get || desc.set) {
38
+ Object.defineProperty(newObj, key, desc);
39
+ } else {
40
+ newObj[key] = obj[key];
41
+ }
42
+ }
43
+ }
44
+ }
45
+ newObj.default = obj;
46
+ return newObj;
47
+ }
48
+ }
49
+ let currentUser;
50
+ const ANONYMOUS_USERNAME = "anonymous";
51
+ exports.ANONYMOUS_USERNAME = ANONYMOUS_USERNAME;
52
+ function getActorDisplayName(user) {
53
+ switch(user == null ? void 0 : user.__typename){
54
+ case "User":
55
+ return user.username;
56
+ case "SSOUser":
57
+ return user.username;
58
+ case "Robot":
59
+ return user.firstName ? `${user.firstName} (robot)` : "robot";
60
+ default:
61
+ return ANONYMOUS_USERNAME;
62
+ }
63
+ }
64
+ async function getUserAsync() {
65
+ var ref;
66
+ const hasCredentials = _userSettings.default.getAccessToken() || ((ref = _userSettings.default.getSession()) == null ? void 0 : ref.sessionSecret);
67
+ if (!_env.env.EXPO_OFFLINE && !currentUser && hasCredentials) {
68
+ const user = await _userQuery.UserQuery.currentUserAsync();
69
+ currentUser = user != null ? user : undefined;
70
+ if (user) {
71
+ await Analytics.setUserDataAsync(user.id, {
72
+ username: getActorDisplayName(user),
73
+ user_id: user.id,
74
+ user_type: user.__typename
75
+ });
76
+ }
77
+ }
78
+ return currentUser;
79
+ }
80
+ async function loginAsync(json) {
81
+ const res = await (0, _client1).fetchAsync("auth/loginAsync", {
82
+ method: "POST",
83
+ body: JSON.stringify(json)
84
+ });
85
+ const { data: { sessionSecret } , } = await res.json();
86
+ const userData = await fetchUserAsync({
87
+ sessionSecret
88
+ });
89
+ await _userSettings.default.setSessionAsync({
90
+ sessionSecret,
91
+ userId: userData.id,
92
+ username: userData.username,
93
+ currentConnection: "Username-Password-Authentication"
94
+ });
95
+ }
96
+ async function ssoLoginAsync() {
97
+ const sessionSecret = await (0, _expoSsoLauncher).getSessionUsingBrowserAuthFlowAsync({
98
+ expoWebsiteUrl: (0, _endpoint).getExpoWebsiteBaseUrl()
99
+ });
100
+ const userData = await fetchUserAsync({
101
+ sessionSecret
102
+ });
103
+ await _userSettings.default.setSessionAsync({
104
+ sessionSecret,
105
+ userId: userData.id,
106
+ username: userData.username,
107
+ currentConnection: "Browser-Flow-Authentication"
108
+ });
109
+ }
110
+ async function logoutAsync() {
111
+ currentUser = undefined;
112
+ await Promise.all([
113
+ _fs.promises.rm((0, _codesigning).getDevelopmentCodeSigningDirectory(), {
114
+ recursive: true,
115
+ force: true
116
+ }),
117
+ _userSettings.default.setSessionAsync(undefined),
118
+ ]);
119
+ Log.log("Logged out");
120
+ }
121
+ async function fetchUserAsync({ sessionSecret }) {
122
+ const result = await _client.graphqlClient.query(_graphqlTag.default`
123
+ query UserQuery {
124
+ meUserActor {
125
+ id
126
+ username
127
+ }
128
+ }
129
+ `, {}, {
130
+ fetchOptions: {
131
+ headers: {
132
+ "expo-session": sessionSecret
133
+ }
134
+ },
135
+ additionalTypenames: []
136
+ }).toPromise();
137
+ const { data } = result;
138
+ return {
139
+ id: data.meUserActor.id,
140
+ username: data.meUserActor.username
141
+ };
142
+ }
143
+
144
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/api/user/user.ts"],"sourcesContent":["import { promises as fs } from 'fs';\nimport gql from 'graphql-tag';\n\nimport UserSettings from './UserSettings';\nimport { getSessionUsingBrowserAuthFlowAsync } from './expoSsoLauncher';\nimport { CurrentUserQuery } from '../../graphql/generated';\nimport * as Log from '../../log';\nimport * as Analytics from '../../utils/analytics/rudderstackClient';\nimport { getDevelopmentCodeSigningDirectory } from '../../utils/codesigning';\nimport { env } from '../../utils/env';\nimport { getExpoWebsiteBaseUrl } from '../endpoint';\nimport { graphqlClient } from '../graphql/client';\nimport { UserQuery } from '../graphql/queries/UserQuery';\nimport { fetchAsync } from '../rest/client';\n\nexport type Actor = NonNullable<CurrentUserQuery['meActor']>;\n\nlet currentUser: Actor | undefined;\n\nexport const ANONYMOUS_USERNAME = 'anonymous';\n\n/**\n * Resolve the name of the actor, either normal user or robot user.\n * This should be used whenever the \"current user\" needs to be displayed.\n * The display name CANNOT be used as project owner.\n */\nexport function getActorDisplayName(user?: Actor): string {\n switch (user?.__typename) {\n case 'User':\n return user.username;\n case 'SSOUser':\n return user.username;\n case 'Robot':\n return user.firstName ? `${user.firstName} (robot)` : 'robot';\n default:\n return ANONYMOUS_USERNAME;\n }\n}\n\nexport async function getUserAsync(): Promise<Actor | undefined> {\n const hasCredentials = UserSettings.getAccessToken() || UserSettings.getSession()?.sessionSecret;\n if (!env.EXPO_OFFLINE && !currentUser && hasCredentials) {\n const user = await UserQuery.currentUserAsync();\n currentUser = user ?? undefined;\n if (user) {\n await Analytics.setUserDataAsync(user.id, {\n username: getActorDisplayName(user),\n user_id: user.id,\n user_type: user.__typename,\n });\n }\n }\n return currentUser;\n}\n\nexport async function loginAsync(json: {\n username: string;\n password: string;\n otp?: string;\n}): Promise<void> {\n const res = await fetchAsync('auth/loginAsync', {\n method: 'POST',\n body: JSON.stringify(json),\n });\n const {\n data: { sessionSecret },\n } = await res.json();\n\n const userData = await fetchUserAsync({ sessionSecret });\n\n await UserSettings.setSessionAsync({\n sessionSecret,\n userId: userData.id,\n username: userData.username,\n currentConnection: 'Username-Password-Authentication',\n });\n}\n\nexport async function ssoLoginAsync(): Promise<void> {\n const sessionSecret = await getSessionUsingBrowserAuthFlowAsync({\n expoWebsiteUrl: getExpoWebsiteBaseUrl(),\n });\n const userData = await fetchUserAsync({ sessionSecret });\n\n await UserSettings.setSessionAsync({\n sessionSecret,\n userId: userData.id,\n username: userData.username,\n currentConnection: 'Browser-Flow-Authentication',\n });\n}\n\nexport async function logoutAsync(): Promise<void> {\n currentUser = undefined;\n await Promise.all([\n fs.rm(getDevelopmentCodeSigningDirectory(), { recursive: true, force: true }),\n UserSettings.setSessionAsync(undefined),\n ]);\n Log.log('Logged out');\n}\n\nasync function fetchUserAsync({\n sessionSecret,\n}: {\n sessionSecret: string;\n}): Promise<{ id: string; username: string }> {\n const result = await graphqlClient\n .query(\n gql`\n query UserQuery {\n meUserActor {\n id\n username\n }\n }\n `,\n {},\n {\n fetchOptions: {\n headers: {\n 'expo-session': sessionSecret,\n },\n },\n additionalTypenames: [] /* UserQuery has immutable fields */,\n }\n )\n .toPromise();\n const { data } = result;\n return {\n id: data.meUserActor.id,\n username: data.meUserActor.username,\n };\n}\n"],"names":["getActorDisplayName","getUserAsync","loginAsync","ssoLoginAsync","logoutAsync","Log","Analytics","currentUser","ANONYMOUS_USERNAME","user","__typename","username","firstName","UserSettings","hasCredentials","getAccessToken","getSession","sessionSecret","env","EXPO_OFFLINE","UserQuery","currentUserAsync","undefined","setUserDataAsync","id","user_id","user_type","json","res","fetchAsync","method","body","JSON","stringify","data","userData","fetchUserAsync","setSessionAsync","userId","currentConnection","getSessionUsingBrowserAuthFlowAsync","expoWebsiteUrl","getExpoWebsiteBaseUrl","Promise","all","fs","rm","getDevelopmentCodeSigningDirectory","recursive","force","log","result","graphqlClient","query","gql","fetchOptions","headers","additionalTypenames","toPromise","meUserActor"],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.logConfig = logConfig;
6
+ exports.configAsync = configAsync;
7
+ var _config = require("@expo/config");
8
+ var _assert = _interopRequireDefault(require("assert"));
9
+ var _util = _interopRequireDefault(require("util"));
10
+ var Log = _interopRequireWildcard(require("../log"));
11
+ var _errors = require("../utils/errors");
12
+ var _nodeEnv = require("../utils/nodeEnv");
13
+ var _profile = require("../utils/profile");
14
+ function _interopRequireDefault(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
19
+ function _interopRequireWildcard(obj) {
20
+ if (obj && obj.__esModule) {
21
+ return obj;
22
+ } else {
23
+ var newObj = {};
24
+ if (obj != null) {
25
+ for(var key in obj){
26
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
27
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
28
+ if (desc.get || desc.set) {
29
+ Object.defineProperty(newObj, key, desc);
30
+ } else {
31
+ newObj[key] = obj[key];
32
+ }
33
+ }
34
+ }
35
+ }
36
+ newObj.default = obj;
37
+ return newObj;
38
+ }
39
+ }
40
+ function logConfig(config) {
41
+ const isObjStr = (str)=>/^\w+: {/g.test(str)
42
+ ;
43
+ Log.log(_util.default.inspect(config, {
44
+ colors: true,
45
+ compact: false,
46
+ // Sort objects to the end so that smaller values aren't hidden between large objects.
47
+ sorted (a, b) {
48
+ if (isObjStr(a)) return 1;
49
+ if (isObjStr(b)) return -1;
50
+ return 0;
51
+ },
52
+ showHidden: false,
53
+ depth: null
54
+ }));
55
+ }
56
+ async function configAsync(projectRoot, options) {
57
+ const loggingFunctions = {
58
+ log: console.log,
59
+ warn: console.warn,
60
+ error: console.error
61
+ };
62
+ // Disable logging for this command if the user wants to get JSON output.
63
+ // This will ensure that only the JSON is printed to stdout.
64
+ if (options.json) {
65
+ console.log = function() {};
66
+ console.warn = function() {};
67
+ console.error = function() {};
68
+ }
69
+ (0, _nodeEnv).setNodeEnv("development");
70
+ require("@expo/env").load(projectRoot);
71
+ if (options.type) {
72
+ _assert.default.match(options.type, /^(public|prebuild|introspect)$/);
73
+ }
74
+ let config;
75
+ if (options.type === "prebuild") {
76
+ const { getPrebuildConfigAsync } = await Promise.resolve().then(function() {
77
+ return _interopRequireWildcard(require("@expo/prebuild-config"));
78
+ });
79
+ config = await (0, _profile).profile(getPrebuildConfigAsync)(projectRoot, {
80
+ platforms: [
81
+ "ios",
82
+ "android"
83
+ ]
84
+ });
85
+ } else if (options.type === "introspect") {
86
+ const { getPrebuildConfigAsync } = await Promise.resolve().then(function() {
87
+ return _interopRequireWildcard(require("@expo/prebuild-config"));
88
+ });
89
+ const { compileModsAsync } = await Promise.resolve().then(function() {
90
+ return _interopRequireWildcard(require("@expo/config-plugins/build/plugins/mod-compiler.js"));
91
+ });
92
+ config = await (0, _profile).profile(getPrebuildConfigAsync)(projectRoot, {
93
+ platforms: [
94
+ "ios",
95
+ "android"
96
+ ]
97
+ });
98
+ await compileModsAsync(config.exp, {
99
+ projectRoot,
100
+ introspect: true,
101
+ platforms: [
102
+ "ios",
103
+ "android"
104
+ ],
105
+ assertMissingModProviders: false
106
+ });
107
+ // @ts-ignore
108
+ delete config.modRequest;
109
+ // @ts-ignore
110
+ delete config.modResults;
111
+ } else if (options.type === "public") {
112
+ config = (0, _profile).profile(_config.getConfig)(projectRoot, {
113
+ skipSDKVersionRequirement: true,
114
+ isPublicConfig: true
115
+ });
116
+ } else if (options.type) {
117
+ throw new _errors.CommandError(`Invalid option: --type ${options.type}. Valid options are: public, prebuild`);
118
+ } else {
119
+ config = (0, _profile).profile(_config.getConfig)(projectRoot, {
120
+ skipSDKVersionRequirement: true
121
+ });
122
+ }
123
+ const configOutput = options.full ? config : config.exp;
124
+ if (!options.json) {
125
+ Log.log();
126
+ logConfig(configOutput);
127
+ Log.log();
128
+ } else {
129
+ process.stdout.write(JSON.stringify(configOutput));
130
+ // Re-enable logging functions for testing.
131
+ console.log = loggingFunctions.log;
132
+ console.warn = loggingFunctions.warn;
133
+ console.error = loggingFunctions.error;
134
+ }
135
+ }
136
+
137
+ //# sourceMappingURL=configAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/config/configAsync.ts"],"sourcesContent":["import { ExpoConfig, getConfig, ProjectConfig } from '@expo/config';\nimport assert from 'assert';\nimport util from 'util';\n\nimport * as Log from '../log';\nimport { CommandError } from '../utils/errors';\nimport { setNodeEnv } from '../utils/nodeEnv';\nimport { profile } from '../utils/profile';\n\ntype Options = {\n type?: string;\n full?: boolean;\n json?: boolean;\n};\n\nexport function logConfig(config: ExpoConfig | ProjectConfig) {\n const isObjStr = (str: string): boolean => /^\\w+: {/g.test(str);\n Log.log(\n util.inspect(config, {\n colors: true,\n compact: false,\n // Sort objects to the end so that smaller values aren't hidden between large objects.\n sorted(a: string, b: string) {\n if (isObjStr(a)) return 1;\n if (isObjStr(b)) return -1;\n return 0;\n },\n showHidden: false,\n depth: null,\n })\n );\n}\n\nexport async function configAsync(projectRoot: string, options: Options) {\n const loggingFunctions = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n };\n // Disable logging for this command if the user wants to get JSON output.\n // This will ensure that only the JSON is printed to stdout.\n if (options.json) {\n console.log = function () {};\n console.warn = function () {};\n console.error = function () {};\n }\n setNodeEnv('development');\n require('@expo/env').load(projectRoot);\n\n if (options.type) {\n assert.match(options.type, /^(public|prebuild|introspect)$/);\n }\n\n let config: ProjectConfig;\n\n if (options.type === 'prebuild') {\n const { getPrebuildConfigAsync } = await import('@expo/prebuild-config');\n\n config = await profile(getPrebuildConfigAsync)(projectRoot, {\n platforms: ['ios', 'android'],\n });\n } else if (options.type === 'introspect') {\n const { getPrebuildConfigAsync } = await import('@expo/prebuild-config');\n const { compileModsAsync } = await import('@expo/config-plugins/build/plugins/mod-compiler.js');\n\n config = await profile(getPrebuildConfigAsync)(projectRoot, {\n platforms: ['ios', 'android'],\n });\n\n await compileModsAsync(config.exp, {\n projectRoot,\n introspect: true,\n platforms: ['ios', 'android'],\n assertMissingModProviders: false,\n });\n // @ts-ignore\n delete config.modRequest;\n // @ts-ignore\n delete config.modResults;\n } else if (options.type === 'public') {\n config = profile(getConfig)(projectRoot, {\n skipSDKVersionRequirement: true,\n isPublicConfig: true,\n });\n } else if (options.type) {\n throw new CommandError(\n `Invalid option: --type ${options.type}. Valid options are: public, prebuild`\n );\n } else {\n config = profile(getConfig)(projectRoot, {\n skipSDKVersionRequirement: true,\n });\n }\n\n const configOutput = options.full ? config : config.exp;\n\n if (!options.json) {\n Log.log();\n logConfig(configOutput);\n Log.log();\n } else {\n process.stdout.write(JSON.stringify(configOutput));\n\n // Re-enable logging functions for testing.\n console.log = loggingFunctions.log;\n console.warn = loggingFunctions.warn;\n console.error = loggingFunctions.error;\n }\n}\n"],"names":["logConfig","configAsync","Log","config","isObjStr","str","test","log","util","inspect","colors","compact","sorted","a","b","showHidden","depth","projectRoot","options","loggingFunctions","console","warn","error","json","setNodeEnv","require","load","type","assert","match","getPrebuildConfigAsync","profile","platforms","compileModsAsync","exp","introspect","assertMissingModProviders","modRequest","modResults","getConfig","skipSDKVersionRequirement","isPublicConfig","CommandError","configOutput","full","process","stdout","write","JSON","stringify"],"mappings":"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"}