@expo/cli 0.0.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. package/README.md +106 -0
  2. package/build/bin/cli +152 -0
  3. package/build/bin/cli.map +1 -0
  4. package/build/src/api/endpoint.js +17 -0
  5. package/build/src/api/endpoint.js.map +1 -0
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +21 -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/getProject.js +19 -0
  13. package/build/src/api/getProject.js.map +1 -0
  14. package/build/src/api/getProjectDevelopmentCertificate.js +24 -0
  15. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
  16. package/build/src/api/getVersions.js +37 -0
  17. package/build/src/api/getVersions.js.map +1 -0
  18. package/build/src/api/graphql/client.js +104 -0
  19. package/build/src/api/graphql/client.js.map +1 -0
  20. package/build/src/api/graphql/generated.js +113 -0
  21. package/build/src/api/graphql/generated.js.map +1 -0
  22. package/build/src/api/graphql/queries/UserQuery.js +43 -0
  23. package/build/src/api/graphql/queries/UserQuery.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 +94 -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 +20 -0
  35. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
  36. package/build/src/api/rest/wrapFetchWithOffline.js +39 -0
  37. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
  38. package/build/src/api/rest/wrapFetchWithProgress.js +59 -0
  39. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
  40. package/build/src/api/settings.js +11 -0
  41. package/build/src/api/settings.js.map +1 -0
  42. package/build/src/api/signManifest.js +38 -0
  43. package/build/src/api/signManifest.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 +97 -0
  49. package/build/src/api/user/actions.js.map +1 -0
  50. package/build/src/api/user/otp.js +139 -0
  51. package/build/src/api/user/otp.js.map +1 -0
  52. package/build/src/api/user/user.js +114 -0
  53. package/build/src/api/user/user.js.map +1 -0
  54. package/build/src/config/configAsync.js +118 -0
  55. package/build/src/config/configAsync.js.map +1 -0
  56. package/build/src/config/index.js +75 -0
  57. package/build/src/config/index.js.map +1 -0
  58. package/build/src/export/createBundles.js +62 -0
  59. package/build/src/export/createBundles.js.map +1 -0
  60. package/build/src/export/createMetadataJson.js +36 -0
  61. package/build/src/export/createMetadataJson.js.map +1 -0
  62. package/build/src/export/exportApp.js +102 -0
  63. package/build/src/export/exportApp.js.map +1 -0
  64. package/build/src/export/exportAssets.js +106 -0
  65. package/build/src/export/exportAssets.js.map +1 -0
  66. package/build/src/export/exportAsync.js +49 -0
  67. package/build/src/export/exportAsync.js.map +1 -0
  68. package/build/src/export/fork-bundleAsync.js +138 -0
  69. package/build/src/export/fork-bundleAsync.js.map +1 -0
  70. package/build/src/export/getPublicExpoManifest.js +28 -0
  71. package/build/src/export/getPublicExpoManifest.js.map +1 -0
  72. package/build/src/export/getResolvedLocales.js +35 -0
  73. package/build/src/export/getResolvedLocales.js.map +1 -0
  74. package/build/src/export/index.js +77 -0
  75. package/build/src/export/index.js.map +1 -0
  76. package/build/src/export/printBundleSizes.js +122 -0
  77. package/build/src/export/printBundleSizes.js.map +1 -0
  78. package/build/src/export/resolveOptions.js +24 -0
  79. package/build/src/export/resolveOptions.js.map +1 -0
  80. package/build/src/export/saveAssets.js +65 -0
  81. package/build/src/export/saveAssets.js.map +1 -0
  82. package/build/src/export/writeContents.js +108 -0
  83. package/build/src/export/writeContents.js.map +1 -0
  84. package/build/src/install/checkPackages.js +74 -0
  85. package/build/src/install/checkPackages.js.map +1 -0
  86. package/build/src/install/index.js +49 -0
  87. package/build/src/install/index.js.map +1 -0
  88. package/build/src/install/installAsync.js +103 -0
  89. package/build/src/install/installAsync.js.map +1 -0
  90. package/build/src/install/resolveOptions.js +99 -0
  91. package/build/src/install/resolveOptions.js.map +1 -0
  92. package/build/src/install/utils/autoAddConfigPlugins.js +87 -0
  93. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -0
  94. package/build/src/log.js +74 -0
  95. package/build/src/log.js.map +1 -0
  96. package/build/src/login/index.js +62 -0
  97. package/build/src/login/index.js.map +1 -0
  98. package/build/src/logout/index.js +48 -0
  99. package/build/src/logout/index.js.map +1 -0
  100. package/build/src/prebuild/clearNativeFolder.js +137 -0
  101. package/build/src/prebuild/clearNativeFolder.js.map +1 -0
  102. package/build/src/prebuild/configureProjectAsync.js +68 -0
  103. package/build/src/prebuild/configureProjectAsync.js.map +1 -0
  104. package/build/src/prebuild/copyTemplateFiles.js +124 -0
  105. package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
  106. package/build/src/prebuild/ensureConfigAsync.js +86 -0
  107. package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
  108. package/build/src/prebuild/index.js +90 -0
  109. package/build/src/prebuild/index.js.map +1 -0
  110. package/build/src/prebuild/prebuildAsync.js +112 -0
  111. package/build/src/prebuild/prebuildAsync.js.map +1 -0
  112. package/build/src/prebuild/resolveOptions.js +97 -0
  113. package/build/src/prebuild/resolveOptions.js.map +1 -0
  114. package/build/src/prebuild/resolveTemplate.js +157 -0
  115. package/build/src/prebuild/resolveTemplate.js.map +1 -0
  116. package/build/src/prebuild/updateFromTemplate.js +102 -0
  117. package/build/src/prebuild/updateFromTemplate.js.map +1 -0
  118. package/build/src/prebuild/updatePackageJson.js +236 -0
  119. package/build/src/prebuild/updatePackageJson.js.map +1 -0
  120. package/build/src/prebuild/writeMetroConfig.js +89 -0
  121. package/build/src/prebuild/writeMetroConfig.js.map +1 -0
  122. package/build/src/register/index.js +48 -0
  123. package/build/src/register/index.js.map +1 -0
  124. package/build/src/register/registerAsync.js +37 -0
  125. package/build/src/register/registerAsync.js.map +1 -0
  126. package/build/src/run/android/index.js +97 -0
  127. package/build/src/run/android/index.js.map +1 -0
  128. package/build/src/run/android/resolveDevice.js +23 -0
  129. package/build/src/run/android/resolveDevice.js.map +1 -0
  130. package/build/src/run/android/resolveGradleProps.js +37 -0
  131. package/build/src/run/android/resolveGradleProps.js.map +1 -0
  132. package/build/src/run/android/resolveInstallApkName.js +72 -0
  133. package/build/src/run/android/resolveInstallApkName.js.map +1 -0
  134. package/build/src/run/android/resolveLaunchProps.js +32 -0
  135. package/build/src/run/android/resolveLaunchProps.js.map +1 -0
  136. package/build/src/run/android/resolveOptions.js +25 -0
  137. package/build/src/run/android/resolveOptions.js.map +1 -0
  138. package/build/src/run/android/runAndroidAsync.js +74 -0
  139. package/build/src/run/android/runAndroidAsync.js.map +1 -0
  140. package/build/src/run/ensureNativeProject.js +33 -0
  141. package/build/src/run/ensureNativeProject.js.map +1 -0
  142. package/build/src/run/hints.js +22 -0
  143. package/build/src/run/hints.js.map +1 -0
  144. package/build/src/run/resolveBundlerProps.js +31 -0
  145. package/build/src/run/resolveBundlerProps.js.map +1 -0
  146. package/build/src/run/startBundler.js +76 -0
  147. package/build/src/run/startBundler.js.map +1 -0
  148. package/build/src/start/doctor/Prerequisite.js +47 -0
  149. package/build/src/start/doctor/Prerequisite.js.map +1 -0
  150. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +68 -0
  151. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
  152. package/build/src/start/doctor/apple/XcodePrerequisite.js +115 -0
  153. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -0
  154. package/build/src/start/doctor/apple/XcrunPrerequisite.js +65 -0
  155. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -0
  156. package/build/src/start/doctor/dependencies/bundledNativeModules.js +64 -0
  157. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -0
  158. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +131 -0
  159. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -0
  160. package/build/src/start/doctor/dependencies/getMissingPackages.js +95 -0
  161. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
  162. package/build/src/start/doctor/dependencies/getVersionedPackages.js +119 -0
  163. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
  164. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +147 -0
  165. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
  166. package/build/src/start/doctor/ngrok/ExternalModule.js +164 -0
  167. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
  168. package/build/src/start/doctor/ngrok/NgrokResolver.js +17 -0
  169. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
  170. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +142 -0
  171. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
  172. package/build/src/start/doctor/typescript/updateTSConfig.js +92 -0
  173. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
  174. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +112 -0
  175. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
  176. package/build/src/start/index.js +116 -0
  177. package/build/src/start/index.js.map +1 -0
  178. package/build/src/start/interface/KeyPressHandler.js +99 -0
  179. package/build/src/start/interface/KeyPressHandler.js.map +1 -0
  180. package/build/src/start/interface/commandsTable.js +175 -0
  181. package/build/src/start/interface/commandsTable.js.map +1 -0
  182. package/build/src/start/interface/interactiveActions.js +134 -0
  183. package/build/src/start/interface/interactiveActions.js.map +1 -0
  184. package/build/src/start/interface/startInterface.js +217 -0
  185. package/build/src/start/interface/startInterface.js.map +1 -0
  186. package/build/src/start/platforms/AppIdResolver.js +44 -0
  187. package/build/src/start/platforms/AppIdResolver.js.map +1 -0
  188. package/build/src/start/platforms/DeviceManager.js +43 -0
  189. package/build/src/start/platforms/DeviceManager.js.map +1 -0
  190. package/build/src/start/platforms/ExpoGoInstaller.js +111 -0
  191. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
  192. package/build/src/start/platforms/PlatformManager.js +121 -0
  193. package/build/src/start/platforms/PlatformManager.js.map +1 -0
  194. package/build/src/start/platforms/android/ADBServer.js +129 -0
  195. package/build/src/start/platforms/android/ADBServer.js.map +1 -0
  196. package/build/src/start/platforms/android/AndroidAppIdResolver.js +40 -0
  197. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -0
  198. package/build/src/start/platforms/android/AndroidDeviceManager.js +183 -0
  199. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -0
  200. package/build/src/start/platforms/android/AndroidPlatformManager.js +35 -0
  201. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -0
  202. package/build/src/start/platforms/android/activateWindow.js +80 -0
  203. package/build/src/start/platforms/android/activateWindow.js.map +1 -0
  204. package/build/src/start/platforms/android/adb.js +263 -0
  205. package/build/src/start/platforms/android/adb.js.map +1 -0
  206. package/build/src/start/platforms/android/adbReverse.js +84 -0
  207. package/build/src/start/platforms/android/adbReverse.js.map +1 -0
  208. package/build/src/start/platforms/android/emulator.js +118 -0
  209. package/build/src/start/platforms/android/emulator.js.map +1 -0
  210. package/build/src/start/platforms/android/getDevices.js +36 -0
  211. package/build/src/start/platforms/android/getDevices.js.map +1 -0
  212. package/build/src/start/platforms/android/gradle.js +86 -0
  213. package/build/src/start/platforms/android/gradle.js.map +1 -0
  214. package/build/src/start/platforms/android/promptAndroidDevice.js +60 -0
  215. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
  216. package/build/src/start/platforms/ios/AppleAppIdResolver.js +46 -0
  217. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
  218. package/build/src/start/platforms/ios/AppleDeviceManager.js +201 -0
  219. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -0
  220. package/build/src/start/platforms/ios/ApplePlatformManager.js +31 -0
  221. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -0
  222. package/build/src/start/platforms/ios/assertSystemRequirements.js +16 -0
  223. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -0
  224. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +85 -0
  225. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -0
  226. package/build/src/start/platforms/ios/getBestSimulator.js +101 -0
  227. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -0
  228. package/build/src/start/platforms/ios/promptAppleDevice.js +60 -0
  229. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
  230. package/build/src/start/platforms/ios/simctl.js +229 -0
  231. package/build/src/start/platforms/ios/simctl.js.map +1 -0
  232. package/build/src/start/platforms/ios/xcrun.js +67 -0
  233. package/build/src/start/platforms/ios/xcrun.js.map +1 -0
  234. package/build/src/start/project/devices.js +77 -0
  235. package/build/src/start/project/devices.js.map +1 -0
  236. package/build/src/start/project/dotExpo.js +74 -0
  237. package/build/src/start/project/dotExpo.js.map +1 -0
  238. package/build/src/start/project/settings.js +13 -0
  239. package/build/src/start/project/settings.js.map +1 -0
  240. package/build/src/start/resolveOptions.js +156 -0
  241. package/build/src/start/resolveOptions.js.map +1 -0
  242. package/build/src/start/server/AsyncNgrok.js +173 -0
  243. package/build/src/start/server/AsyncNgrok.js.map +1 -0
  244. package/build/src/start/server/BundlerDevServer.js +312 -0
  245. package/build/src/start/server/BundlerDevServer.js.map +1 -0
  246. package/build/src/start/server/DevServerManager.js +142 -0
  247. package/build/src/start/server/DevServerManager.js.map +1 -0
  248. package/build/src/start/server/DevelopmentSession.js +104 -0
  249. package/build/src/start/server/DevelopmentSession.js.map +1 -0
  250. package/build/src/start/server/UrlCreator.js +159 -0
  251. package/build/src/start/server/UrlCreator.js.map +1 -0
  252. package/build/src/start/server/metro/MetroBundlerDevServer.js +97 -0
  253. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
  254. package/build/src/start/server/metro/MetroTerminalReporter.js +178 -0
  255. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
  256. package/build/src/start/server/metro/TerminalReporter.js +87 -0
  257. package/build/src/start/server/metro/TerminalReporter.js.map +1 -0
  258. package/build/src/start/server/metro/TerminalReporter.types.js +6 -0
  259. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -0
  260. package/build/src/start/server/metro/instantiateMetro.js +66 -0
  261. package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
  262. package/build/src/start/server/metro/resolveFromProject.js +38 -0
  263. package/build/src/start/server/metro/resolveFromProject.js.map +1 -0
  264. package/build/src/start/server/middleware/ClassicManifestMiddleware.js +145 -0
  265. package/build/src/start/server/middleware/ClassicManifestMiddleware.js.map +1 -0
  266. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +185 -0
  267. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
  268. package/build/src/start/server/middleware/ExpoMiddleware.js +78 -0
  269. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
  270. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +70 -0
  271. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
  272. package/build/src/start/server/middleware/ManifestMiddleware.js +177 -0
  273. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
  274. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +69 -0
  275. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
  276. package/build/src/start/server/middleware/createDevServerMiddleware.js +24 -0
  277. package/build/src/start/server/middleware/createDevServerMiddleware.js.map +1 -0
  278. package/build/src/start/server/middleware/resolveAssets.js +110 -0
  279. package/build/src/start/server/middleware/resolveAssets.js.map +1 -0
  280. package/build/src/start/server/middleware/resolveEntryPoint.js +37 -0
  281. package/build/src/start/server/middleware/resolveEntryPoint.js.map +1 -0
  282. package/build/src/start/server/middleware/resolvePlatform.js +32 -0
  283. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -0
  284. package/build/src/start/server/middleware/server.types.js +6 -0
  285. package/build/src/start/server/middleware/server.types.js.map +1 -0
  286. package/build/src/start/server/openPlatforms.js +30 -0
  287. package/build/src/start/server/openPlatforms.js.map +1 -0
  288. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +299 -0
  289. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
  290. package/build/src/start/server/webpack/formatWebpackMessages.js +94 -0
  291. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -0
  292. package/build/src/start/server/webpack/resolveFromProject.js +43 -0
  293. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -0
  294. package/build/src/start/server/webpack/tls.js +72 -0
  295. package/build/src/start/server/webpack/tls.js.map +1 -0
  296. package/build/src/start/startAsync.js +150 -0
  297. package/build/src/start/startAsync.js.map +1 -0
  298. package/build/src/utils/FileNotifier.js +71 -0
  299. package/build/src/utils/FileNotifier.js.map +1 -0
  300. package/build/src/utils/analytics/getDevClientProperties.js +41 -0
  301. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -0
  302. package/build/src/utils/analytics/rudderstackClient.js +106 -0
  303. package/build/src/utils/analytics/rudderstackClient.js.map +1 -0
  304. package/build/src/utils/ansi.js +17 -0
  305. package/build/src/utils/ansi.js.map +1 -0
  306. package/build/src/utils/args.js +77 -0
  307. package/build/src/utils/args.js.map +1 -0
  308. package/build/src/utils/array.js +56 -0
  309. package/build/src/utils/array.js.map +1 -0
  310. package/build/src/utils/cocoapods.js +143 -0
  311. package/build/src/utils/cocoapods.js.map +1 -0
  312. package/build/src/utils/codesigning.js +283 -0
  313. package/build/src/utils/codesigning.js.map +1 -0
  314. package/build/src/utils/createFileTransform.js +89 -0
  315. package/build/src/utils/createFileTransform.js.map +1 -0
  316. package/build/src/utils/delay.js +39 -0
  317. package/build/src/utils/delay.js.map +1 -0
  318. package/build/src/utils/dir.js +38 -0
  319. package/build/src/utils/dir.js.map +1 -0
  320. package/build/src/utils/downloadAppAsync.js +74 -0
  321. package/build/src/utils/downloadAppAsync.js.map +1 -0
  322. package/build/src/utils/downloadExpoGoAsync.js +99 -0
  323. package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
  324. package/build/src/utils/editor.js +60 -0
  325. package/build/src/utils/editor.js.map +1 -0
  326. package/build/src/utils/env.js +62 -0
  327. package/build/src/utils/env.js.map +1 -0
  328. package/build/src/utils/errors.js +69 -0
  329. package/build/src/utils/errors.js.map +1 -0
  330. package/build/src/utils/exit.js +90 -0
  331. package/build/src/utils/exit.js.map +1 -0
  332. package/build/src/utils/findUp.js +33 -0
  333. package/build/src/utils/findUp.js.map +1 -0
  334. package/build/src/utils/fn.js +32 -0
  335. package/build/src/utils/fn.js.map +1 -0
  336. package/build/src/utils/getOrPromptApplicationId.js +183 -0
  337. package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
  338. package/build/src/utils/getRunningProcess.js +92 -0
  339. package/build/src/utils/getRunningProcess.js.map +1 -0
  340. package/build/src/utils/git.js +88 -0
  341. package/build/src/utils/git.js.map +1 -0
  342. package/build/src/utils/glob.js +65 -0
  343. package/build/src/utils/glob.js.map +1 -0
  344. package/build/src/utils/ip.js +16 -0
  345. package/build/src/utils/ip.js.map +1 -0
  346. package/build/src/utils/isModuleSymlinked.js +37 -0
  347. package/build/src/utils/isModuleSymlinked.js.map +1 -0
  348. package/build/src/utils/link.js +31 -0
  349. package/build/src/utils/link.js.map +1 -0
  350. package/build/src/utils/mergeGitIgnorePaths.js +112 -0
  351. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -0
  352. package/build/src/utils/modifyConfigAsync.js +68 -0
  353. package/build/src/utils/modifyConfigAsync.js.map +1 -0
  354. package/build/src/utils/modifyConfigPlugins.js +51 -0
  355. package/build/src/utils/modifyConfigPlugins.js.map +1 -0
  356. package/build/src/utils/nodeModules.js +118 -0
  357. package/build/src/utils/nodeModules.js.map +1 -0
  358. package/build/src/utils/npm.js +144 -0
  359. package/build/src/utils/npm.js.map +1 -0
  360. package/build/src/utils/obj.js +45 -0
  361. package/build/src/utils/obj.js.map +1 -0
  362. package/build/src/utils/ora.js +102 -0
  363. package/build/src/utils/ora.js.map +1 -0
  364. package/build/src/utils/port.js +130 -0
  365. package/build/src/utils/port.js.map +1 -0
  366. package/build/src/utils/profile.js +63 -0
  367. package/build/src/utils/profile.js.map +1 -0
  368. package/build/src/utils/progress.js +15 -0
  369. package/build/src/utils/progress.js.map +1 -0
  370. package/build/src/utils/prompts.js +127 -0
  371. package/build/src/utils/prompts.js.map +1 -0
  372. package/build/src/utils/resolveArgs.js +94 -0
  373. package/build/src/utils/resolveArgs.js.map +1 -0
  374. package/build/src/utils/scheme.js +106 -0
  375. package/build/src/utils/scheme.js.map +1 -0
  376. package/build/src/utils/tar.js +59 -0
  377. package/build/src/utils/tar.js.map +1 -0
  378. package/build/src/utils/url.js +67 -0
  379. package/build/src/utils/url.js.map +1 -0
  380. package/build/src/utils/validateApplicationId.js +90 -0
  381. package/build/src/utils/validateApplicationId.js.map +1 -0
  382. package/build/src/whoami/index.js +47 -0
  383. package/build/src/whoami/index.js.map +1 -0
  384. package/build/src/whoami/whoamiAsync.js +44 -0
  385. package/build/src/whoami/whoamiAsync.js.map +1 -0
  386. package/package.json +132 -4
  387. package/static/loading-page/index.html +270 -0
  388. package/index.js +0 -0
@@ -0,0 +1,116 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.expoStart = void 0;
7
+ var _chalk = _interopRequireDefault(require("chalk"));
8
+ var _args = require("../utils/args");
9
+ var _errors = require("../utils/errors");
10
+ function _interopRequireDefault(obj) {
11
+ return obj && obj.__esModule ? obj : {
12
+ default: obj
13
+ };
14
+ }
15
+ function _interopRequireWildcard(obj) {
16
+ if (obj && obj.__esModule) {
17
+ return obj;
18
+ } else {
19
+ var newObj = {};
20
+ if (obj != null) {
21
+ for(var key in obj){
22
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
23
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
24
+ if (desc.get || desc.set) {
25
+ Object.defineProperty(newObj, key, desc);
26
+ } else {
27
+ newObj[key] = obj[key];
28
+ }
29
+ }
30
+ }
31
+ }
32
+ newObj.default = obj;
33
+ return newObj;
34
+ }
35
+ }
36
+ const expoStart = async (argv)=>{
37
+ const args = (0, _args).assertArgs({
38
+ // Types
39
+ "--help": Boolean,
40
+ "--clear": Boolean,
41
+ "--max-workers": Number,
42
+ "--no-dev": Boolean,
43
+ "--minify": Boolean,
44
+ "--https": Boolean,
45
+ "--force-manifest-type": String,
46
+ "--private-key-path": String,
47
+ "--port": Number,
48
+ "--dev-client": Boolean,
49
+ "--scheme": String,
50
+ "--android": Boolean,
51
+ "--ios": Boolean,
52
+ "--web": Boolean,
53
+ "--host": String,
54
+ "--tunnel": Boolean,
55
+ "--lan": Boolean,
56
+ "--localhost": Boolean,
57
+ "--offline": Boolean,
58
+ // Aliases
59
+ "-h": "--help",
60
+ "-c": "--clear",
61
+ "-p": "--port",
62
+ "-a": "--android",
63
+ "-i": "--ios",
64
+ "-w": "--web",
65
+ "-m": "--host"
66
+ }, argv);
67
+ if (args["--help"]) {
68
+ (0, _args).printHelp(`Start a local dev server for the app`, _chalk.default`npx expo start {dim <dir>}`, [
69
+ _chalk.default`<dir> Directory of the Expo project. {dim Default: Current working directory}`,
70
+ `-a, --android Opens your app in Expo Go on a connected Android device`,
71
+ `-i, --ios Opens your app in Expo Go in a currently running iOS simulator on your computer`,
72
+ `-w, --web Opens your app in a web browser`,
73
+ ``,
74
+ `-c, --clear Clear the bundler cache`,
75
+ `--max-workers <num> Maximum number of tasks to allow Metro to spawn`,
76
+ `--no-dev Bundle in production mode`,
77
+ `--minify Minify JavaScript`,
78
+ ``,
79
+ _chalk.default`-m, --host <mode> Dev server hosting type. {dim Default: lan}`,
80
+ _chalk.default` {bold lan}: Use the local network`,
81
+ _chalk.default` {bold tunnel}: Use any network by tunnel through ngrok`,
82
+ _chalk.default` {bold localhost}: Connect to the dev server over localhost`,
83
+ `--tunnel Same as --host tunnel`,
84
+ `--lan Same as --host lan`,
85
+ `--localhost Same as --host localhost`,
86
+ ``,
87
+ `--offline Skip network requests and use anonymous manifest signatures`,
88
+ `--https Start the dev server with https protocol`,
89
+ `--scheme <scheme> Custom URI protocol to use when launching an app`,
90
+ _chalk.default`-p, --port <port> Port to start the dev server on (does not apply to web or tunnel). {dim Default: 19000}`,
91
+ ``,
92
+ _chalk.default`--dev-client {yellow Experimental:} Starts the bundler for use with the expo-development-client`,
93
+ `--force-manifest-type <manifest-type> Override auto detection of manifest type`,
94
+ `--private-key-path <path> Path to private key for code signing. Default: "private-key.pem" in the same directory as the certificate specified by the expo-updates configuration in app.json.`,
95
+ `-h, --help Usage info`,
96
+ ].join("\n"));
97
+ }
98
+ const projectRoot = (0, _args).getProjectRoot(args);
99
+ const { resolveOptionsAsync } = await Promise.resolve().then(function() {
100
+ return _interopRequireWildcard(require("./resolveOptions"));
101
+ });
102
+ const options = await resolveOptionsAsync(projectRoot, args).catch(_errors.logCmdError);
103
+ const { APISettings } = await Promise.resolve().then(function() {
104
+ return _interopRequireWildcard(require("../api/settings"));
105
+ });
106
+ APISettings.isOffline = options.offline;
107
+ const { startAsync } = await Promise.resolve().then(function() {
108
+ return _interopRequireWildcard(require("./startAsync"));
109
+ });
110
+ return startAsync(projectRoot, options, {
111
+ webOnly: false
112
+ }).catch(_errors.logCmdError);
113
+ };
114
+ exports.expoStart = expoStart;
115
+
116
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/start/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport chalk from 'chalk';\n\nimport { Command } from '../../bin/cli';\nimport { assertArgs, getProjectRoot, printHelp } from '../utils/args';\nimport { logCmdError } from '../utils/errors';\n\nexport const expoStart: Command = async (argv) => {\n const args = assertArgs(\n {\n // Types\n '--help': Boolean,\n '--clear': Boolean,\n '--max-workers': Number,\n '--no-dev': Boolean,\n '--minify': Boolean,\n '--https': Boolean,\n '--force-manifest-type': String,\n '--private-key-path': String,\n '--port': Number,\n '--dev-client': Boolean,\n '--scheme': String,\n '--android': Boolean,\n '--ios': Boolean,\n '--web': Boolean,\n '--host': String,\n '--tunnel': Boolean,\n '--lan': Boolean,\n '--localhost': Boolean,\n '--offline': Boolean,\n // Aliases\n '-h': '--help',\n '-c': '--clear',\n '-p': '--port',\n '-a': '--android',\n '-i': '--ios',\n '-w': '--web',\n '-m': '--host',\n },\n argv\n );\n\n if (args['--help']) {\n printHelp(\n `Start a local dev server for the app`,\n chalk`npx expo start {dim <dir>}`,\n [\n chalk`<dir> Directory of the Expo project. {dim Default: Current working directory}`,\n `-a, --android Opens your app in Expo Go on a connected Android device`,\n `-i, --ios Opens your app in Expo Go in a currently running iOS simulator on your computer`,\n `-w, --web Opens your app in a web browser`,\n ``,\n `-c, --clear Clear the bundler cache`,\n `--max-workers <num> Maximum number of tasks to allow Metro to spawn`,\n `--no-dev Bundle in production mode`,\n `--minify Minify JavaScript`,\n ``,\n chalk`-m, --host <mode> Dev server hosting type. {dim Default: lan}`,\n chalk` {bold lan}: Use the local network`,\n chalk` {bold tunnel}: Use any network by tunnel through ngrok`,\n chalk` {bold localhost}: Connect to the dev server over localhost`,\n `--tunnel Same as --host tunnel`,\n `--lan Same as --host lan`,\n `--localhost Same as --host localhost`,\n ``,\n `--offline Skip network requests and use anonymous manifest signatures`,\n `--https Start the dev server with https protocol`,\n `--scheme <scheme> Custom URI protocol to use when launching an app`,\n chalk`-p, --port <port> Port to start the dev server on (does not apply to web or tunnel). {dim Default: 19000}`,\n ``,\n chalk`--dev-client {yellow Experimental:} Starts the bundler for use with the expo-development-client`,\n `--force-manifest-type <manifest-type> Override auto detection of manifest type`,\n `--private-key-path <path> Path to private key for code signing. Default: \"private-key.pem\" in the same directory as the certificate specified by the expo-updates configuration in app.json.`,\n `-h, --help Usage info`,\n ].join('\\n')\n );\n }\n\n const projectRoot = getProjectRoot(args);\n const { resolveOptionsAsync } = await import('./resolveOptions');\n const options = await resolveOptionsAsync(projectRoot, args).catch(logCmdError);\n\n const { APISettings } = await import('../api/settings');\n APISettings.isOffline = options.offline;\n\n const { startAsync } = await import('./startAsync');\n return startAsync(projectRoot, options, { webOnly: false }).catch(logCmdError);\n};\n"],"names":["expoStart","argv","args","assertArgs","Boolean","Number","String","printHelp","chalk","join","projectRoot","getProjectRoot","resolveOptionsAsync","options","catch","logCmdError","APISettings","isOffline","offline","startAsync","webOnly"],"mappings":"AAAA;;;;;;AACkB,IAAA,MAAO,kCAAP,OAAO,EAAA;AAG6B,IAAA,KAAe,WAAf,eAAe,CAAA;AACzC,IAAA,OAAiB,WAAjB,iBAAiB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtC,MAAMA,SAAS,GAAY,OAAOC,IAAI,GAAK;IAChD,MAAMC,IAAI,GAAGC,CAAAA,GAAAA,KAAU,AAgCtB,CAAA,WAhCsB,CACrB;QACE,QAAQ;QACR,QAAQ,EAAEC,OAAO;QACjB,SAAS,EAAEA,OAAO;QAClB,eAAe,EAAEC,MAAM;QACvB,UAAU,EAAED,OAAO;QACnB,UAAU,EAAEA,OAAO;QACnB,SAAS,EAAEA,OAAO;QAClB,uBAAuB,EAAEE,MAAM;QAC/B,oBAAoB,EAAEA,MAAM;QAC5B,QAAQ,EAAED,MAAM;QAChB,cAAc,EAAED,OAAO;QACvB,UAAU,EAAEE,MAAM;QAClB,WAAW,EAAEF,OAAO;QACpB,OAAO,EAAEA,OAAO;QAChB,OAAO,EAAEA,OAAO;QAChB,QAAQ,EAAEE,MAAM;QAChB,UAAU,EAAEF,OAAO;QACnB,OAAO,EAAEA,OAAO;QAChB,aAAa,EAAEA,OAAO;QACtB,WAAW,EAAEA,OAAO;QACpB,UAAU;QACV,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;KACf,EACDH,IAAI,CACL,AAAC;IAEF,IAAIC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAClBK,CAAAA,GAAAA,KAAS,AAgCR,CAAA,UAhCQ,CACP,CAAC,oCAAoC,CAAC,EACtCC,MAAK,QAAA,CAAC,0BAA0B,CAAC,EACjC;YACEA,MAAK,QAAA,CAAC,8GAA8G,CAAC;YACrH,CAAC,8FAA8F,CAAC;YAChG,CAAC,sHAAsH,CAAC;YACxH,CAAC,sEAAsE,CAAC;YACxE,CAAC,CAAC;YACF,CAAC,8DAA8D,CAAC;YAChE,CAAC,sFAAsF,CAAC;YACxF,CAAC,gEAAgE,CAAC;YAClE,CAAC,wDAAwD,CAAC;YAC1D,CAAC,CAAC;YACFA,MAAK,QAAA,CAAC,kFAAkF,CAAC;YACzFA,MAAK,QAAA,CAAC,wEAAwE,CAAC;YAC/EA,MAAK,QAAA,CAAC,6FAA6F,CAAC;YACpGA,MAAK,QAAA,CAAC,iGAAiG,CAAC;YACxG,CAAC,4DAA4D,CAAC;YAC9D,CAAC,yDAAyD,CAAC;YAC3D,CAAC,+DAA+D,CAAC;YACjE,CAAC,CAAC;YACF,CAAC,kGAAkG,CAAC;YACpG,CAAC,+EAA+E,CAAC;YACjF,CAAC,uFAAuF,CAAC;YACzFA,MAAK,QAAA,CAAC,8HAA8H,CAAC;YACrI,CAAC,CAAC;YACFA,MAAK,QAAA,CAAC,yHAAyH,CAAC;YAChI,CAAC,+EAA+E,CAAC;YACjF,CAAC,yMAAyM,CAAC;YAC3M,CAAC,iDAAiD,CAAC;SACpD,CAACC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;KACH;IAED,MAAMC,WAAW,GAAGC,CAAAA,GAAAA,KAAc,AAAM,CAAA,eAAN,CAACT,IAAI,CAAC,AAAC;IACzC,MAAM,EAAEU,mBAAmB,CAAA,EAAE,GAAG,MAAM;+CAAO,kBAAkB;MAAC,AAAC;IACjE,MAAMC,OAAO,GAAG,MAAMD,mBAAmB,CAACF,WAAW,EAAER,IAAI,CAAC,CAACY,KAAK,CAACC,OAAW,YAAA,CAAC,AAAC;IAEhF,MAAM,EAAEC,WAAW,CAAA,EAAE,GAAG,MAAM;+CAAO,iBAAiB;MAAC,AAAC;IACxDA,WAAW,CAACC,SAAS,GAAGJ,OAAO,CAACK,OAAO,CAAC;IAExC,MAAM,EAAEC,UAAU,CAAA,EAAE,GAAG,MAAM;+CAAO,cAAc;MAAC,AAAC;IACpD,OAAOA,UAAU,CAACT,WAAW,EAAEG,OAAO,EAAE;QAAEO,OAAO,EAAE,KAAK;KAAE,CAAC,CAACN,KAAK,CAACC,OAAW,YAAA,CAAC,CAAC;CAChF,AAAC;QAhFWf,SAAS,GAATA,SAAS"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ var Log = _interopRequireWildcard(require("../../log"));
6
+ var _errors = require("../../utils/errors");
7
+ function _interopRequireWildcard(obj) {
8
+ if (obj && obj.__esModule) {
9
+ return obj;
10
+ } else {
11
+ var newObj = {};
12
+ if (obj != null) {
13
+ for(var key in obj){
14
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
15
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
16
+ if (desc.get || desc.set) {
17
+ Object.defineProperty(newObj, key, desc);
18
+ } else {
19
+ newObj[key] = obj[key];
20
+ }
21
+ }
22
+ }
23
+ }
24
+ newObj.default = obj;
25
+ return newObj;
26
+ }
27
+ }
28
+ const CTRL_C = "\x03";
29
+ class KeyPressHandler {
30
+ constructor(onPress){
31
+ this.onPress = onPress;
32
+ this.isInterceptingKeyStrokes = false;
33
+ this.isHandlingKeyPress = false;
34
+ this.handleKeypress = async (key)=>{
35
+ // Prevent sending another event until the previous event has finished.
36
+ if (this.isHandlingKeyPress && key !== CTRL_C) {
37
+ return;
38
+ }
39
+ this.isHandlingKeyPress = true;
40
+ try {
41
+ await this.onPress(key);
42
+ } catch (error) {
43
+ await (0, _errors).logCmdError(error);
44
+ } finally{
45
+ this.isHandlingKeyPress = false;
46
+ }
47
+ };
48
+ }
49
+ /** Start observing interaction pause listeners. */ createInteractionListener() {
50
+ // Support observing prompts.
51
+ let wasIntercepting = false;
52
+ const listener = ({ pause })=>{
53
+ if (pause) {
54
+ // Track if we were already intercepting key strokes before pausing, so we can
55
+ // resume after pausing.
56
+ wasIntercepting = this.isInterceptingKeyStrokes;
57
+ this.stopInterceptingKeyStrokes();
58
+ } else if (wasIntercepting) {
59
+ // Only start if we were previously intercepting.
60
+ this.startInterceptingKeyStrokes();
61
+ }
62
+ };
63
+ return listener;
64
+ }
65
+ /** Start intercepting all key strokes and passing them to the input `onPress` method. */ startInterceptingKeyStrokes() {
66
+ if (this.isInterceptingKeyStrokes) {
67
+ return;
68
+ }
69
+ this.isInterceptingKeyStrokes = true;
70
+ const { stdin } = process;
71
+ // TODO: This might be here because of an old Node version.
72
+ if (!stdin.setRawMode) {
73
+ Log.warn("Using a non-interactive terminal, keyboard commands are disabled.");
74
+ return;
75
+ }
76
+ stdin.setRawMode(true);
77
+ stdin.resume();
78
+ stdin.setEncoding("utf8");
79
+ stdin.on("data", this.handleKeypress);
80
+ }
81
+ /** Stop intercepting all key strokes. */ stopInterceptingKeyStrokes() {
82
+ if (!this.isInterceptingKeyStrokes) {
83
+ return;
84
+ }
85
+ this.isInterceptingKeyStrokes = false;
86
+ const { stdin } = process;
87
+ stdin.removeListener("data", this.handleKeypress);
88
+ // TODO: This might be here because of an old Node version.
89
+ if (!stdin.setRawMode) {
90
+ Log.warn("Using a non-interactive terminal, keyboard commands are disabled.");
91
+ return;
92
+ }
93
+ stdin.setRawMode(false);
94
+ stdin.resume();
95
+ }
96
+ }
97
+ exports.KeyPressHandler = KeyPressHandler;
98
+
99
+ //# sourceMappingURL=KeyPressHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/start/interface/KeyPressHandler.ts"],"sourcesContent":["import * as Log from '../../log';\nimport { logCmdError } from '../../utils/errors';\n\nconst CTRL_C = '\\u0003';\n\n/** An abstract key stroke interceptor. */\nexport class KeyPressHandler {\n private isInterceptingKeyStrokes = false;\n private isHandlingKeyPress = false;\n\n constructor(public onPress: (key: string) => Promise<any>) {}\n\n /** Start observing interaction pause listeners. */\n createInteractionListener() {\n // Support observing prompts.\n let wasIntercepting = false;\n\n const listener = ({ pause }: { pause: boolean }) => {\n if (pause) {\n // Track if we were already intercepting key strokes before pausing, so we can\n // resume after pausing.\n wasIntercepting = this.isInterceptingKeyStrokes;\n this.stopInterceptingKeyStrokes();\n } else if (wasIntercepting) {\n // Only start if we were previously intercepting.\n this.startInterceptingKeyStrokes();\n }\n };\n\n return listener;\n }\n\n private handleKeypress = async (key: string) => {\n // Prevent sending another event until the previous event has finished.\n if (this.isHandlingKeyPress && key !== CTRL_C) {\n return;\n }\n this.isHandlingKeyPress = true;\n try {\n await this.onPress(key);\n } catch (error: any) {\n await logCmdError(error);\n } finally {\n this.isHandlingKeyPress = false;\n }\n };\n\n /** Start intercepting all key strokes and passing them to the input `onPress` method. */\n startInterceptingKeyStrokes() {\n if (this.isInterceptingKeyStrokes) {\n return;\n }\n this.isInterceptingKeyStrokes = true;\n const { stdin } = process;\n // TODO: This might be here because of an old Node version.\n if (!stdin.setRawMode) {\n Log.warn('Using a non-interactive terminal, keyboard commands are disabled.');\n return;\n }\n stdin.setRawMode(true);\n stdin.resume();\n stdin.setEncoding('utf8');\n stdin.on('data', this.handleKeypress);\n }\n\n /** Stop intercepting all key strokes. */\n stopInterceptingKeyStrokes() {\n if (!this.isInterceptingKeyStrokes) {\n return;\n }\n this.isInterceptingKeyStrokes = false;\n const { stdin } = process;\n stdin.removeListener('data', this.handleKeypress);\n // TODO: This might be here because of an old Node version.\n if (!stdin.setRawMode) {\n Log.warn('Using a non-interactive terminal, keyboard commands are disabled.');\n return;\n }\n stdin.setRawMode(false);\n stdin.resume();\n }\n}\n"],"names":["Log","CTRL_C","KeyPressHandler","constructor","onPress","isInterceptingKeyStrokes","isHandlingKeyPress","handleKeypress","key","error","logCmdError","createInteractionListener","wasIntercepting","listener","pause","stopInterceptingKeyStrokes","startInterceptingKeyStrokes","stdin","process","setRawMode","warn","resume","setEncoding","on","removeListener"],"mappings":"AAAA;;;;AAAYA,IAAAA,GAAG,mCAAM,WAAW,EAAjB;AACa,IAAA,OAAoB,WAApB,oBAAoB,CAAA;;;;;;;;;;;;;;;;;;;;;;AAEhD,MAAMC,MAAM,GAAG,MAAQ,AAAC;AAGjB,MAAMC,eAAe;IAI1BC,YAAmBC,OAAsC,CAAE;aAAxCA,OAAsC,GAAtCA,OAAsC;aAHjDC,wBAAwB,GAAG,KAAK;aAChCC,kBAAkB,GAAG,KAAK;aAwB1BC,cAAc,GAAG,OAAOC,GAAW,GAAK;YAC9C,uEAAuE;YACvE,IAAI,IAAI,CAACF,kBAAkB,IAAIE,GAAG,KAAKP,MAAM,EAAE;gBAC7C,OAAO;aACR;YACD,IAAI,CAACK,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI;gBACF,MAAM,IAAI,CAACF,OAAO,CAACI,GAAG,CAAC,CAAC;aACzB,CAAC,OAAOC,KAAK,EAAO;gBACnB,MAAMC,CAAAA,GAAAA,OAAW,AAAO,CAAA,YAAP,CAACD,KAAK,CAAC,CAAC;aAC1B,QAAS;gBACR,IAAI,CAACH,kBAAkB,GAAG,KAAK,CAAC;aACjC;SACF;KAnC4D;IAE7D,mDAAmD,CACnDK,yBAAyB,GAAG;QAC1B,6BAA6B;QAC7B,IAAIC,eAAe,GAAG,KAAK,AAAC;QAE5B,MAAMC,QAAQ,GAAG,CAAC,EAAEC,KAAK,CAAA,EAAsB,GAAK;YAClD,IAAIA,KAAK,EAAE;gBACT,8EAA8E;gBAC9E,wBAAwB;gBACxBF,eAAe,GAAG,IAAI,CAACP,wBAAwB,CAAC;gBAChD,IAAI,CAACU,0BAA0B,EAAE,CAAC;aACnC,MAAM,IAAIH,eAAe,EAAE;gBAC1B,iDAAiD;gBACjD,IAAI,CAACI,2BAA2B,EAAE,CAAC;aACpC;SACF,AAAC;QAEF,OAAOH,QAAQ,CAAC;KACjB;IAiBD,yFAAyF,CACzFG,2BAA2B,GAAG;QAC5B,IAAI,IAAI,CAACX,wBAAwB,EAAE;YACjC,OAAO;SACR;QACD,IAAI,CAACA,wBAAwB,GAAG,IAAI,CAAC;QACrC,MAAM,EAAEY,KAAK,CAAA,EAAE,GAAGC,OAAO,AAAC;QAC1B,2DAA2D;QAC3D,IAAI,CAACD,KAAK,CAACE,UAAU,EAAE;YACrBnB,GAAG,CAACoB,IAAI,CAAC,mEAAmE,CAAC,CAAC;YAC9E,OAAO;SACR;QACDH,KAAK,CAACE,UAAU,CAAC,IAAI,CAAC,CAAC;QACvBF,KAAK,CAACI,MAAM,EAAE,CAAC;QACfJ,KAAK,CAACK,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1BL,KAAK,CAACM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAChB,cAAc,CAAC,CAAC;KACvC;IAED,yCAAyC,CACzCQ,0BAA0B,GAAG;QAC3B,IAAI,CAAC,IAAI,CAACV,wBAAwB,EAAE;YAClC,OAAO;SACR;QACD,IAAI,CAACA,wBAAwB,GAAG,KAAK,CAAC;QACtC,MAAM,EAAEY,KAAK,CAAA,EAAE,GAAGC,OAAO,AAAC;QAC1BD,KAAK,CAACO,cAAc,CAAC,MAAM,EAAE,IAAI,CAACjB,cAAc,CAAC,CAAC;QAClD,2DAA2D;QAC3D,IAAI,CAACU,KAAK,CAACE,UAAU,EAAE;YACrBnB,GAAG,CAACoB,IAAI,CAAC,mEAAmE,CAAC,CAAC;YAC9E,OAAO;SACR;QACDH,KAAK,CAACE,UAAU,CAAC,KAAK,CAAC,CAAC;QACxBF,KAAK,CAACI,MAAM,EAAE,CAAC;KAChB;CACF;QA3EYnB,eAAe,GAAfA,eAAe"}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.printQRCode = printQRCode;
6
+ exports.printUsage = printUsage;
7
+ exports.printItem = exports.getTerminalColumns = exports.printHelp = exports.BLT = void 0;
8
+ var _chalk = _interopRequireDefault(require("chalk"));
9
+ var _qrcodeTerminal = _interopRequireDefault(require("qrcode-terminal"));
10
+ var _wrapAnsi = _interopRequireDefault(require("wrap-ansi"));
11
+ var Log = _interopRequireWildcard(require("../../log"));
12
+ function _interopRequireDefault(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ default: obj
15
+ };
16
+ }
17
+ function _interopRequireWildcard(obj) {
18
+ if (obj && obj.__esModule) {
19
+ return obj;
20
+ } else {
21
+ var newObj = {};
22
+ if (obj != null) {
23
+ for(var key in obj){
24
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
25
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
26
+ if (desc.get || desc.set) {
27
+ Object.defineProperty(newObj, key, desc);
28
+ } else {
29
+ newObj[key] = obj[key];
30
+ }
31
+ }
32
+ }
33
+ }
34
+ newObj.default = obj;
35
+ return newObj;
36
+ }
37
+ }
38
+ const BLT = "\u203A";
39
+ exports.BLT = BLT;
40
+ const printHelp = ()=>{
41
+ logCommandsTable([
42
+ {
43
+ key: "?",
44
+ msg: "show all commands"
45
+ }
46
+ ]);
47
+ };
48
+ exports.printHelp = printHelp;
49
+ function printQRCode(url) {
50
+ _qrcodeTerminal.default.generate(url, {
51
+ small: true
52
+ }, (code)=>Log.log(code)
53
+ );
54
+ }
55
+ const getTerminalColumns = ()=>process.stdout.columns || 80
56
+ ;
57
+ exports.getTerminalColumns = getTerminalColumns;
58
+ const printItem = (text)=>`${BLT} ` + (0, _wrapAnsi).default(text, getTerminalColumns()).trimStart()
59
+ ;
60
+ exports.printItem = printItem;
61
+ function printUsage(options, { verbose }) {
62
+ const isMac = process.platform === "darwin";
63
+ const { platforms =[
64
+ "ios",
65
+ "android",
66
+ "web"
67
+ ] } = options;
68
+ const isAndroidDisabled = !platforms.includes("android");
69
+ const isIosDisabled = !platforms.includes("ios");
70
+ const isWebDisable = !platforms.includes("web");
71
+ if (verbose) {
72
+ logCommandsTable([
73
+ {},
74
+ {
75
+ key: "a",
76
+ msg: "open Android",
77
+ disabled: isAndroidDisabled
78
+ },
79
+ {
80
+ key: "shift+a",
81
+ msg: "select a device or emulator",
82
+ disabled: isAndroidDisabled
83
+ },
84
+ isMac && {
85
+ key: "i",
86
+ msg: "open iOS simulator",
87
+ disabled: isIosDisabled
88
+ },
89
+ isMac && {
90
+ key: "shift+i",
91
+ msg: "select a simulator",
92
+ disabled: isIosDisabled
93
+ },
94
+ {
95
+ key: "w",
96
+ msg: "open web",
97
+ disabled: isWebDisable
98
+ },
99
+ {},
100
+ {
101
+ key: "r",
102
+ msg: "reload app"
103
+ },
104
+ !!options.isWebSocketsEnabled && {
105
+ key: "m",
106
+ msg: "toggle menu"
107
+ },
108
+ !!options.isWebSocketsEnabled && {
109
+ key: "shift+m",
110
+ msg: "more tools"
111
+ },
112
+ !!options.isWebSocketsEnabled && {
113
+ key: "j",
114
+ msg: "open JavaScript inspector for Hermes"
115
+ },
116
+ {
117
+ key: "o",
118
+ msg: "open project code in your editor"
119
+ },
120
+ {
121
+ key: "c",
122
+ msg: "show project QR"
123
+ },
124
+ {},
125
+ ]);
126
+ } else {
127
+ logCommandsTable([
128
+ {},
129
+ {
130
+ key: "a",
131
+ msg: "open Android",
132
+ disabled: isAndroidDisabled
133
+ },
134
+ isMac && {
135
+ key: "i",
136
+ msg: "open iOS simulator",
137
+ disabled: isIosDisabled
138
+ },
139
+ {
140
+ key: "w",
141
+ msg: "open web",
142
+ disabled: isWebDisable
143
+ },
144
+ {},
145
+ {
146
+ key: "r",
147
+ msg: "reload app"
148
+ },
149
+ !!options.isWebSocketsEnabled && {
150
+ key: "m",
151
+ msg: "toggle menu"
152
+ },
153
+ {},
154
+ ]);
155
+ }
156
+ }
157
+ function logCommandsTable(ui) {
158
+ Log.log(ui.filter(Boolean)// @ts-ignore: filter doesn't work
159
+ .map(({ key , msg , status , disabled })=>{
160
+ if (!key) return "";
161
+ let view = `${BLT} `;
162
+ if (key.length === 1) view += "Press ";
163
+ view += _chalk.default`{bold ${key}} {dim │} `;
164
+ view += msg;
165
+ if (status) {
166
+ view += ` ${_chalk.default.dim(`(${_chalk.default.italic(status)})`)}`;
167
+ }
168
+ if (disabled) {
169
+ view = _chalk.default.dim(view);
170
+ }
171
+ return view;
172
+ }).join("\n"));
173
+ }
174
+
175
+ //# sourceMappingURL=commandsTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/start/interface/commandsTable.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config-types';\nimport chalk from 'chalk';\nimport qrcode from 'qrcode-terminal';\nimport wrapAnsi from 'wrap-ansi';\n\nimport * as Log from '../../log';\n\nexport const BLT = '\\u203A';\n\nexport type StartOptions = {\n isWebSocketsEnabled?: boolean;\n devClient?: boolean;\n reset?: boolean;\n nonPersistent?: boolean;\n maxWorkers?: number;\n platforms?: ExpoConfig['platforms'];\n};\n\nexport const printHelp = (): void => {\n logCommandsTable([{ key: '?', msg: 'show all commands' }]);\n};\n\n/** Print the world famous 'Expo QR Code'. */\nexport function printQRCode(url: string) {\n qrcode.generate(url, { small: true }, (code) => Log.log(code));\n}\n\nexport const getTerminalColumns = () => process.stdout.columns || 80;\nexport const printItem = (text: string): string =>\n `${BLT} ` + wrapAnsi(text, getTerminalColumns()).trimStart();\n\nexport function printUsage(\n options: Pick<StartOptions, 'devClient' | 'isWebSocketsEnabled' | 'platforms'>,\n { verbose }: { verbose: boolean }\n) {\n const isMac = process.platform === 'darwin';\n\n const { platforms = ['ios', 'android', 'web'] } = options;\n\n const isAndroidDisabled = !platforms.includes('android');\n const isIosDisabled = !platforms.includes('ios');\n const isWebDisable = !platforms.includes('web');\n\n if (verbose) {\n logCommandsTable([\n {},\n { key: 'a', msg: 'open Android', disabled: isAndroidDisabled },\n { key: 'shift+a', msg: 'select a device or emulator', disabled: isAndroidDisabled },\n isMac && { key: 'i', msg: 'open iOS simulator', disabled: isIosDisabled },\n isMac && { key: 'shift+i', msg: 'select a simulator', disabled: isIosDisabled },\n { key: 'w', msg: 'open web', disabled: isWebDisable },\n {},\n { key: 'r', msg: 'reload app' },\n !!options.isWebSocketsEnabled && { key: 'm', msg: 'toggle menu' },\n !!options.isWebSocketsEnabled && { key: 'shift+m', msg: 'more tools' },\n !!options.isWebSocketsEnabled && { key: 'j', msg: 'open JavaScript inspector for Hermes' },\n { key: 'o', msg: 'open project code in your editor' },\n { key: 'c', msg: 'show project QR' },\n {},\n ]);\n } else {\n logCommandsTable([\n {},\n { key: 'a', msg: 'open Android', disabled: isAndroidDisabled },\n isMac && { key: 'i', msg: 'open iOS simulator', disabled: isIosDisabled },\n { key: 'w', msg: 'open web', disabled: isWebDisable },\n {},\n { key: 'r', msg: 'reload app' },\n !!options.isWebSocketsEnabled && { key: 'm', msg: 'toggle menu' },\n {},\n ]);\n }\n}\n\nfunction logCommandsTable(\n ui: (false | { key?: string; msg?: string; status?: string; disabled?: boolean })[]\n) {\n Log.log(\n ui\n .filter(Boolean)\n // @ts-ignore: filter doesn't work\n .map(({ key, msg, status, disabled }) => {\n if (!key) return '';\n let view = `${BLT} `;\n if (key.length === 1) view += 'Press ';\n view += chalk`{bold ${key}} {dim │} `;\n view += msg;\n if (status) {\n view += ` ${chalk.dim(`(${chalk.italic(status)})`)}`;\n }\n if (disabled) {\n view = chalk.dim(view);\n }\n return view;\n })\n .join('\\n')\n );\n}\n"],"names":["printQRCode","printUsage","Log","BLT","printHelp","logCommandsTable","key","msg","url","qrcode","generate","small","code","log","getTerminalColumns","process","stdout","columns","printItem","text","wrapAnsi","trimStart","options","verbose","isMac","platform","platforms","isAndroidDisabled","includes","isIosDisabled","isWebDisable","disabled","isWebSocketsEnabled","ui","filter","Boolean","map","status","view","length","chalk","dim","italic","join"],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ var _devServer = require("@expo/dev-server");
6
+ var _assert = _interopRequireDefault(require("assert"));
7
+ var _chalk = _interopRequireDefault(require("chalk"));
8
+ var Log = _interopRequireWildcard(require("../../log"));
9
+ var _link = require("../../utils/link");
10
+ var _prompts = require("../../utils/prompts");
11
+ var _commandsTable = require("./commandsTable");
12
+ function _interopRequireDefault(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ default: obj
15
+ };
16
+ }
17
+ function _interopRequireWildcard(obj) {
18
+ if (obj && obj.__esModule) {
19
+ return obj;
20
+ } else {
21
+ var newObj = {};
22
+ if (obj != null) {
23
+ for(var key in obj){
24
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
25
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
26
+ if (desc.get || desc.set) {
27
+ Object.defineProperty(newObj, key, desc);
28
+ } else {
29
+ newObj[key] = obj[key];
30
+ }
31
+ }
32
+ }
33
+ }
34
+ newObj.default = obj;
35
+ return newObj;
36
+ }
37
+ }
38
+ class DevServerManagerActions {
39
+ constructor(devServerManager){
40
+ this.devServerManager = devServerManager;
41
+ }
42
+ printDevServerInfo(options) {
43
+ var ref;
44
+ // If native dev server is running, print its URL.
45
+ if (this.devServerManager.getNativeDevServerPort()) {
46
+ try {
47
+ const url = this.devServerManager.getDefaultDevServer().getNativeRuntimeUrl();
48
+ (0, _commandsTable).printQRCode(url);
49
+ Log.log((0, _commandsTable).printItem(_chalk.default`Metro waiting on {underline ${url}}`));
50
+ // TODO: if development build, change this message!
51
+ Log.log((0, _commandsTable).printItem("Scan the QR code above with Expo Go (Android) or the Camera app (iOS)"));
52
+ } catch (error) {
53
+ // @ts-ignore: If there is no development build scheme, then skip the QR code.
54
+ if (error.code !== "NO_DEV_CLIENT_SCHEME") {
55
+ throw error;
56
+ } else {
57
+ const serverUrl = this.devServerManager.getDefaultDevServer().getDevServerUrl();
58
+ Log.log((0, _commandsTable).printItem(_chalk.default`Metro waiting on {underline ${serverUrl}}`));
59
+ Log.log((0, _commandsTable).printItem(`Linking is disabled because the client scheme cannot be resolved.`));
60
+ }
61
+ }
62
+ }
63
+ const webUrl = (ref = this.devServerManager.getWebDevServer()) == null ? void 0 : ref.getDevServerUrl({
64
+ hostType: "localhost"
65
+ });
66
+ if (webUrl) {
67
+ Log.log();
68
+ Log.log((0, _commandsTable).printItem(_chalk.default`Webpack waiting on {underline ${webUrl}}`));
69
+ Log.log(_chalk.default.gray((0, _commandsTable).printItem("Expo Webpack (web) is in beta, and subject to breaking changes!")));
70
+ }
71
+ (0, _commandsTable).printUsage(options, {
72
+ verbose: false
73
+ });
74
+ (0, _commandsTable).printHelp();
75
+ Log.log();
76
+ }
77
+ async openJsInspectorAsync() {
78
+ Log.log("Opening JavaScript inspector in the browser...");
79
+ const port = this.devServerManager.getNativeDevServerPort();
80
+ (0, _assert).default(port, "Metro dev server is not running");
81
+ const metroServerOrigin = `http://localhost:${port}`;
82
+ const apps = await (0, _devServer).queryAllInspectorAppsAsync(metroServerOrigin);
83
+ if (!apps.length) {
84
+ Log.warn(`No compatible apps connected. This feature is only available for apps using the Hermes runtime. ${(0, _link).learnMore("https://docs.expo.dev/guides/using-hermes/")}`);
85
+ return;
86
+ }
87
+ for (const app of apps){
88
+ (0, _devServer).openJsInspector(app);
89
+ }
90
+ }
91
+ reloadApp() {
92
+ Log.log(`${_commandsTable.BLT} Reloading apps`);
93
+ // Send reload requests over the dev servers
94
+ this.devServerManager.broadcastMessage("reload");
95
+ }
96
+ async openMoreToolsAsync() {
97
+ try {
98
+ // Options match: Chrome > View > Developer
99
+ const value = await (0, _prompts).selectAsync(_chalk.default`Dev tools {dim (native only)}`, [
100
+ {
101
+ title: "Inspect elements",
102
+ value: "toggleElementInspector"
103
+ },
104
+ {
105
+ title: "Toggle performance monitor",
106
+ value: "togglePerformanceMonitor"
107
+ },
108
+ {
109
+ title: "Toggle developer menu",
110
+ value: "toggleDevMenu"
111
+ },
112
+ {
113
+ title: "Reload app",
114
+ value: "reload"
115
+ },
116
+ ]);
117
+ this.devServerManager.broadcastMessage("sendDevCommand", {
118
+ name: value
119
+ });
120
+ } catch (error) {
121
+ Log.debug(error);
122
+ // do nothing
123
+ } finally{
124
+ (0, _commandsTable).printHelp();
125
+ }
126
+ }
127
+ toggleDevMenu() {
128
+ Log.log(`${_commandsTable.BLT} Toggling dev menu`);
129
+ this.devServerManager.broadcastMessage("devMenu");
130
+ }
131
+ }
132
+ exports.DevServerManagerActions = DevServerManagerActions;
133
+
134
+ //# sourceMappingURL=interactiveActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/start/interface/interactiveActions.ts"],"sourcesContent":["import { openJsInspector, queryAllInspectorAppsAsync } from '@expo/dev-server';\nimport assert from 'assert';\nimport chalk from 'chalk';\n\nimport * as Log from '../../log';\nimport { learnMore } from '../../utils/link';\nimport { selectAsync } from '../../utils/prompts';\nimport { DevServerManager } from '../server/DevServerManager';\nimport { BLT, printHelp, printItem, printQRCode, printUsage, StartOptions } from './commandsTable';\n\n/** Wraps the DevServerManager and adds an interface for user actions. */\nexport class DevServerManagerActions {\n constructor(private devServerManager: DevServerManager) {}\n\n printDevServerInfo(\n options: Pick<StartOptions, 'devClient' | 'isWebSocketsEnabled' | 'platforms'>\n ) {\n // If native dev server is running, print its URL.\n if (this.devServerManager.getNativeDevServerPort()) {\n try {\n const url = this.devServerManager.getDefaultDevServer().getNativeRuntimeUrl()!;\n\n printQRCode(url);\n Log.log(printItem(chalk`Metro waiting on {underline ${url}}`));\n // TODO: if development build, change this message!\n Log.log(printItem('Scan the QR code above with Expo Go (Android) or the Camera app (iOS)'));\n } catch (error) {\n // @ts-ignore: If there is no development build scheme, then skip the QR code.\n if (error.code !== 'NO_DEV_CLIENT_SCHEME') {\n throw error;\n } else {\n const serverUrl = this.devServerManager.getDefaultDevServer().getDevServerUrl();\n Log.log(printItem(chalk`Metro waiting on {underline ${serverUrl}}`));\n Log.log(printItem(`Linking is disabled because the client scheme cannot be resolved.`));\n }\n }\n }\n\n const webUrl = this.devServerManager\n .getWebDevServer()\n ?.getDevServerUrl({ hostType: 'localhost' });\n if (webUrl) {\n Log.log();\n Log.log(printItem(chalk`Webpack waiting on {underline ${webUrl}}`));\n Log.log(\n chalk.gray(printItem('Expo Webpack (web) is in beta, and subject to breaking changes!'))\n );\n }\n\n printUsage(options, { verbose: false });\n printHelp();\n Log.log();\n }\n\n async openJsInspectorAsync() {\n Log.log('Opening JavaScript inspector in the browser...');\n const port = this.devServerManager.getNativeDevServerPort();\n assert(port, 'Metro dev server is not running');\n const metroServerOrigin = `http://localhost:${port}`;\n const apps = await queryAllInspectorAppsAsync(metroServerOrigin);\n if (!apps.length) {\n Log.warn(\n `No compatible apps connected. This feature is only available for apps using the Hermes runtime. ${learnMore(\n 'https://docs.expo.dev/guides/using-hermes/'\n )}`\n );\n return;\n }\n for (const app of apps) {\n openJsInspector(app);\n }\n }\n\n reloadApp() {\n Log.log(`${BLT} Reloading apps`);\n // Send reload requests over the dev servers\n this.devServerManager.broadcastMessage('reload');\n }\n\n async openMoreToolsAsync() {\n try {\n // Options match: Chrome > View > Developer\n const value = await selectAsync(chalk`Dev tools {dim (native only)}`, [\n { title: 'Inspect elements', value: 'toggleElementInspector' },\n { title: 'Toggle performance monitor', value: 'togglePerformanceMonitor' },\n { title: 'Toggle developer menu', value: 'toggleDevMenu' },\n { title: 'Reload app', value: 'reload' },\n // TODO: Maybe a \"View Source\" option to open code.\n // Toggling Remote JS Debugging is pretty rough, so leaving it disabled.\n // { title: 'Toggle Remote Debugging', value: 'toggleRemoteDebugging' },\n ]);\n this.devServerManager.broadcastMessage('sendDevCommand', { name: value });\n } catch (error: any) {\n Log.debug(error);\n // do nothing\n } finally {\n printHelp();\n }\n }\n\n toggleDevMenu() {\n Log.log(`${BLT} Toggling dev menu`);\n this.devServerManager.broadcastMessage('devMenu');\n }\n}\n"],"names":["Log","DevServerManagerActions","constructor","devServerManager","printDevServerInfo","options","getNativeDevServerPort","url","getDefaultDevServer","getNativeRuntimeUrl","printQRCode","log","printItem","chalk","error","code","serverUrl","getDevServerUrl","webUrl","getWebDevServer","hostType","gray","printUsage","verbose","printHelp","openJsInspectorAsync","port","assert","metroServerOrigin","apps","queryAllInspectorAppsAsync","length","warn","learnMore","app","openJsInspector","reloadApp","BLT","broadcastMessage","openMoreToolsAsync","value","selectAsync","title","name","debug","toggleDevMenu"],"mappings":"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"}