@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 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/webpack/tls.ts"],"sourcesContent":["import { certificateFor } from '@expo/devcert';\nimport chalk from 'chalk';\nimport fs from 'fs/promises';\nimport path from 'path';\n\nimport * as Log from '../../../log';\nimport { ensureDirectoryAsync } from '../../../utils/dir';\nimport { ensureDotExpoProjectDirectoryInitialized } from '../../project/dotExpo';\n\n// TODO: Move to doctor as a prereq.\n\n/** Ensure TLS is setup and environment variables are set. */\nexport async function ensureEnvironmentSupportsTLSAsync(projectRoot: string) {\n if (!process.env.SSL_CRT_FILE || !process.env.SSL_KEY_FILE) {\n const tls = await getTLSCertAsync(projectRoot);\n if (tls) {\n process.env.SSL_CRT_FILE = tls.certPath;\n process.env.SSL_KEY_FILE = tls.keyPath;\n }\n }\n}\n\n/** Create TLS and write to files in the temporary directory. Exposed for testing. */\nexport async function getTLSCertAsync(\n projectRoot: string\n): Promise<{ keyPath: string; certPath: string } | false> {\n Log.log(\n chalk`Creating TLS certificate for localhost. {dim This functionality may not work on all computers.}`\n );\n\n const name = 'localhost';\n const result = await certificateFor(name);\n if (result) {\n const dotExpoDir = ensureDotExpoProjectDirectoryInitialized(projectRoot);\n\n const { key, cert } = result;\n const folder = path.join(dotExpoDir, 'tls');\n const keyPath = path.join(folder, `key-${name}.pem`);\n const certPath = path.join(folder, `cert-${name}.pem`);\n\n await ensureDirectoryAsync(folder);\n await Promise.allSettled([fs.writeFile(keyPath, key), fs.writeFile(certPath, cert)]);\n\n return {\n keyPath,\n certPath,\n };\n }\n return result;\n}\n"],"names":["ensureEnvironmentSupportsTLSAsync","getTLSCertAsync","Log","projectRoot","process","env","SSL_CRT_FILE","SSL_KEY_FILE","tls","certPath","keyPath","log","chalk","name","result","certificateFor","dotExpoDir","ensureDotExpoProjectDirectoryInitialized","key","cert","folder","path","join","ensureDirectoryAsync","Promise","allSettled","fs","writeFile"],"mappings":"AAAA;;;;QAYsBA,iCAAiC,GAAjCA,iCAAiC;QAWjCC,eAAe,GAAfA,eAAe;AAvBN,IAAA,QAAe,WAAf,eAAe,CAAA;AAC5B,IAAA,MAAO,kCAAP,OAAO,EAAA;AACV,IAAA,SAAa,kCAAb,aAAa,EAAA;AACX,IAAA,KAAM,kCAAN,MAAM,EAAA;AAEXC,IAAAA,GAAG,mCAAM,cAAc,EAApB;AACsB,IAAA,IAAoB,WAApB,oBAAoB,CAAA;AACA,IAAA,QAAuB,WAAvB,uBAAuB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKzE,eAAeF,iCAAiC,CAACG,WAAmB,EAAE;IAC3E,IAAI,CAACC,OAAO,CAACC,GAAG,CAACC,YAAY,IAAI,CAACF,OAAO,CAACC,GAAG,CAACE,YAAY,EAAE;QAC1D,MAAMC,GAAG,GAAG,MAAMP,eAAe,CAACE,WAAW,CAAC,AAAC;QAC/C,IAAIK,GAAG,EAAE;YACPJ,OAAO,CAACC,GAAG,CAACC,YAAY,GAAGE,GAAG,CAACC,QAAQ,CAAC;YACxCL,OAAO,CAACC,GAAG,CAACE,YAAY,GAAGC,GAAG,CAACE,OAAO,CAAC;SACxC;KACF;CACF;AAGM,eAAeT,eAAe,CACnCE,WAAmB,EACqC;IACxDD,GAAG,CAACS,GAAG,CACLC,MAAK,QAAA,CAAC,+FAA+F,CAAC,CACvG,CAAC;IAEF,MAAMC,IAAI,GAAG,WAAW,AAAC;IACzB,MAAMC,MAAM,GAAG,MAAMC,CAAAA,GAAAA,QAAc,AAAM,CAAA,eAAN,CAACF,IAAI,CAAC,AAAC;IAC1C,IAAIC,MAAM,EAAE;QACV,MAAME,UAAU,GAAGC,CAAAA,GAAAA,QAAwC,AAAa,CAAA,yCAAb,CAACd,WAAW,CAAC,AAAC;QAEzE,MAAM,EAAEe,GAAG,CAAA,EAAEC,IAAI,CAAA,EAAE,GAAGL,MAAM,AAAC;QAC7B,MAAMM,MAAM,GAAGC,KAAI,QAAA,CAACC,IAAI,CAACN,UAAU,EAAE,KAAK,CAAC,AAAC;QAC5C,MAAMN,OAAO,GAAGW,KAAI,QAAA,CAACC,IAAI,CAACF,MAAM,EAAE,CAAC,IAAI,EAAEP,IAAI,CAAC,IAAI,CAAC,CAAC,AAAC;QACrD,MAAMJ,QAAQ,GAAGY,KAAI,QAAA,CAACC,IAAI,CAACF,MAAM,EAAE,CAAC,KAAK,EAAEP,IAAI,CAAC,IAAI,CAAC,CAAC,AAAC;QAEvD,MAAMU,CAAAA,GAAAA,IAAoB,AAAQ,CAAA,qBAAR,CAACH,MAAM,CAAC,CAAC;QACnC,MAAMI,OAAO,CAACC,UAAU,CAAC;YAACC,SAAE,QAAA,CAACC,SAAS,CAACjB,OAAO,EAAEQ,GAAG,CAAC;YAAEQ,SAAE,QAAA,CAACC,SAAS,CAAClB,QAAQ,EAAEU,IAAI,CAAC;SAAC,CAAC,CAAC;QAErF,OAAO;YACLT,OAAO;YACPD,QAAQ;SACT,CAAC;KACH;IACD,OAAOK,MAAM,CAAC;CACf"}
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.startAsync = startAsync;
6
+ var _config = require("@expo/config");
7
+ var _chalk = _interopRequireDefault(require("chalk"));
8
+ var Log = _interopRequireWildcard(require("../log"));
9
+ var _getDevClientProperties = _interopRequireDefault(require("../utils/analytics/getDevClientProperties"));
10
+ var _rudderstackClient = require("../utils/analytics/rudderstackClient");
11
+ var _env = require("../utils/env");
12
+ var _exit = require("../utils/exit");
13
+ var _profile = require("../utils/profile");
14
+ var _validateDependenciesVersions = require("./doctor/dependencies/validateDependenciesVersions");
15
+ var _typeScriptProjectPrerequisite = require("./doctor/typescript/TypeScriptProjectPrerequisite");
16
+ var _webSupportProjectPrerequisite = require("./doctor/web/WebSupportProjectPrerequisite");
17
+ var _startInterface = require("./interface/startInterface");
18
+ var _resolveOptions = require("./resolveOptions");
19
+ var _devServerManager = require("./server/DevServerManager");
20
+ var _openPlatforms = require("./server/openPlatforms");
21
+ function _interopRequireDefault(obj) {
22
+ return obj && obj.__esModule ? obj : {
23
+ default: obj
24
+ };
25
+ }
26
+ function _interopRequireWildcard(obj) {
27
+ if (obj && obj.__esModule) {
28
+ return obj;
29
+ } else {
30
+ var newObj = {};
31
+ if (obj != null) {
32
+ for(var key in obj){
33
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
34
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
35
+ if (desc.get || desc.set) {
36
+ Object.defineProperty(newObj, key, desc);
37
+ } else {
38
+ newObj[key] = obj[key];
39
+ }
40
+ }
41
+ }
42
+ }
43
+ newObj.default = obj;
44
+ return newObj;
45
+ }
46
+ }
47
+ async function getMultiBundlerStartOptions(projectRoot, { forceManifestType , ...options }, settings) {
48
+ var _privateKeyPath;
49
+ const commonOptions = {
50
+ mode: options.dev ? "development" : "production",
51
+ devClient: options.devClient,
52
+ forceManifestType,
53
+ privateKeyPath: (_privateKeyPath = options.privateKeyPath) != null ? _privateKeyPath : undefined,
54
+ https: options.https,
55
+ maxWorkers: options.maxWorkers,
56
+ resetDevServer: options.clear,
57
+ minify: options.minify,
58
+ location: {
59
+ hostType: options.host,
60
+ scheme: options.scheme
61
+ }
62
+ };
63
+ const multiBundlerSettings = await (0, _resolveOptions).resolvePortsAsync(projectRoot, options, settings);
64
+ const multiBundlerStartOptions = [];
65
+ if (options.web || settings.webOnly) {
66
+ multiBundlerStartOptions.push({
67
+ type: "webpack",
68
+ options: {
69
+ ...commonOptions,
70
+ port: multiBundlerSettings.webpackPort
71
+ }
72
+ });
73
+ }
74
+ if (!settings.webOnly) {
75
+ multiBundlerStartOptions.push({
76
+ type: "metro",
77
+ options: {
78
+ ...commonOptions,
79
+ port: multiBundlerSettings.metroPort
80
+ }
81
+ });
82
+ }
83
+ return [
84
+ commonOptions,
85
+ multiBundlerStartOptions
86
+ ];
87
+ }
88
+ async function startAsync(projectRoot, options, settings) {
89
+ Log.log(_chalk.default.gray(`Starting project at ${projectRoot}`));
90
+ const { exp , pkg } = (0, _profile).profile(_config.getConfig)(projectRoot);
91
+ if (!options.forceManifestType) {
92
+ var ref;
93
+ const easUpdatesUrlRegex = /^https:\/\/(staging-)?u\.expo\.dev/;
94
+ const isEasUpdatesUrl = ((ref = exp.updates) == null ? void 0 : ref.url) ? easUpdatesUrlRegex.test(exp.updates.url) : false;
95
+ options.forceManifestType = isEasUpdatesUrl ? "expo-updates" : "classic";
96
+ }
97
+ const [defaultOptions, startOptions] = await getMultiBundlerStartOptions(projectRoot, options, settings);
98
+ const devServerManager = new _devServerManager.DevServerManager(projectRoot, defaultOptions);
99
+ // Validations
100
+ if (options.web || settings.webOnly) {
101
+ await devServerManager.ensureProjectPrerequisiteAsync(_webSupportProjectPrerequisite.WebSupportProjectPrerequisite);
102
+ }
103
+ await devServerManager.ensureProjectPrerequisiteAsync(_typeScriptProjectPrerequisite.TypeScriptProjectPrerequisite);
104
+ if (!settings.webOnly && !options.devClient) {
105
+ await (0, _profile).profile(_validateDependenciesVersions.validateDependenciesVersionsAsync)(projectRoot, exp, pkg);
106
+ }
107
+ // Some tracking thing
108
+ if (options.devClient) {
109
+ track(projectRoot, exp);
110
+ }
111
+ await (0, _profile).profile(devServerManager.startAsync.bind(devServerManager))(startOptions);
112
+ // Open project on devices.
113
+ await (0, _profile).profile(_openPlatforms.openPlatformsAsync)(devServerManager, options);
114
+ // Present the Terminal UI.
115
+ if (!_env.env.CI) {
116
+ var _platforms;
117
+ await (0, _profile).profile(_startInterface.startInterfaceAsync)(devServerManager, {
118
+ platforms: (_platforms = exp.platforms) != null ? _platforms : [
119
+ "ios",
120
+ "android",
121
+ "web"
122
+ ]
123
+ });
124
+ } else {
125
+ var ref1;
126
+ // Display the server location in CI...
127
+ const url = (ref1 = devServerManager.getDefaultDevServer()) == null ? void 0 : ref1.getDevServerUrl();
128
+ if (url) {
129
+ Log.log(_chalk.default`Waiting on {underline ${url}}`);
130
+ }
131
+ }
132
+ // Final note about closing the server.
133
+ const logLocation = settings.webOnly ? "in the browser console" : "below";
134
+ Log.log(_chalk.default`Logs for your project will appear ${logLocation}.${_env.env.CI ? "" : _chalk.default.dim(` Press Ctrl+C to exit.`)}`);
135
+ }
136
+ function track(projectRoot, exp) {
137
+ (0, _rudderstackClient).logEvent("dev client start command", {
138
+ status: "started",
139
+ ...(0, _getDevClientProperties).default(projectRoot, exp)
140
+ });
141
+ (0, _exit).installExitHooks(()=>{
142
+ (0, _rudderstackClient).logEvent("dev client start command", {
143
+ status: "finished",
144
+ ...(0, _getDevClientProperties).default(projectRoot, exp)
145
+ });
146
+ // UnifiedAnalytics.flush();
147
+ });
148
+ }
149
+
150
+ //# sourceMappingURL=startAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/start/startAsync.ts"],"sourcesContent":["import { ExpoConfig, getConfig } from '@expo/config';\nimport chalk from 'chalk';\n\nimport * as Log from '../log';\nimport getDevClientProperties from '../utils/analytics/getDevClientProperties';\nimport { logEvent } from '../utils/analytics/rudderstackClient';\nimport { env } from '../utils/env';\nimport { installExitHooks } from '../utils/exit';\nimport { profile } from '../utils/profile';\nimport { validateDependenciesVersionsAsync } from './doctor/dependencies/validateDependenciesVersions';\nimport { TypeScriptProjectPrerequisite } from './doctor/typescript/TypeScriptProjectPrerequisite';\nimport { WebSupportProjectPrerequisite } from './doctor/web/WebSupportProjectPrerequisite';\nimport { startInterfaceAsync } from './interface/startInterface';\nimport { Options, resolvePortsAsync } from './resolveOptions';\nimport { BundlerStartOptions } from './server/BundlerDevServer';\nimport { DevServerManager, MultiBundlerStartOptions } from './server/DevServerManager';\nimport { openPlatformsAsync } from './server/openPlatforms';\n\nasync function getMultiBundlerStartOptions(\n projectRoot: string,\n { forceManifestType, ...options }: Options,\n settings: { webOnly?: boolean }\n): Promise<[BundlerStartOptions, MultiBundlerStartOptions]> {\n const commonOptions: BundlerStartOptions = {\n mode: options.dev ? 'development' : 'production',\n devClient: options.devClient,\n forceManifestType,\n privateKeyPath: options.privateKeyPath ?? undefined,\n https: options.https,\n maxWorkers: options.maxWorkers,\n resetDevServer: options.clear,\n minify: options.minify,\n location: {\n hostType: options.host,\n scheme: options.scheme,\n },\n };\n const multiBundlerSettings = await resolvePortsAsync(projectRoot, options, settings);\n\n const multiBundlerStartOptions: MultiBundlerStartOptions = [];\n\n if (options.web || settings.webOnly) {\n multiBundlerStartOptions.push({\n type: 'webpack',\n options: {\n ...commonOptions,\n port: multiBundlerSettings.webpackPort,\n },\n });\n }\n\n if (!settings.webOnly) {\n multiBundlerStartOptions.push({\n type: 'metro',\n options: {\n ...commonOptions,\n port: multiBundlerSettings.metroPort,\n },\n });\n }\n\n return [commonOptions, multiBundlerStartOptions];\n}\n\nexport async function startAsync(\n projectRoot: string,\n options: Options,\n settings: { webOnly?: boolean }\n) {\n Log.log(chalk.gray(`Starting project at ${projectRoot}`));\n\n const { exp, pkg } = profile(getConfig)(projectRoot);\n\n if (!options.forceManifestType) {\n const easUpdatesUrlRegex = /^https:\\/\\/(staging-)?u\\.expo\\.dev/;\n const isEasUpdatesUrl = exp.updates?.url ? easUpdatesUrlRegex.test(exp.updates.url) : false;\n options.forceManifestType = isEasUpdatesUrl ? 'expo-updates' : 'classic';\n }\n\n const [defaultOptions, startOptions] = await getMultiBundlerStartOptions(\n projectRoot,\n options,\n settings\n );\n\n const devServerManager = new DevServerManager(projectRoot, defaultOptions);\n\n // Validations\n\n if (options.web || settings.webOnly) {\n await devServerManager.ensureProjectPrerequisiteAsync(WebSupportProjectPrerequisite);\n }\n\n await devServerManager.ensureProjectPrerequisiteAsync(TypeScriptProjectPrerequisite);\n\n if (!settings.webOnly && !options.devClient) {\n await profile(validateDependenciesVersionsAsync)(projectRoot, exp, pkg);\n }\n\n // Some tracking thing\n\n if (options.devClient) {\n track(projectRoot, exp);\n }\n\n await profile(devServerManager.startAsync.bind(devServerManager))(startOptions);\n\n // Open project on devices.\n await profile(openPlatformsAsync)(devServerManager, options);\n\n // Present the Terminal UI.\n if (!env.CI) {\n await profile(startInterfaceAsync)(devServerManager, {\n platforms: exp.platforms ?? ['ios', 'android', 'web'],\n });\n } else {\n // Display the server location in CI...\n const url = devServerManager.getDefaultDevServer()?.getDevServerUrl();\n if (url) {\n Log.log(chalk`Waiting on {underline ${url}}`);\n }\n }\n\n // Final note about closing the server.\n const logLocation = settings.webOnly ? 'in the browser console' : 'below';\n Log.log(\n chalk`Logs for your project will appear ${logLocation}.${\n env.CI ? '' : chalk.dim(` Press Ctrl+C to exit.`)\n }`\n );\n}\n\nfunction track(projectRoot: string, exp: ExpoConfig) {\n logEvent('dev client start command', {\n status: 'started',\n ...getDevClientProperties(projectRoot, exp),\n });\n installExitHooks(() => {\n logEvent('dev client start command', {\n status: 'finished',\n ...getDevClientProperties(projectRoot, exp),\n });\n // UnifiedAnalytics.flush();\n });\n}\n"],"names":["startAsync","Log","getMultiBundlerStartOptions","projectRoot","forceManifestType","options","settings","commonOptions","mode","dev","devClient","privateKeyPath","undefined","https","maxWorkers","resetDevServer","clear","minify","location","hostType","host","scheme","multiBundlerSettings","resolvePortsAsync","multiBundlerStartOptions","web","webOnly","push","type","port","webpackPort","metroPort","log","chalk","gray","exp","pkg","profile","getConfig","easUpdatesUrlRegex","isEasUpdatesUrl","updates","url","test","defaultOptions","startOptions","devServerManager","DevServerManager","ensureProjectPrerequisiteAsync","WebSupportProjectPrerequisite","TypeScriptProjectPrerequisite","validateDependenciesVersionsAsync","track","bind","openPlatformsAsync","env","CI","startInterfaceAsync","platforms","getDefaultDevServer","getDevServerUrl","logLocation","dim","logEvent","status","getDevClientProperties","installExitHooks"],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ var _chalk = _interopRequireDefault(require("chalk"));
6
+ var _fs = require("fs");
7
+ var _path = _interopRequireDefault(require("path"));
8
+ var _resolveFrom = _interopRequireDefault(require("resolve-from"));
9
+ var Log = _interopRequireWildcard(require("../log"));
10
+ var _fn = require("./fn");
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
+ class FileNotifier {
38
+ constructor(projectRoot, moduleIds){
39
+ this.projectRoot = projectRoot;
40
+ this.moduleIds = moduleIds;
41
+ this.watchFile = (0, _fn).memoize(this.startWatchingFile.bind(this));
42
+ }
43
+ /** Get the file in the project. */ resolveFilePath() {
44
+ for (const moduleId of this.moduleIds){
45
+ const filePath = _resolveFrom.default.silent(this.projectRoot, moduleId);
46
+ if (filePath) {
47
+ return filePath;
48
+ }
49
+ }
50
+ return null;
51
+ }
52
+ startObserving() {
53
+ const configPath = this.resolveFilePath();
54
+ if (configPath) {
55
+ return this.watchFile(configPath);
56
+ }
57
+ return configPath;
58
+ }
59
+ startWatchingFile(filePath) {
60
+ const configName = _path.default.relative(this.projectRoot, filePath);
61
+ (0, _fs).watchFile(filePath, (cur, prev)=>{
62
+ if (prev.size || cur.size) {
63
+ Log.log(`\u203A Detected a change in ${_chalk.default.bold(configName)}. Restart the server to see the new results.`);
64
+ }
65
+ });
66
+ return filePath;
67
+ }
68
+ }
69
+ exports.FileNotifier = FileNotifier;
70
+
71
+ //# sourceMappingURL=FileNotifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/FileNotifier.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { watchFile } from 'fs';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\n\nimport * as Log from '../log';\nimport { memoize } from './fn';\n\n/** Observes and reports file changes. */\nexport class FileNotifier {\n constructor(\n /** Project root to resolve the module IDs relative to. */\n private projectRoot: string,\n /** List of module IDs sorted by priority. Only the first file that exists will be observed. */\n private moduleIds: string[]\n ) {}\n\n /** Get the file in the project. */\n private resolveFilePath(): string | null {\n for (const moduleId of this.moduleIds) {\n const filePath = resolveFrom.silent(this.projectRoot, moduleId);\n if (filePath) {\n return filePath;\n }\n }\n return null;\n }\n\n public startObserving() {\n const configPath = this.resolveFilePath();\n if (configPath) {\n return this.watchFile(configPath);\n }\n return configPath;\n }\n\n /** Watch the file and warn to reload the CLI if it changes. */\n public watchFile = memoize(this.startWatchingFile.bind(this));\n\n private startWatchingFile(filePath: string): string {\n const configName = path.relative(this.projectRoot, filePath);\n watchFile(filePath, (cur: any, prev: any) => {\n if (prev.size || cur.size) {\n Log.log(\n `\\u203A Detected a change in ${chalk.bold(\n configName\n )}. Restart the server to see the new results.`\n );\n }\n });\n return filePath;\n }\n}\n"],"names":["Log","FileNotifier","constructor","projectRoot","moduleIds","watchFile","memoize","startWatchingFile","bind","resolveFilePath","moduleId","filePath","resolveFrom","silent","startObserving","configPath","configName","path","relative","cur","prev","size","log","chalk","bold"],"mappings":"AAAA;;;;AAAkB,IAAA,MAAO,kCAAP,OAAO,EAAA;AACC,IAAA,GAAI,WAAJ,IAAI,CAAA;AACb,IAAA,KAAM,kCAAN,MAAM,EAAA;AACC,IAAA,YAAc,kCAAd,cAAc,EAAA;AAE1BA,IAAAA,GAAG,mCAAM,QAAQ,EAAd;AACS,IAAA,GAAM,WAAN,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGvB,MAAMC,YAAY;IACvBC,YAEUC,WAAmB,EAEnBC,SAAmB,CAC3B;aAHQD,WAAmB,GAAnBA,WAAmB;aAEnBC,SAAmB,GAAnBA,SAAmB;aAuBtBC,SAAS,GAAGC,CAAAA,GAAAA,GAAO,AAAmC,CAAA,QAAnC,CAAC,IAAI,CAACC,iBAAiB,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;KAtBzD;IAEJ,mCAAmC,CACnC,AAAQC,eAAe,GAAkB;QACvC,KAAK,MAAMC,QAAQ,IAAI,IAAI,CAACN,SAAS,CAAE;YACrC,MAAMO,QAAQ,GAAGC,YAAW,QAAA,CAACC,MAAM,CAAC,IAAI,CAACV,WAAW,EAAEO,QAAQ,CAAC,AAAC;YAChE,IAAIC,QAAQ,EAAE;gBACZ,OAAOA,QAAQ,CAAC;aACjB;SACF;QACD,OAAO,IAAI,CAAC;KACb;IAED,AAAOG,cAAc,GAAG;QACtB,MAAMC,UAAU,GAAG,IAAI,CAACN,eAAe,EAAE,AAAC;QAC1C,IAAIM,UAAU,EAAE;YACd,OAAO,IAAI,CAACV,SAAS,CAACU,UAAU,CAAC,CAAC;SACnC;QACD,OAAOA,UAAU,CAAC;KACnB;IAKD,AAAQR,iBAAiB,CAACI,QAAgB,EAAU;QAClD,MAAMK,UAAU,GAAGC,KAAI,QAAA,CAACC,QAAQ,CAAC,IAAI,CAACf,WAAW,EAAEQ,QAAQ,CAAC,AAAC;QAC7DN,CAAAA,GAAAA,GAAS,AAQP,CAAA,UARO,CAACM,QAAQ,EAAE,CAACQ,GAAQ,EAAEC,IAAS,GAAK;YAC3C,IAAIA,IAAI,CAACC,IAAI,IAAIF,GAAG,CAACE,IAAI,EAAE;gBACzBrB,GAAG,CAACsB,GAAG,CACL,CAAC,4BAA4B,EAAEC,MAAK,QAAA,CAACC,IAAI,CACvCR,UAAU,CACX,CAAC,4CAA4C,CAAC,CAChD,CAAC;aACH;SACF,CAAC,CAAC;QACH,OAAOL,QAAQ,CAAC;KACjB;CACF;QA3CYV,YAAY,GAAZA,YAAY"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.default = getDevClientProperties;
6
+ var _config = require("@expo/config");
7
+ var _jsonFile = _interopRequireDefault(require("@expo/json-file"));
8
+ var _resolveFrom = _interopRequireDefault(require("resolve-from"));
9
+ var _fn = require("../fn");
10
+ function getDevClientProperties(projectRoot, exp) {
11
+ return {
12
+ account_name: getAccountName({
13
+ owner: exp.owner
14
+ }),
15
+ dev_client_version: getDevClientVersion(projectRoot),
16
+ project_type: getProjectType(projectRoot),
17
+ uptime_ms: process.uptime() * 1000
18
+ };
19
+ }
20
+ function _interopRequireDefault(obj) {
21
+ return obj && obj.__esModule ? obj : {
22
+ default: obj
23
+ };
24
+ }
25
+ const getAccountName = (0, _fn).memoize((exp)=>{
26
+ return (0, _config).getAccountUsername(exp);
27
+ });
28
+ const getDevClientVersion = (0, _fn).memoize((projectRoot)=>{
29
+ try {
30
+ const devClientPackage = _resolveFrom.default.silent(projectRoot, "expo-dev-client/package.json");
31
+ if (devClientPackage) {
32
+ return _jsonFile.default.read(devClientPackage).version;
33
+ }
34
+ } catch {}
35
+ return undefined;
36
+ });
37
+ const getProjectType = (0, _fn).memoize((projectRoot)=>{
38
+ return (0, _config).getDefaultTarget(projectRoot) === "managed" ? "managed" : "generic";
39
+ });
40
+
41
+ //# sourceMappingURL=getDevClientProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/utils/analytics/getDevClientProperties.ts"],"sourcesContent":["import { ExpoConfig, getAccountUsername, getDefaultTarget } from '@expo/config';\nimport JsonFile, { JSONValue } from '@expo/json-file';\nimport resolveFrom from 'resolve-from';\n\nimport { memoize } from '../fn';\n\nconst getAccountName = memoize((exp: Pick<ExpoConfig, 'owner'>) => {\n return getAccountUsername(exp);\n});\n\nconst getDevClientVersion = memoize((projectRoot: string): JSONValue | undefined => {\n try {\n const devClientPackage = resolveFrom.silent(projectRoot, 'expo-dev-client/package.json');\n if (devClientPackage) {\n return JsonFile.read(devClientPackage).version;\n }\n } catch {}\n return undefined;\n});\n\nconst getProjectType = memoize((projectRoot: string): 'managed' | 'generic' => {\n return getDefaultTarget(projectRoot) === 'managed' ? 'managed' : 'generic';\n});\n\nexport default function getDevClientProperties(projectRoot: string, exp: ExpoConfig) {\n return {\n account_name: getAccountName({ owner: exp.owner }),\n dev_client_version: getDevClientVersion(projectRoot),\n project_type: getProjectType(projectRoot),\n uptime_ms: process.uptime() * 1000,\n };\n}\n"],"names":["getDevClientProperties","projectRoot","exp","account_name","getAccountName","owner","dev_client_version","getDevClientVersion","project_type","getProjectType","uptime_ms","process","uptime","memoize","getAccountUsername","devClientPackage","resolveFrom","silent","JsonFile","read","version","undefined","getDefaultTarget"],"mappings":"AAAA;;;;kBAwBwBA,sBAAsB;AAxBmB,IAAA,OAAc,WAAd,cAAc,CAAA;AAC3C,IAAA,SAAiB,kCAAjB,iBAAiB,EAAA;AAC7B,IAAA,YAAc,kCAAd,cAAc,EAAA;AAEd,IAAA,GAAO,WAAP,OAAO,CAAA;AAoBhB,SAASA,sBAAsB,CAACC,WAAmB,EAAEC,GAAe,EAAE;IACnF,OAAO;QACLC,YAAY,EAAEC,cAAc,CAAC;YAAEC,KAAK,EAAEH,GAAG,CAACG,KAAK;SAAE,CAAC;QAClDC,kBAAkB,EAAEC,mBAAmB,CAACN,WAAW,CAAC;QACpDO,YAAY,EAAEC,cAAc,CAACR,WAAW,CAAC;QACzCS,SAAS,EAAEC,OAAO,CAACC,MAAM,EAAE,GAAG,IAAI;KACnC,CAAC;CACH;;;;;;AAzBD,MAAMR,cAAc,GAAGS,CAAAA,GAAAA,GAAO,AAE5B,CAAA,QAF4B,CAAC,CAACX,GAA8B,GAAK;IACjE,OAAOY,CAAAA,GAAAA,OAAkB,AAAK,CAAA,mBAAL,CAACZ,GAAG,CAAC,CAAC;CAChC,CAAC,AAAC;AAEH,MAAMK,mBAAmB,GAAGM,CAAAA,GAAAA,GAAO,AAQjC,CAAA,QARiC,CAAC,CAACZ,WAAmB,GAA4B;IAClF,IAAI;QACF,MAAMc,gBAAgB,GAAGC,YAAW,QAAA,CAACC,MAAM,CAAChB,WAAW,EAAE,8BAA8B,CAAC,AAAC;QACzF,IAAIc,gBAAgB,EAAE;YACpB,OAAOG,SAAQ,QAAA,CAACC,IAAI,CAACJ,gBAAgB,CAAC,CAACK,OAAO,CAAC;SAChD;KACF,CAAC,OAAM,EAAE;IACV,OAAOC,SAAS,CAAC;CAClB,CAAC,AAAC;AAEH,MAAMZ,cAAc,GAAGI,CAAAA,GAAAA,GAAO,AAE5B,CAAA,QAF4B,CAAC,CAACZ,WAAmB,GAA4B;IAC7E,OAAOqB,CAAAA,GAAAA,OAAgB,AAAa,CAAA,iBAAb,CAACrB,WAAW,CAAC,KAAK,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;CAC5E,CAAC,AAAC"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.setUserDataAsync = setUserDataAsync;
6
+ exports.logEvent = logEvent;
7
+ var _rudderSdkNode = _interopRequireDefault(require("@expo/rudder-sdk-node"));
8
+ var _os = _interopRequireDefault(require("os"));
9
+ var _uuid = require("uuid");
10
+ var _userSettings = _interopRequireDefault(require("../../api/user/UserSettings"));
11
+ var _env = require("../env");
12
+ function _interopRequireDefault(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ default: obj
15
+ };
16
+ }
17
+ const PLATFORM_TO_ANALYTICS_PLATFORM = {
18
+ darwin: "Mac",
19
+ win32: "Windows",
20
+ linux: "Linux"
21
+ };
22
+ let client = null;
23
+ let identified = false;
24
+ let identifyData = null;
25
+ function getClient() {
26
+ if (client) {
27
+ return client;
28
+ }
29
+ client = new _rudderSdkNode.default(_env.env.EXPO_STAGING || _env.env.EXPO_LOCAL ? "24TKICqYKilXM480mA7ktgVDdea" : "24TKR7CQAaGgIrLTgu3Fp4OdOkI", "https://cdp.expo.dev/v1/batch", {
30
+ flushInterval: 300
31
+ });
32
+ // Install flush on exit...
33
+ process.on("SIGINT", ()=>{
34
+ return client == null ? void 0 : client.flush == null ? void 0 : client.flush();
35
+ });
36
+ process.on("SIGTERM", ()=>{
37
+ return client == null ? void 0 : client.flush == null ? void 0 : client.flush();
38
+ });
39
+ return client;
40
+ }
41
+ async function setUserDataAsync(userId, traits) {
42
+ if (_env.env.EXPO_NO_TELEMETRY) {
43
+ return;
44
+ }
45
+ const deviceId = await _userSettings.default.getAnonymousIdentifierAsync();
46
+ identifyData = {
47
+ userId,
48
+ deviceId,
49
+ traits
50
+ };
51
+ ensureIdentified();
52
+ }
53
+ function logEvent(event, properties = {}) {
54
+ if (_env.env.EXPO_NO_TELEMETRY) {
55
+ return;
56
+ }
57
+ ensureIdentified();
58
+ const { userId , deviceId } = identifyData != null ? identifyData : {};
59
+ const commonEventProperties = {
60
+ source_version: "0.1.2",
61
+ source: "expo"
62
+ };
63
+ const identity = {
64
+ userId: userId != null ? userId : undefined,
65
+ anonymousId: deviceId != null ? deviceId : (0, _uuid).v4()
66
+ };
67
+ getClient().track({
68
+ event,
69
+ properties: {
70
+ ...properties,
71
+ ...commonEventProperties
72
+ },
73
+ ...identity,
74
+ context: getContext()
75
+ });
76
+ }
77
+ function ensureIdentified() {
78
+ if (_env.env.EXPO_NO_TELEMETRY || identified || !identifyData) {
79
+ return;
80
+ }
81
+ getClient().identify({
82
+ userId: identifyData.userId,
83
+ anonymousId: identifyData.deviceId,
84
+ traits: identifyData.traits
85
+ });
86
+ identified = true;
87
+ }
88
+ function getContext() {
89
+ const platform = PLATFORM_TO_ANALYTICS_PLATFORM[_os.default.platform()] || _os.default.platform();
90
+ return {
91
+ os: {
92
+ name: platform,
93
+ version: _os.default.release()
94
+ },
95
+ device: {
96
+ type: platform,
97
+ model: platform
98
+ },
99
+ app: {
100
+ name: "expo",
101
+ version: "0.1.2"
102
+ }
103
+ };
104
+ }
105
+
106
+ //# sourceMappingURL=rudderstackClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/utils/analytics/rudderstackClient.ts"],"sourcesContent":["import RudderAnalytics from '@expo/rudder-sdk-node';\nimport os from 'os';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport UserSettings from '../../api/user/UserSettings';\nimport { env } from '../env';\n\nconst PLATFORM_TO_ANALYTICS_PLATFORM: { [platform: string]: string } = {\n darwin: 'Mac',\n win32: 'Windows',\n linux: 'Linux',\n};\n\nlet client: RudderAnalytics | null = null;\nlet identified = false;\nlet identifyData: {\n userId: string;\n deviceId: string;\n traits: Record<string, any>;\n} | null = null;\n\nfunction getClient(): RudderAnalytics {\n if (client) {\n return client;\n }\n\n client = new RudderAnalytics(\n env.EXPO_STAGING || env.EXPO_LOCAL\n ? '24TKICqYKilXM480mA7ktgVDdea'\n : '24TKR7CQAaGgIrLTgu3Fp4OdOkI', // expo unified\n 'https://cdp.expo.dev/v1/batch',\n {\n flushInterval: 300,\n }\n );\n\n // Install flush on exit...\n process.on('SIGINT', () => client?.flush?.());\n process.on('SIGTERM', () => client?.flush?.());\n\n return client;\n}\n\nexport async function setUserDataAsync(userId: string, traits: Record<string, any>): Promise<void> {\n if (env.EXPO_NO_TELEMETRY) {\n return;\n }\n\n const deviceId = await UserSettings.getAnonymousIdentifierAsync();\n\n identifyData = {\n userId,\n deviceId,\n traits,\n };\n\n ensureIdentified();\n}\n\nexport function logEvent(\n event: // TODO: revise\n | 'action'\n | 'Open Url on Device'\n | 'Start Project'\n | 'Serve Manifest'\n | 'dev client start command'\n | 'Serve Expo Updates Manifest',\n properties: Record<string, any> = {}\n): void {\n if (env.EXPO_NO_TELEMETRY) {\n return;\n }\n ensureIdentified();\n\n const { userId, deviceId } = identifyData ?? {};\n const commonEventProperties = { source_version: process.env.__EXPO_VERSION, source: 'expo' };\n\n const identity = { userId: userId ?? undefined, anonymousId: deviceId ?? uuidv4() };\n getClient().track({\n event,\n properties: { ...properties, ...commonEventProperties },\n ...identity,\n context: getContext(),\n });\n}\n\nfunction ensureIdentified(): void {\n if (env.EXPO_NO_TELEMETRY || identified || !identifyData) {\n return;\n }\n\n getClient().identify({\n userId: identifyData.userId,\n anonymousId: identifyData.deviceId,\n traits: identifyData.traits,\n });\n identified = true;\n}\n\nfunction getContext(): Record<string, any> {\n const platform = PLATFORM_TO_ANALYTICS_PLATFORM[os.platform()] || os.platform();\n return {\n os: { name: platform, version: os.release() },\n device: { type: platform, model: platform },\n app: { name: 'expo', version: process.env.__EXPO_VERSION },\n };\n}\n"],"names":["setUserDataAsync","logEvent","PLATFORM_TO_ANALYTICS_PLATFORM","darwin","win32","linux","client","identified","identifyData","getClient","RudderAnalytics","env","EXPO_STAGING","EXPO_LOCAL","flushInterval","process","on","flush","userId","traits","EXPO_NO_TELEMETRY","deviceId","UserSettings","getAnonymousIdentifierAsync","ensureIdentified","event","properties","commonEventProperties","source_version","__EXPO_VERSION","source","identity","undefined","anonymousId","uuidv4","track","context","getContext","identify","platform","os","name","version","release","device","type","model","app"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.stripAnsi = stripAnsi;
6
+ function stripAnsi(str) {
7
+ if (!str) {
8
+ return str;
9
+ }
10
+ const pattern = [
11
+ "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
12
+ "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))",
13
+ ].join("|");
14
+ return str.replace(new RegExp(pattern, "g"), "");
15
+ }
16
+
17
+ //# sourceMappingURL=ansi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/ansi.ts"],"sourcesContent":["/** Remove ansi characters from a string and return the sanitized results. */\nexport function stripAnsi(str?: string) {\n if (!str) {\n return str;\n }\n const pattern = [\n '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n '(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))',\n ].join('|');\n\n return str.replace(new RegExp(pattern, 'g'), '');\n}\n"],"names":["stripAnsi","str","pattern","join","replace","RegExp"],"mappings":"AACA;;;;QAAgBA,SAAS,GAATA,SAAS;AAAlB,SAASA,SAAS,CAACC,GAAY,EAAE;IACtC,IAAI,CAACA,GAAG,EAAE;QACR,OAAOA,GAAG,CAAC;KACZ;IACD,MAAMC,OAAO,GAAG;QACd,8HAA8H;QAC9H,0DAA0D;KAC3D,CAACC,IAAI,CAAC,GAAG,CAAC,AAAC;IAEZ,OAAOF,GAAG,CAACG,OAAO,CAAC,IAAIC,MAAM,CAACH,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;CAClD"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.getProjectRoot = getProjectRoot;
6
+ exports.assertArgs = assertArgs;
7
+ exports.assertWithOptionsArgs = assertWithOptionsArgs;
8
+ exports.printHelp = printHelp;
9
+ var _arg = _interopRequireDefault(require("arg"));
10
+ var _chalk = _interopRequireDefault(require("chalk"));
11
+ var _fs = require("fs");
12
+ var _path = require("path");
13
+ var Log = _interopRequireWildcard(require("../log"));
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 getProjectRoot(args) {
41
+ const projectRoot = (0, _path).resolve(args._[0] || ".");
42
+ if (!(0, _fs).existsSync(projectRoot)) {
43
+ Log.exit(`Invalid project root: ${projectRoot}`);
44
+ }
45
+ return projectRoot;
46
+ }
47
+ function assertArgs(schema, argv) {
48
+ return assertWithOptionsArgs(schema, {
49
+ argv
50
+ });
51
+ }
52
+ function assertWithOptionsArgs(schema, options) {
53
+ try {
54
+ return (0, _arg).default(schema, options);
55
+ } catch (error) {
56
+ // Ensure unknown options are handled the same way.
57
+ if (error.code === "ARG_UNKNOWN_OPTION") {
58
+ Log.exit(error.message, 1);
59
+ }
60
+ // Otherwise rethrow the error.
61
+ throw error;
62
+ }
63
+ }
64
+ function printHelp(info, usage, options, extra = "") {
65
+ Log.exit(_chalk.default`
66
+ {bold Info}
67
+ ${info}
68
+
69
+ {bold Usage}
70
+ {dim $} ${usage}
71
+
72
+ {bold Options}
73
+ ${options.split("\n").join("\n ")}
74
+ ` + extra, 0);
75
+ }
76
+
77
+ //# sourceMappingURL=args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/args.ts"],"sourcesContent":["// Common utilities for interacting with `args` library.\n// These functions should be used by every command.\nimport arg from 'arg';\nimport chalk from 'chalk';\nimport { existsSync } from 'fs';\nimport { resolve } from 'path';\n\nimport * as Log from '../log';\n\n/**\n * Parse the first argument as a project directory.\n *\n * @returns valid project directory.\n */\nexport function getProjectRoot(args: arg.Result<arg.Spec>) {\n const projectRoot = resolve(args._[0] || '.');\n\n if (!existsSync(projectRoot)) {\n Log.exit(`Invalid project root: ${projectRoot}`);\n }\n\n return projectRoot;\n}\n\n/**\n * Parse args and assert unknown options.\n *\n * @param schema the `args` schema for parsing the command line arguments.\n * @param argv extra strings\n * @returns processed args object.\n */\nexport function assertArgs(schema: arg.Spec, argv?: string[]): arg.Result<arg.Spec> {\n return assertWithOptionsArgs(schema, { argv });\n}\n\nexport function assertWithOptionsArgs(\n schema: arg.Spec,\n options: arg.Options\n): arg.Result<arg.Spec> {\n try {\n return arg(schema, options);\n } catch (error: any) {\n // Ensure unknown options are handled the same way.\n if (error.code === 'ARG_UNKNOWN_OPTION') {\n Log.exit(error.message, 1);\n }\n // Otherwise rethrow the error.\n throw error;\n }\n}\n\nexport function printHelp(info: string, usage: string, options: string, extra: string = ''): never {\n Log.exit(\n chalk`\n {bold Info}\n ${info}\n\n {bold Usage}\n {dim $} ${usage}\n\n {bold Options}\n ${options.split('\\n').join('\\n ')}\n` + extra,\n 0\n );\n}\n"],"names":["getProjectRoot","assertArgs","assertWithOptionsArgs","printHelp","Log","args","projectRoot","resolve","_","existsSync","exit","schema","argv","options","arg","error","code","message","info","usage","extra","chalk","split","join"],"mappings":"AAEA;;;;QAYgBA,cAAc,GAAdA,cAAc;QAiBdC,UAAU,GAAVA,UAAU;QAIVC,qBAAqB,GAArBA,qBAAqB;QAgBrBC,SAAS,GAATA,SAAS;AAjDT,IAAA,IAAK,kCAAL,KAAK,EAAA;AACH,IAAA,MAAO,kCAAP,OAAO,EAAA;AACE,IAAA,GAAI,WAAJ,IAAI,CAAA;AACP,IAAA,KAAM,WAAN,MAAM,CAAA;AAElBC,IAAAA,GAAG,mCAAM,QAAQ,EAAd;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOR,SAASJ,cAAc,CAACK,IAA0B,EAAE;IACzD,MAAMC,WAAW,GAAGC,CAAAA,GAAAA,KAAO,AAAkB,CAAA,QAAlB,CAACF,IAAI,CAACG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,AAAC;IAE9C,IAAI,CAACC,CAAAA,GAAAA,GAAU,AAAa,CAAA,WAAb,CAACH,WAAW,CAAC,EAAE;QAC5BF,GAAG,CAACM,IAAI,CAAC,CAAC,sBAAsB,EAAEJ,WAAW,CAAC,CAAC,CAAC,CAAC;KAClD;IAED,OAAOA,WAAW,CAAC;CACpB;AASM,SAASL,UAAU,CAACU,MAAgB,EAAEC,IAAe,EAAwB;IAClF,OAAOV,qBAAqB,CAACS,MAAM,EAAE;QAAEC,IAAI;KAAE,CAAC,CAAC;CAChD;AAEM,SAASV,qBAAqB,CACnCS,MAAgB,EAChBE,OAAoB,EACE;IACtB,IAAI;QACF,OAAOC,CAAAA,GAAAA,IAAG,AAAiB,CAAA,QAAjB,CAACH,MAAM,EAAEE,OAAO,CAAC,CAAC;KAC7B,CAAC,OAAOE,KAAK,EAAO;QACnB,mDAAmD;QACnD,IAAIA,KAAK,CAACC,IAAI,KAAK,oBAAoB,EAAE;YACvCZ,GAAG,CAACM,IAAI,CAACK,KAAK,CAACE,OAAO,EAAE,CAAC,CAAC,CAAC;SAC5B;QACD,+BAA+B;QAC/B,MAAMF,KAAK,CAAC;KACb;CACF;AAEM,SAASZ,SAAS,CAACe,IAAY,EAAEC,KAAa,EAAEN,OAAe,EAAEO,KAAa,GAAG,EAAE,EAAS;IACjGhB,GAAG,CAACM,IAAI,CACNW,MAAK,QAAA,CAAC;;IAEN,EAAEH,IAAI,CAAC;;;YAGC,EAAEC,KAAK,CAAC;;;IAGhB,EAAEN,OAAO,CAACS,KAAK,CAAC,IAAI,CAAC,CAACC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC,GAAGH,KAAK,EACL,CAAC,CACF,CAAC;CACH"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.findLastIndex = findLastIndex;
6
+ exports.intersecting = intersecting;
7
+ exports.replaceValue = replaceValue;
8
+ exports.uniqBy = uniqBy;
9
+ exports.chunk = chunk;
10
+ function findLastIndex(array, predicate) {
11
+ for(let i = array.length - 1; i >= 0; i--){
12
+ if (predicate(array[i])) {
13
+ return i;
14
+ }
15
+ }
16
+ return -1;
17
+ }
18
+ function intersecting(a, b) {
19
+ const [c, d] = a.length > b.length ? [
20
+ a,
21
+ b
22
+ ] : [
23
+ b,
24
+ a
25
+ ];
26
+ return c.filter((value)=>d.includes(value)
27
+ );
28
+ }
29
+ function replaceValue(values, original, replacement) {
30
+ const index = values.indexOf(original);
31
+ if (index > -1) {
32
+ values[index] = replacement;
33
+ }
34
+ return values;
35
+ }
36
+ function uniqBy(array, key) {
37
+ const seen = {};
38
+ return array.filter((item)=>{
39
+ const k = key(item);
40
+ if (seen[k]) {
41
+ return false;
42
+ }
43
+ seen[k] = true;
44
+ return true;
45
+ });
46
+ }
47
+ function chunk(array, size) {
48
+ const chunked = [];
49
+ let index = 0;
50
+ while(index < array.length){
51
+ chunked.push(array.slice(index, index += size));
52
+ }
53
+ return chunked;
54
+ }
55
+
56
+ //# sourceMappingURL=array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/array.ts"],"sourcesContent":["/** Returns the last index of an item based on a given criteria. */\nexport function findLastIndex<T>(array: T[], predicate: (item: T) => boolean) {\n for (let i = array.length - 1; i >= 0; i--) {\n if (predicate(array[i])) {\n return i;\n }\n }\n return -1;\n}\n\n/** Returns a list of items that intersect between two given arrays. */\nexport function intersecting<T>(a: T[], b: T[]): T[] {\n const [c, d] = a.length > b.length ? [a, b] : [b, a];\n return c.filter((value) => d.includes(value));\n}\n\nexport function replaceValue<T>(values: T[], original: T, replacement: T): T[] {\n const index = values.indexOf(original);\n if (index > -1) {\n values[index] = replacement;\n }\n return values;\n}\n\n/** lodash.uniqBy */\nexport function uniqBy<T>(array: T[], key: (item: T) => string): T[] {\n const seen: { [key: string]: boolean } = {};\n return array.filter((item) => {\n const k = key(item);\n if (seen[k]) {\n return false;\n }\n seen[k] = true;\n return true;\n });\n}\n\n/** `lodash.chunk` */\nexport function chunk<T>(array: T[], size: number): T[][] {\n const chunked = [];\n let index = 0;\n while (index < array.length) {\n chunked.push(array.slice(index, (index += size)));\n }\n return chunked;\n}\n"],"names":["findLastIndex","intersecting","replaceValue","uniqBy","chunk","array","predicate","i","length","a","b","c","d","filter","value","includes","values","original","replacement","index","indexOf","key","seen","item","k","size","chunked","push","slice"],"mappings":"AACA;;;;QAAgBA,aAAa,GAAbA,aAAa;QAUbC,YAAY,GAAZA,YAAY;QAKZC,YAAY,GAAZA,YAAY;QASZC,MAAM,GAANA,MAAM;QAaNC,KAAK,GAALA,KAAK;AArCd,SAASJ,aAAa,CAAIK,KAAU,EAAEC,SAA+B,EAAE;IAC5E,IAAK,IAAIC,CAAC,GAAGF,KAAK,CAACG,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,CAAE;QAC1C,IAAID,SAAS,CAACD,KAAK,CAACE,CAAC,CAAC,CAAC,EAAE;YACvB,OAAOA,CAAC,CAAC;SACV;KACF;IACD,OAAO,CAAC,CAAC,CAAC;CACX;AAGM,SAASN,YAAY,CAAIQ,CAAM,EAAEC,CAAM,EAAO;IACnD,MAAM,CAACC,CAAC,EAAEC,CAAC,CAAC,GAAGH,CAAC,CAACD,MAAM,GAAGE,CAAC,CAACF,MAAM,GAAG;QAACC,CAAC;QAAEC,CAAC;KAAC,GAAG;QAACA,CAAC;QAAED,CAAC;KAAC,AAAC;IACrD,OAAOE,CAAC,CAACE,MAAM,CAAC,CAACC,KAAK,GAAKF,CAAC,CAACG,QAAQ,CAACD,KAAK,CAAC;IAAA,CAAC,CAAC;CAC/C;AAEM,SAASZ,YAAY,CAAIc,MAAW,EAAEC,QAAW,EAAEC,WAAc,EAAO;IAC7E,MAAMC,KAAK,GAAGH,MAAM,CAACI,OAAO,CAACH,QAAQ,CAAC,AAAC;IACvC,IAAIE,KAAK,GAAG,CAAC,CAAC,EAAE;QACdH,MAAM,CAACG,KAAK,CAAC,GAAGD,WAAW,CAAC;KAC7B;IACD,OAAOF,MAAM,CAAC;CACf;AAGM,SAASb,MAAM,CAAIE,KAAU,EAAEgB,GAAwB,EAAO;IACnE,MAAMC,IAAI,GAA+B,EAAE,AAAC;IAC5C,OAAOjB,KAAK,CAACQ,MAAM,CAAC,CAACU,IAAI,GAAK;QAC5B,MAAMC,CAAC,GAAGH,GAAG,CAACE,IAAI,CAAC,AAAC;QACpB,IAAID,IAAI,CAACE,CAAC,CAAC,EAAE;YACX,OAAO,KAAK,CAAC;SACd;QACDF,IAAI,CAACE,CAAC,CAAC,GAAG,IAAI,CAAC;QACf,OAAO,IAAI,CAAC;KACb,CAAC,CAAC;CACJ;AAGM,SAASpB,KAAK,CAAIC,KAAU,EAAEoB,IAAY,EAAS;IACxD,MAAMC,OAAO,GAAG,EAAE,AAAC;IACnB,IAAIP,KAAK,GAAG,CAAC,AAAC;IACd,MAAOA,KAAK,GAAGd,KAAK,CAACG,MAAM,CAAE;QAC3BkB,OAAO,CAACC,IAAI,CAACtB,KAAK,CAACuB,KAAK,CAACT,KAAK,EAAGA,KAAK,IAAIM,IAAI,CAAE,CAAC,CAAC;KACnD;IACD,OAAOC,OAAO,CAAC;CAChB"}