@joystick.js/cli-canary 0.0.0-canary.66 → 0.0.0-canary.661

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 (563) hide show
  1. package/.build/getFilesToBuild.js +1 -1
  2. package/.build/index.js +3 -3
  3. package/dist/cli.js +1 -69
  4. package/dist/commands/build/definition.js +1 -0
  5. package/dist/commands/build/index.js +1 -0
  6. package/dist/commands/create/build_package_json.js +1 -0
  7. package/dist/commands/create/definition.js +1 -0
  8. package/dist/commands/create/index.js +2 -0
  9. package/dist/commands/create/template/api/index.js +6 -0
  10. package/dist/commands/create/template/email/base.css +1 -0
  11. package/dist/commands/create/template/email/base.html +1 -0
  12. package/dist/commands/create/template/email/reset_password.js +20 -0
  13. package/dist/commands/create/template/i18n/en-US.js +14 -0
  14. package/dist/commands/create/template/index.client.js +1 -0
  15. package/dist/commands/create/template/index.css +34 -0
  16. package/dist/{functions/create/templates → commands/create/template}/index.html +2 -3
  17. package/dist/{functions/create/templates → commands/create/template}/index.server.js +6 -6
  18. package/dist/commands/create/template/public/apple-touch-icon-152x152.png +0 -0
  19. package/dist/commands/create/template/public/favicon.ico +0 -0
  20. package/dist/commands/create/template/public/joystick_logo.webp +0 -0
  21. package/dist/{functions/create/templates → commands/create/template}/public/manifest.json +4 -4
  22. package/dist/commands/create/template/public/splash-screen-1024x1024.png +0 -0
  23. package/{src/functions/create/templates → dist/commands/create/template}/ui/components/button/index.js +14 -6
  24. package/{src/functions/create/templates → dist/commands/create/template}/ui/layouts/app/index.js +2 -2
  25. package/dist/commands/create/template/ui/pages/error/index.js +50 -0
  26. package/dist/commands/create/template/ui/pages/index/index.js +121 -0
  27. package/dist/commands/help/definition.js +1 -0
  28. package/dist/commands/help/index.js +19 -0
  29. package/dist/commands/index.js +1 -0
  30. package/dist/commands/logout/definition.js +1 -0
  31. package/dist/commands/logout/index.js +3 -0
  32. package/dist/commands/push/cdn_mirrors.js +1 -0
  33. package/dist/commands/push/check_if_settings_valid.js +1 -0
  34. package/dist/commands/push/create_version.js +1 -0
  35. package/dist/commands/push/definition.js +1 -0
  36. package/dist/commands/push/get_app_domain.js +1 -0
  37. package/dist/commands/push/get_deployment.js +1 -0
  38. package/dist/commands/push/get_provision_domain.js +1 -0
  39. package/dist/commands/push/get_session_token.js +1 -0
  40. package/dist/commands/push/get_settings_file.js +1 -0
  41. package/dist/commands/push/handle_initial_deployment.js +1 -0
  42. package/dist/commands/push/handle_version_deployment.js +1 -0
  43. package/dist/commands/push/index.js +8 -0
  44. package/dist/commands/push/prompts/confirm_deployment.js +17 -0
  45. package/dist/commands/push/prompts/session_token.js +5 -0
  46. package/dist/commands/push/upload_build_to_cdn.js +1 -0
  47. package/dist/commands/push/validate_deployment.js +1 -0
  48. package/dist/commands/push/validate_push_config.js +1 -0
  49. package/dist/commands/start/definition.js +1 -0
  50. package/dist/commands/start/index.js +1 -0
  51. package/dist/commands/test/definition.js +1 -0
  52. package/dist/commands/test/index.js +1 -0
  53. package/dist/commands/update/definition.js +1 -0
  54. package/dist/commands/update/index.js +1 -0
  55. package/dist/commands/use/definition.js +1 -0
  56. package/dist/commands/use/index.js +1 -0
  57. package/dist/index.js +1 -7
  58. package/dist/lib/build/browser_path_exclusions.js +1 -0
  59. package/dist/lib/build/browser_paths.js +1 -0
  60. package/dist/lib/build/build_files.js +3 -0
  61. package/dist/lib/build/copy_paths.js +1 -0
  62. package/dist/lib/build/get_code_frame.js +1 -0
  63. package/dist/lib/build/get_file_operation.js +1 -0
  64. package/dist/lib/build/get_files_to_build.js +1 -0
  65. package/dist/lib/build/get_path_platform.js +1 -0
  66. package/dist/lib/build/get_platform_safe_path.js +1 -0
  67. package/dist/lib/build/get_tar_ignore_list.js +2 -0
  68. package/dist/lib/build/index.js +3 -0
  69. package/dist/lib/build/master_ignore_list.js +1 -0
  70. package/dist/lib/build/minify_file.js +1 -0
  71. package/dist/lib/build/node_paths.js +1 -0
  72. package/dist/lib/build/on_warn.js +10 -0
  73. package/dist/lib/build/plugins/bootstrap_component.js +33 -0
  74. package/dist/lib/build/plugins/generate_file_dependency_map.js +1 -0
  75. package/dist/lib/build/plugins/index.js +1 -0
  76. package/dist/lib/build/plugins/set_component_id.js +2 -0
  77. package/dist/lib/build/plugins/update_file_map.js +1 -0
  78. package/dist/lib/build/plugins/warn_node_environment.js +3 -0
  79. package/dist/lib/cli_log.js +13 -0
  80. package/dist/lib/color_log.js +1 -0
  81. package/dist/lib/command_exists.js +1 -0
  82. package/dist/lib/constants.js +1 -4
  83. package/dist/lib/debounce.js +1 -0
  84. package/dist/lib/decrypt_buffer.js +1 -0
  85. package/dist/lib/development_server/ava_config.js +1 -0
  86. package/dist/lib/development_server/check_if_port_occupied.js +1 -0
  87. package/dist/lib/development_server/cleanup.js +1 -0
  88. package/dist/lib/development_server/databases/mongodb/available_query_parameters.js +1 -0
  89. package/dist/lib/development_server/databases/mongodb/build_connection_string.js +1 -0
  90. package/dist/lib/development_server/databases/mongodb/build_query_parameters.js +1 -0
  91. package/dist/lib/development_server/databases/mongodb/check_connection.js +2 -0
  92. package/dist/lib/development_server/databases/mongodb/connect.js +1 -0
  93. package/dist/lib/development_server/databases/mongodb/index.js +5 -0
  94. package/dist/lib/development_server/databases/postgresql/check_connection.js +2 -0
  95. package/dist/lib/development_server/databases/postgresql/connect.js +1 -0
  96. package/dist/lib/development_server/databases/postgresql/index.js +2 -0
  97. package/dist/lib/development_server/databases/provider_map.js +1 -0
  98. package/dist/lib/development_server/get_database_process_ids.js +1 -0
  99. package/dist/lib/development_server/get_translations.js +1 -0
  100. package/dist/lib/development_server/hmr_server.js +1 -0
  101. package/dist/lib/development_server/index.js +10 -0
  102. package/dist/lib/development_server/kill_process_ids.js +1 -0
  103. package/dist/lib/development_server/run_tests.js +2 -0
  104. package/dist/lib/development_server/start_app_server.js +1 -0
  105. package/dist/lib/development_server/start_databases.js +1 -0
  106. package/dist/lib/development_server/start_hmr_server.js +1 -0
  107. package/dist/lib/development_server/watch_for_changes/browser_path_exclusions.js +1 -0
  108. package/dist/lib/development_server/watch_for_changes/browser_paths.js +1 -0
  109. package/dist/lib/development_server/watch_for_changes/get_after_run_tasks.js +1 -0
  110. package/dist/lib/development_server/watch_for_changes/get_file_codependencies.js +1 -0
  111. package/dist/lib/development_server/watch_for_changes/get_platform_safe_path.js +1 -0
  112. package/dist/lib/development_server/watch_for_changes/index.js +1 -0
  113. package/dist/lib/development_server/watch_for_changes/node_paths.js +1 -0
  114. package/dist/lib/development_server/watch_for_changes/read_file_dependency_map.js +1 -0
  115. package/dist/lib/development_server/watch_for_changes/watch_paths.js +1 -0
  116. package/dist/lib/dynamic_import.js +1 -0
  117. package/dist/lib/encrypt_buffer.js +1 -0
  118. package/dist/lib/generate_id.js +1 -0
  119. package/dist/lib/get_files_in_path.js +1 -0
  120. package/dist/lib/get_platform_safe_path.js +1 -0
  121. package/dist/lib/get_process_id_from_port.js +2 -0
  122. package/dist/lib/is_valid_json_string.js +1 -0
  123. package/dist/lib/kill_port_process.js +1 -0
  124. package/dist/lib/kill_process_id.js +1 -0
  125. package/dist/lib/load_settings.js +1 -0
  126. package/dist/lib/loader.js +2 -82
  127. package/dist/lib/log_bars.js +1 -0
  128. package/dist/lib/node_path_polyfills.js +1 -0
  129. package/dist/lib/parse_args.js +1 -0
  130. package/dist/lib/parse_options.js +1 -0
  131. package/dist/lib/path_exists.js +1 -0
  132. package/dist/lib/rainbow_road.js +1 -0
  133. package/dist/lib/replace_in_files.js +1 -0
  134. package/dist/lib/required_files.js +1 -0
  135. package/dist/lib/serialize_query_parameters.js +1 -0
  136. package/dist/lib/types.js +1 -6
  137. package/increment_version.js +3 -0
  138. package/package.json +18 -37
  139. package/src/cli.js +63 -46
  140. package/src/commands/build/definition.js +58 -0
  141. package/src/commands/build/index.js +7 -0
  142. package/src/commands/create/build_package_json.js +20 -0
  143. package/src/commands/create/definition.js +35 -0
  144. package/src/commands/create/index.js +71 -0
  145. package/src/commands/create/template/api/index.js +6 -0
  146. package/src/commands/create/template/email/base.css +1 -0
  147. package/src/commands/create/template/email/base.html +1 -0
  148. package/src/commands/create/template/email/reset_password.js +20 -0
  149. package/src/commands/create/template/i18n/en-US.js +14 -0
  150. package/src/commands/create/template/index.client.js +1 -0
  151. package/src/commands/create/template/index.css +34 -0
  152. package/src/{functions/create/templates → commands/create/template}/index.html +2 -3
  153. package/src/{functions/create/templates → commands/create/template}/index.server.js +6 -6
  154. package/src/commands/create/template/public/apple-touch-icon-152x152.png +0 -0
  155. package/src/commands/create/template/public/favicon.ico +0 -0
  156. package/src/commands/create/template/public/joystick_logo.webp +0 -0
  157. package/src/{functions/create/templates → commands/create/template}/public/manifest.json +4 -4
  158. package/src/commands/create/template/public/splash-screen-1024x1024.png +0 -0
  159. package/{dist/functions/create/templates → src/commands/create/template}/ui/components/button/index.js +14 -6
  160. package/{dist/functions/create/templates → src/commands/create/template}/ui/layouts/app/index.js +2 -2
  161. package/src/commands/create/template/ui/pages/error/index.js +50 -0
  162. package/src/commands/create/template/ui/pages/index/index.js +121 -0
  163. package/src/commands/help/definition.js +12 -0
  164. package/src/commands/help/index.js +48 -0
  165. package/src/commands/index.js +23 -0
  166. package/src/commands/logout/definition.js +10 -0
  167. package/src/commands/logout/index.js +20 -0
  168. package/src/commands/push/cdn_mirrors.js +7 -0
  169. package/src/commands/push/check_if_settings_valid.js +10 -0
  170. package/src/commands/push/create_version.js +20 -0
  171. package/src/commands/push/definition.js +43 -0
  172. package/src/commands/push/get_app_domain.js +11 -0
  173. package/src/commands/push/get_deployment.js +19 -0
  174. package/src/commands/push/get_provision_domain.js +9 -0
  175. package/src/commands/push/get_session_token.js +31 -0
  176. package/src/commands/push/get_settings_file.js +47 -0
  177. package/src/commands/push/handle_initial_deployment.js +24 -0
  178. package/src/commands/push/handle_version_deployment.js +23 -0
  179. package/src/commands/push/index.js +190 -0
  180. package/src/commands/push/prompts/confirm_deployment.js +73 -0
  181. package/src/commands/push/prompts/session_token.js +11 -0
  182. package/src/commands/push/upload_build_to_cdn.js +59 -0
  183. package/src/commands/push/validate_deployment.js +19 -0
  184. package/src/commands/push/validate_push_config.js +18 -0
  185. package/src/commands/start/definition.js +58 -0
  186. package/src/commands/start/index.js +11 -0
  187. package/src/commands/test/definition.js +28 -0
  188. package/src/commands/test/index.js +12 -0
  189. package/src/commands/update/definition.js +28 -0
  190. package/src/commands/update/index.js +29 -0
  191. package/src/commands/use/definition.js +19 -0
  192. package/src/commands/use/index.js +54 -0
  193. package/src/index.js +0 -0
  194. package/src/lib/build/browser_path_exclusions.js +8 -0
  195. package/src/lib/build/browser_paths.js +11 -0
  196. package/src/lib/build/build_files.js +161 -0
  197. package/src/{functions/start/filesToCopy.js → lib/build/copy_paths.js} +3 -1
  198. package/src/lib/build/get_code_frame.js +11 -0
  199. package/src/lib/build/get_file_operation.js +25 -0
  200. package/src/lib/build/get_files_to_build.js +36 -0
  201. package/src/lib/build/get_path_platform.js +32 -0
  202. package/src/lib/build/get_platform_safe_path.js +6 -0
  203. package/src/lib/build/get_tar_ignore_list.js +41 -0
  204. package/src/lib/build/index.js +101 -0
  205. package/src/lib/build/master_ignore_list.js +14 -0
  206. package/src/lib/build/minify_file.js +15 -0
  207. package/src/lib/build/node_paths.js +17 -0
  208. package/src/lib/build/on_warn.js +70 -0
  209. package/src/lib/build/plugins/bootstrap_component.js +191 -0
  210. package/src/lib/build/plugins/generate_file_dependency_map.js +20 -0
  211. package/src/lib/build/plugins/index.js +26 -0
  212. package/src/lib/build/plugins/set_component_id.js +89 -0
  213. package/src/lib/build/plugins/update_file_map.js +98 -0
  214. package/src/lib/build/plugins/warn_node_environment.js +20 -0
  215. package/src/lib/{CLILog.js → cli_log.js} +12 -8
  216. package/src/lib/color_log.js +7 -0
  217. package/src/lib/command_exists.js +16 -0
  218. package/src/lib/constants.js +11 -1
  219. package/src/lib/debounce.js +9 -0
  220. package/src/lib/decrypt_buffer.js +12 -0
  221. package/src/lib/development_server/ava_config.js +14 -0
  222. package/src/lib/development_server/check_if_port_occupied.js +31 -0
  223. package/src/lib/development_server/cleanup.js +15 -0
  224. package/src/lib/{dev/databases/mongodb/availableQueryParameters.js → development_server/databases/mongodb/available_query_parameters.js} +3 -1
  225. package/src/lib/development_server/databases/mongodb/build_connection_string.js +31 -0
  226. package/src/lib/development_server/databases/mongodb/build_query_parameters.js +17 -0
  227. package/src/lib/development_server/databases/mongodb/check_connection.js +41 -0
  228. package/src/lib/development_server/databases/mongodb/connect.js +27 -0
  229. package/src/lib/development_server/databases/mongodb/index.js +118 -0
  230. package/src/lib/development_server/databases/postgresql/check_connection.js +56 -0
  231. package/src/lib/development_server/databases/postgresql/connect.js +33 -0
  232. package/src/lib/development_server/databases/postgresql/index.js +126 -0
  233. package/src/lib/development_server/databases/provider_map.js +15 -0
  234. package/src/lib/development_server/get_database_process_ids.js +28 -0
  235. package/src/lib/development_server/get_translations.js +85 -0
  236. package/src/lib/development_server/hmr_server.js +94 -0
  237. package/src/lib/development_server/index.js +394 -0
  238. package/src/lib/development_server/kill_process_ids.js +8 -0
  239. package/src/lib/development_server/run_tests.js +84 -0
  240. package/src/lib/development_server/start_app_server.js +55 -0
  241. package/src/lib/development_server/start_databases.js +108 -0
  242. package/src/lib/development_server/start_hmr_server.js +36 -0
  243. package/src/lib/development_server/watch_for_changes/browser_path_exclusions.js +8 -0
  244. package/src/lib/development_server/watch_for_changes/browser_paths.js +11 -0
  245. package/src/lib/development_server/watch_for_changes/get_after_run_tasks.js +31 -0
  246. package/src/lib/development_server/watch_for_changes/get_file_codependencies.js +48 -0
  247. package/src/lib/development_server/watch_for_changes/get_platform_safe_path.js +6 -0
  248. package/src/lib/development_server/watch_for_changes/index.js +216 -0
  249. package/src/lib/development_server/watch_for_changes/node_paths.js +16 -0
  250. package/src/lib/development_server/watch_for_changes/read_file_dependency_map.js +18 -0
  251. package/src/lib/development_server/watch_for_changes/watch_paths.js +21 -0
  252. package/src/lib/dynamic_import.js +6 -0
  253. package/src/lib/encrypt_buffer.js +10 -0
  254. package/src/lib/generate_id.js +15 -0
  255. package/src/lib/get_files_in_path.js +25 -0
  256. package/src/lib/get_platform_safe_path.js +8 -0
  257. package/src/lib/get_process_id_from_port.js +26 -0
  258. package/src/lib/is_valid_json_string.js +10 -0
  259. package/src/lib/kill_port_process.js +12 -0
  260. package/src/lib/kill_process_id.js +19 -0
  261. package/src/lib/load_settings.js +43 -0
  262. package/src/lib/loader.js +4 -77
  263. package/src/lib/log_bars.js +7 -0
  264. package/src/lib/node_path_polyfills.js +23 -0
  265. package/src/lib/parse_args.js +16 -0
  266. package/src/lib/parse_options.js +16 -0
  267. package/src/lib/path_exists.js +11 -0
  268. package/src/lib/{rainbowRoad.js → rainbow_road.js} +4 -2
  269. package/src/lib/replace_in_files.js +40 -0
  270. package/src/lib/{dev/requiredFiles.js → required_files.js} +3 -1
  271. package/src/lib/serialize_query_parameters.js +7 -0
  272. package/src/lib/types.js +59 -2
  273. package/HMRNOTES.txt +0 -23
  274. package/README.md +0 -7
  275. package/_package.json +0 -55
  276. package/canary.js +0 -12
  277. package/dist/functions/build/getTarIgnoreList.js +0 -25
  278. package/dist/functions/build/index.js +0 -54
  279. package/dist/functions/create/buildPackageJSON.js +0 -20
  280. package/dist/functions/create/index.js +0 -193
  281. package/dist/functions/create/templates/api/index.js +0 -4
  282. package/dist/functions/create/templates/i18n/en-US.js +0 -4
  283. package/dist/functions/create/templates/index.client.js +0 -7
  284. package/dist/functions/create/templates/index.css +0 -20
  285. package/dist/functions/create/templates/public/apple-touch-icon-152x152.png +0 -0
  286. package/dist/functions/create/templates/public/favicon.ico +0 -0
  287. package/dist/functions/create/templates/public/splash-screen-1024x1024.png +0 -0
  288. package/dist/functions/create/templates/ui/pages/error/index.js +0 -31
  289. package/dist/functions/create/templates/ui/pages/index/index.js +0 -94
  290. package/dist/functions/index.js +0 -243
  291. package/dist/functions/logout/index.js +0 -20
  292. package/dist/functions/push/checkIfProvisionAvailable.js +0 -19
  293. package/dist/functions/push/deploy/index.js +0 -173
  294. package/dist/functions/push/deploy/initial.js +0 -100
  295. package/dist/functions/push/deploy/version.js +0 -100
  296. package/dist/functions/push/domains.js +0 -23
  297. package/dist/functions/push/getAvailableCDN.js +0 -23
  298. package/dist/functions/push/getDeployment.js +0 -41
  299. package/dist/functions/push/getDeploymentSummary.js +0 -38
  300. package/dist/functions/push/getInstanceSizeRegions.js +0 -37
  301. package/dist/functions/push/getInstanceSizesForRegion.js +0 -34
  302. package/dist/functions/push/getProviderInstanceSizes.js +0 -34
  303. package/dist/functions/push/getProviderRegions.js +0 -36
  304. package/dist/functions/push/getProvidersWithConnectionStatus.js +0 -20
  305. package/dist/functions/push/getSessionToken.js +0 -23
  306. package/dist/functions/push/getUserFromSessionToken.js +0 -37
  307. package/dist/functions/push/index.js +0 -210
  308. package/dist/functions/push/loginToCheatCode.js +0 -33
  309. package/dist/functions/push/pingProvisionAPI.js +0 -31
  310. package/dist/functions/push/prompts.js +0 -332
  311. package/dist/functions/push/providerMap.js +0 -11
  312. package/dist/functions/push/providers.js +0 -9
  313. package/dist/functions/reset/index.js +0 -0
  314. package/dist/functions/reset/reset.js +0 -127
  315. package/dist/functions/start/bootstrapLayoutComponent.js +0 -54
  316. package/dist/functions/start/bootstrapPageComponent.js +0 -51
  317. package/dist/functions/start/buildFile.js +0 -85
  318. package/dist/functions/start/buildFiles.js +0 -76
  319. package/dist/functions/start/buildPlugins.js +0 -183
  320. package/dist/functions/start/checkIfPortAvailable.js +0 -18
  321. package/dist/functions/start/cleanup/index.js +0 -18
  322. package/dist/functions/start/databases/mongodb/availableQueryParameters.js +0 -42
  323. package/dist/functions/start/databases/mongodb/buildConnectionString.js +0 -22
  324. package/dist/functions/start/databases/mongodb/buildQueryParameters.js +0 -14
  325. package/dist/functions/start/databases/mongodb/checkConnection.js +0 -35
  326. package/dist/functions/start/databases/mongodb/connect.js +0 -25
  327. package/dist/functions/start/databases/mongodb/index.js +0 -93
  328. package/dist/functions/start/databases/postgresql/checkConnection.js +0 -41
  329. package/dist/functions/start/databases/postgresql/connect.js +0 -27
  330. package/dist/functions/start/databases/postgresql/index.js +0 -106
  331. package/dist/functions/start/databases/redis.js +0 -0
  332. package/dist/functions/start/databases/startProvider.js +0 -16
  333. package/dist/functions/start/fileDependencyMapper.js +0 -22
  334. package/dist/functions/start/filesToCopy.js +0 -18
  335. package/dist/functions/start/generateId.js +0 -74
  336. package/dist/functions/start/getCodependenciesForFile.js +0 -64
  337. package/dist/functions/start/getFilesToBuild.js +0 -39
  338. package/dist/functions/start/getProcessIdFromPort.js +0 -60
  339. package/dist/functions/start/hmrServer.js +0 -66
  340. package/dist/functions/start/index.js +0 -31
  341. package/dist/functions/start/isWindows.js +0 -5
  342. package/dist/functions/start/minifyFile.js +0 -12
  343. package/dist/functions/start/onWarn.js +0 -63
  344. package/dist/functions/start/readFileDependencyMap.js +0 -16
  345. package/dist/functions/start/removeDeletedDependenciesFromMap.js +0 -18
  346. package/dist/functions/start/setComponentId.js +0 -46
  347. package/dist/functions/start/updateFileMap.js +0 -67
  348. package/dist/functions/test/index.js +0 -30
  349. package/dist/functions/update/index.js +0 -21
  350. package/dist/functions/use/index.js +0 -61
  351. package/dist/lib/CLILog.js +0 -49
  352. package/dist/lib/build/browserPathExclusions.js +0 -7
  353. package/dist/lib/build/browserPaths.js +0 -11
  354. package/dist/lib/build/buildFile.js +0 -84
  355. package/dist/lib/build/buildFiles.js +0 -238
  356. package/dist/lib/build/buildPlugins.js +0 -186
  357. package/dist/lib/build/getCodeFrame.js +0 -9
  358. package/dist/lib/build/minifyFile.js +0 -12
  359. package/dist/lib/build/nodePathExclusions.js +0 -7
  360. package/dist/lib/build/nodePaths.js +0 -11
  361. package/dist/lib/build/onWarn.js +0 -63
  362. package/dist/lib/build/removeDeletedDependenciesFromMap.js +0 -18
  363. package/dist/lib/build/setComponentId.js +0 -46
  364. package/dist/lib/build/updateFileMap.js +0 -67
  365. package/dist/lib/buildResolvePlugin.js +0 -21
  366. package/dist/lib/checkIfValidJSON.js +0 -11
  367. package/dist/lib/colorLog.js +0 -7
  368. package/dist/lib/dev/cleanup.js +0 -30
  369. package/dist/lib/dev/databases/mongodb/availableQueryParameters.js +0 -42
  370. package/dist/lib/dev/databases/mongodb/buildConnectionString.js +0 -22
  371. package/dist/lib/dev/databases/mongodb/buildQueryParameters.js +0 -14
  372. package/dist/lib/dev/databases/mongodb/checkConnection.js +0 -38
  373. package/dist/lib/dev/databases/mongodb/connect.js +0 -25
  374. package/dist/lib/dev/databases/mongodb/index.js +0 -93
  375. package/dist/lib/dev/databases/postgresql/checkConnection.js +0 -41
  376. package/dist/lib/dev/databases/postgresql/connect.js +0 -27
  377. package/dist/lib/dev/databases/postgresql/index.js +0 -106
  378. package/dist/lib/dev/databases/providerMap.js +0 -15
  379. package/dist/lib/dev/getCodependenciesForFile.js +0 -64
  380. package/dist/lib/dev/getFilesToBuild.js +0 -38
  381. package/dist/lib/dev/index.js +0 -452
  382. package/dist/lib/dev/isWindows.js +0 -5
  383. package/dist/lib/dev/loadSettings.js +0 -79
  384. package/dist/lib/dev/readFileDependencyMap.js +0 -16
  385. package/dist/lib/dev/requiredFiles.js +0 -18
  386. package/dist/lib/dev/runBuild.js +0 -30
  387. package/dist/lib/dev/runTests.js +0 -30
  388. package/dist/lib/dev/startApp.js +0 -79
  389. package/dist/lib/dev/startDatabases.js +0 -109
  390. package/dist/lib/dev/startHMR.js +0 -55
  391. package/dist/lib/dev/updateFileMap.js +0 -67
  392. package/dist/lib/dev/validateProject.js +0 -0
  393. package/dist/lib/dev/watchlist.js +0 -15
  394. package/dist/lib/filesToCopy.js +0 -18
  395. package/dist/lib/generateId.js +0 -74
  396. package/dist/lib/getArgs.js +0 -14
  397. package/dist/lib/getOptions.js +0 -15
  398. package/dist/lib/getPlatformSafePath.js +0 -7
  399. package/dist/lib/getProcessIdFromPort.js +0 -60
  400. package/dist/lib/getProvider.js +0 -8
  401. package/dist/lib/help.js +0 -56
  402. package/dist/lib/isObject.js +0 -6
  403. package/dist/lib/isValidJSONString.js +0 -11
  404. package/dist/lib/isWindows.js +0 -5
  405. package/dist/lib/killProcesses.js +0 -0
  406. package/dist/lib/loadSettings.js +0 -33
  407. package/dist/lib/masterIgnoreList.js +0 -16
  408. package/dist/lib/nodeEnvironment.js +0 -9
  409. package/dist/lib/nodeEnvironments.js +0 -8
  410. package/dist/lib/parseCookiesFromLogin.js +0 -18
  411. package/dist/lib/rainbowRoad.js +0 -7
  412. package/dist/lib/readDirectorySync.js +0 -14
  413. package/dist/lib/regexes.js +0 -14
  414. package/dist/lib/replaceBackslashesWithForwardSlashes.js +0 -8
  415. package/dist/lib/replaceFileProtocol.js +0 -8
  416. package/dist/lib/serializeQueryParameters.js +0 -8
  417. package/dist/lib/settings.js +0 -4
  418. package/dist/lib/validateDatabasesFromSettings.js +0 -34
  419. package/dist/lib/wait.js +0 -8
  420. package/release.js +0 -40
  421. package/src/functions/build/getTarIgnoreList.js +0 -30
  422. package/src/functions/build/index.js +0 -63
  423. package/src/functions/create/buildPackageJSON.js +0 -18
  424. package/src/functions/create/index.js +0 -209
  425. package/src/functions/create/templates/api/index.js +0 -4
  426. package/src/functions/create/templates/i18n/en-US.js +0 -4
  427. package/src/functions/create/templates/index.client.js +0 -7
  428. package/src/functions/create/templates/index.css +0 -20
  429. package/src/functions/create/templates/public/apple-touch-icon-152x152.png +0 -0
  430. package/src/functions/create/templates/public/favicon.ico +0 -0
  431. package/src/functions/create/templates/public/splash-screen-1024x1024.png +0 -0
  432. package/src/functions/create/templates/ui/pages/error/index.js +0 -31
  433. package/src/functions/create/templates/ui/pages/index/index.js +0 -94
  434. package/src/functions/index.js +0 -243
  435. package/src/functions/logout/index.js +0 -20
  436. package/src/functions/push/checkIfProvisionAvailable.js +0 -20
  437. package/src/functions/push/deploy/index.js +0 -199
  438. package/src/functions/push/deploy/initial.js +0 -108
  439. package/src/functions/push/deploy/version.js +0 -108
  440. package/src/functions/push/domains.js +0 -23
  441. package/src/functions/push/getAvailableCDN.js +0 -27
  442. package/src/functions/push/getDeployment.js +0 -43
  443. package/src/functions/push/getDeploymentSummary.js +0 -39
  444. package/src/functions/push/getInstanceSizeRegions.js +0 -40
  445. package/src/functions/push/getInstanceSizesForRegion.js +0 -35
  446. package/src/functions/push/getProviderInstanceSizes.js +0 -35
  447. package/src/functions/push/getProviderRegions.js +0 -39
  448. package/src/functions/push/getProvidersWithConnectionStatus.js +0 -25
  449. package/src/functions/push/getSessionToken.js +0 -26
  450. package/src/functions/push/getUserFromSessionToken.js +0 -39
  451. package/src/functions/push/index.js +0 -245
  452. package/src/functions/push/loginToCheatCode.js +0 -34
  453. package/src/functions/push/pingProvisionAPI.js +0 -33
  454. package/src/functions/push/prompts.js +0 -276
  455. package/src/functions/push/providerMap.js +0 -8
  456. package/src/functions/push/providers.js +0 -6
  457. package/src/functions/reset/index.js +0 -0
  458. package/src/functions/reset/reset.js +0 -163
  459. package/src/functions/start/bootstrapLayoutComponent.js +0 -57
  460. package/src/functions/start/bootstrapPageComponent.js +0 -54
  461. package/src/functions/start/buildFile.js +0 -97
  462. package/src/functions/start/buildFiles.js +0 -101
  463. package/src/functions/start/buildPlugins.js +0 -215
  464. package/src/functions/start/checkIfPortAvailable.js +0 -21
  465. package/src/functions/start/cleanup/index.js +0 -23
  466. package/src/functions/start/databases/mongodb/availableQueryParameters.js +0 -39
  467. package/src/functions/start/databases/mongodb/buildConnectionString.js +0 -28
  468. package/src/functions/start/databases/mongodb/buildQueryParameters.js +0 -15
  469. package/src/functions/start/databases/mongodb/checkConnection.js +0 -36
  470. package/src/functions/start/databases/mongodb/connect.js +0 -25
  471. package/src/functions/start/databases/mongodb/index.js +0 -108
  472. package/src/functions/start/databases/postgresql/checkConnection.js +0 -43
  473. package/src/functions/start/databases/postgresql/connect.js +0 -27
  474. package/src/functions/start/databases/postgresql/index.js +0 -127
  475. package/src/functions/start/databases/redis.js +0 -0
  476. package/src/functions/start/databases/startProvider.js +0 -15
  477. package/src/functions/start/fileDependencyMapper.js +0 -24
  478. package/src/functions/start/generateId.js +0 -73
  479. package/src/functions/start/getCodependenciesForFile.js +0 -84
  480. package/src/functions/start/getFilesToBuild.js +0 -49
  481. package/src/functions/start/getProcessIdFromPort.js +0 -92
  482. package/src/functions/start/hmrServer.js +0 -78
  483. package/src/functions/start/index.js +0 -701
  484. package/src/functions/start/isWindows.js +0 -3
  485. package/src/functions/start/minifyFile.js +0 -10
  486. package/src/functions/start/onWarn.js +0 -68
  487. package/src/functions/start/readFileDependencyMap.js +0 -19
  488. package/src/functions/start/removeDeletedDependenciesFromMap.js +0 -19
  489. package/src/functions/start/setComponentId.js +0 -58
  490. package/src/functions/start/updateFileMap.js +0 -100
  491. package/src/functions/test/index.js +0 -34
  492. package/src/functions/update/index.js +0 -20
  493. package/src/functions/use/index.js +0 -62
  494. package/src/lib/build/browserPathExclusions.js +0 -5
  495. package/src/lib/build/browserPaths.js +0 -9
  496. package/src/lib/build/buildFile.js +0 -91
  497. package/src/lib/build/buildFiles.js +0 -270
  498. package/src/lib/build/buildPlugins.js +0 -222
  499. package/src/lib/build/getCodeFrame.js +0 -7
  500. package/src/lib/build/minifyFile.js +0 -10
  501. package/src/lib/build/nodePathExclusions.js +0 -5
  502. package/src/lib/build/nodePaths.js +0 -9
  503. package/src/lib/build/onWarn.js +0 -68
  504. package/src/lib/build/removeDeletedDependenciesFromMap.js +0 -19
  505. package/src/lib/build/setComponentId.js +0 -58
  506. package/src/lib/build/updateFileMap.js +0 -100
  507. package/src/lib/buildResolvePlugin.js +0 -32
  508. package/src/lib/checkIfValidJSON.js +0 -8
  509. package/src/lib/colorLog.js +0 -5
  510. package/src/lib/dev/cleanup.js +0 -34
  511. package/src/lib/dev/databases/mongodb/buildConnectionString.js +0 -28
  512. package/src/lib/dev/databases/mongodb/buildQueryParameters.js +0 -15
  513. package/src/lib/dev/databases/mongodb/checkConnection.js +0 -40
  514. package/src/lib/dev/databases/mongodb/connect.js +0 -25
  515. package/src/lib/dev/databases/mongodb/index.js +0 -108
  516. package/src/lib/dev/databases/postgresql/checkConnection.js +0 -43
  517. package/src/lib/dev/databases/postgresql/connect.js +0 -27
  518. package/src/lib/dev/databases/postgresql/index.js +0 -127
  519. package/src/lib/dev/databases/providerMap.js +0 -13
  520. package/src/lib/dev/getCodependenciesForFile.js +0 -84
  521. package/src/lib/dev/getFilesToBuild.js +0 -47
  522. package/src/lib/dev/index.js +0 -560
  523. package/src/lib/dev/isWindows.js +0 -3
  524. package/src/lib/dev/loadSettings.js +0 -90
  525. package/src/lib/dev/readFileDependencyMap.js +0 -19
  526. package/src/lib/dev/runBuild.js +0 -33
  527. package/src/lib/dev/runTests.js +0 -33
  528. package/src/lib/dev/startApp.js +0 -89
  529. package/src/lib/dev/startDatabases.js +0 -131
  530. package/src/lib/dev/startHMR.js +0 -62
  531. package/src/lib/dev/updateFileMap.js +0 -100
  532. package/src/lib/dev/validateProject.js +0 -0
  533. package/src/lib/dev/watchlist.js +0 -13
  534. package/src/lib/filesToCopy.js +0 -15
  535. package/src/lib/generateId.js +0 -73
  536. package/src/lib/getArgs.js +0 -14
  537. package/src/lib/getOptions.js +0 -12
  538. package/src/lib/getProcessIdFromPort.js +0 -92
  539. package/src/lib/getProvider.js +0 -5
  540. package/src/lib/help.js +0 -56
  541. package/src/lib/isObject.js +0 -3
  542. package/src/lib/isValidJSONString.js +0 -8
  543. package/src/lib/killProcesses.js +0 -5
  544. package/src/lib/loadSettings.js +0 -40
  545. package/src/lib/masterIgnoreList.js +0 -13
  546. package/src/lib/nodeEnvironment.js +0 -6
  547. package/src/lib/nodeEnvironments.js +0 -8
  548. package/src/lib/parseCookiesFromLogin.js +0 -21
  549. package/src/lib/readDirectorySync.js +0 -13
  550. package/src/lib/regexes.js +0 -7
  551. package/src/lib/replaceBackslashesWithForwardSlashes.js +0 -8
  552. package/src/lib/replaceFileProtocol.js +0 -8
  553. package/src/lib/serializeQueryParameters.js +0 -5
  554. package/src/lib/settings.js +0 -1
  555. package/src/lib/validateDatabasesFromSettings.js +0 -37
  556. package/src/lib/wait.js +0 -5
  557. package/storage/.verdaccio-db.json +0 -1
  558. /package/{src/lib → .build}/getPlatformSafePath.js +0 -0
  559. /package/{src/lib → .build}/isWindows.js +0 -0
  560. /package/dist/{functions/create/templates → commands/create/template}/public/service-worker.js +0 -0
  561. /package/dist/{functions/create/templates → commands/create/template}/settings.development.json +0 -0
  562. /package/src/{functions/create/templates → commands/create/template}/public/service-worker.js +0 -0
  563. /package/src/{functions/create/templates → commands/create/template}/settings.development.json +0 -0
@@ -1,245 +0,0 @@
1
- import fs from "fs";
2
- import inquirer from "inquirer";
3
- import chalk from "chalk";
4
- import CLILog from "../../lib/CLILog.js";
5
- import prompts from "./prompts.js";
6
- import getDeployment from "../../lib/getDeployment.js";
7
- import getDeploymentSummary from "./getDeploymentSummary.js";
8
- import providerMap from "./providerMap.js";
9
- import Loader from "../../lib/loader.js";
10
- import getSessionToken from "./getSessionToken.js";
11
- import getUserFromSessionToken from "./getUserFromSessionToken.js";
12
- import colorLog from "../../lib/colorLog.js";
13
- import checkIfProvisionAvailable from "./checkIfProvisionAvailable.js ";
14
- import deploy from './deploy/index.js';
15
-
16
- const warnUnfeasibleDeployment = (deploymentToInitialize = {}, deploymentSummary = {}) => {
17
- try {
18
- const totalInstancesRequested =
19
- deploymentToInitialize?.loadBalancerInstances +
20
- deploymentToInitialize?.appInstances;
21
- const deploymentFeasible =
22
- totalInstancesRequested <= deploymentSummary?.limits?.available;
23
-
24
- if (!deploymentFeasible) {
25
- CLILog(
26
- `${chalk.yellowBright(
27
- `Cannot push with this configuration as it would exceed the instance limits set by your selected provider (${
28
- providerMap[deploymentToInitialize?.provider]
29
- }).`
30
- )} Your account there is limited to ${
31
- deploymentSummary?.limits?.account
32
- } instances (currently using ${
33
- deploymentSummary?.limits?.existing
34
- }).\n\n You requested ${totalInstancesRequested} instances which would go over your account limit. Please adjust your configuration (or request an increase from your provider) and try again.`,
35
- {
36
- padding: " ",
37
- level: "danger",
38
- docs: "https://cheatcode.co/docs/push/provider-limits",
39
- }
40
- );
41
- process.exit(0);
42
- }
43
- } catch (exception) {
44
- throw new Error(`[actionName.warnUnfeasibleDeployment] ${exception.message}`);
45
- }
46
- };
47
-
48
- const getDeploymentToInitialize = async (user, loginSessionToken) => {
49
- try {
50
- const deploymentToInitialize = await inquirer.prompt(
51
- prompts.initialDeployment(user, loginSessionToken)
52
- );
53
-
54
- return {
55
- ...deploymentToInitialize,
56
- loadBalancerInstances: deploymentToInitialize?.loadBalancerInstances || 1,
57
- appInstances: deploymentToInitialize?.appInstances || 2,
58
- };
59
- } catch (exception) {
60
- throw new Error(`[actionName.getDeploymentToInitialize] ${exception.message}`);
61
- }
62
- };
63
-
64
- const handleDeployment = async ({
65
- isInitialDeployment = false,
66
- loginSessionToken = "",
67
- domain = "",
68
- deployment = {},
69
- user = {},
70
- environment = "production",
71
- server = 'production',
72
- }) => {
73
- try {
74
- let confirmation = null; // NOTE: Do this here because of the guard below to check if we're running an initial deployment.
75
- let deploymentToInitialize = null;
76
-
77
- if (isInitialDeployment) {
78
- const loader = new Loader({ padding: " ", defaultMessage: "" });
79
- deploymentToInitialize = await getDeploymentToInitialize(user, loginSessionToken);
80
-
81
- await checkIfProvisionAvailable();
82
-
83
- console.log("\n");
84
- loader.text("Building deployment summary...");
85
-
86
- const deploymentSummary = await getDeploymentSummary(
87
- deploymentToInitialize,
88
- loginSessionToken,
89
- domain
90
- );
91
-
92
- loader.stop();
93
-
94
- warnUnfeasibleDeployment(deploymentToInitialize, deploymentSummary);
95
-
96
- const response = await inquirer.prompt(
97
- prompts.confirmInitialDeployment(
98
- deploymentToInitialize,
99
- deploymentSummary?.costs
100
- )
101
- );
102
-
103
- confirmation = response.confirmation;
104
- }
105
-
106
- if (!confirmation) {
107
- process.exit();
108
- }
109
-
110
- await deploy({
111
- environment,
112
- loginSessionToken,
113
- isInitialDeployment,
114
- deployment: {
115
- _id: deployment?._id,
116
- environment: deployment?.environment,
117
- domain,
118
- ...(deploymentToInitialize || {}),
119
- },
120
- server,
121
- });
122
-
123
- return Promise.resolve();
124
- } catch (exception) {
125
- throw new Error(`[push.handleDeployment] ${exception.message}`);
126
- }
127
- };
128
-
129
- const getDomain = async (domainFromOptions = '') => {
130
- try {
131
- let domain = domainFromOptions;
132
-
133
- if (!domain) {
134
- domain = await inquirer
135
- .prompt(prompts.domain())
136
- .then((answers) => answers?.domain);
137
- }
138
-
139
- return domain;
140
- } catch (exception) {
141
- throw new Error(`[push.getDomain] ${exception.message}`);
142
- }
143
- };
144
-
145
- const onboardingWarning = (user = null) => {
146
- try {
147
- if (!user?.onboarding?.complete && user?.onboarding?.step < 4) {
148
- console.log(
149
- chalk.yellowBright(
150
- `\nPlease visit push.cheatcode.co to finish setting up your account before deploying.\n`
151
- )
152
- );
153
- process.exit(0);
154
- }
155
- } catch (exception) {
156
- throw new Error(`[push.onboardingWarning] ${exception.message}`);
157
- }
158
- };
159
-
160
- const noUserWarning = (user = null) => {
161
- try {
162
- if (!user) {
163
- console.log(
164
- chalk.redBright(
165
- `\nUser not found. Please try again. If this is a mistake, please contact push@cheatcode.co for assistance.\n`
166
- )
167
- );
168
-
169
- process.exit();
170
- }
171
- } catch (exception) {
172
- throw new Error(`[push.noUserWarning] ${exception.message}`);
173
- }
174
- };
175
-
176
- const getUser = async (loginSessionToken = '') => {
177
- try {
178
- const user = await getUserFromSessionToken(loginSessionToken);
179
-
180
- if (user) {
181
- colorLog(`\n✔ Logged in as ${user?.emailAddress}\n`, "greenBright");
182
- }
183
-
184
- return user;
185
- } catch (exception) {
186
- throw new Error(`[push.getUser] ${exception.message}`);
187
- }
188
- };
189
-
190
- const checkForJoystickFolder = () => {
191
- try {
192
- const hasJoystickFolder = fs.existsSync(".joystick");
193
-
194
- if (!hasJoystickFolder) {
195
- CLILog(
196
- "This is not a Joystick project. A .joystick folder could not be found.",
197
- {
198
- level: "danger",
199
- docs: "https://github.com/cheatcode/joystick",
200
- }
201
- );
202
-
203
- process.exit(0);
204
- }
205
- } catch (exception) {
206
- throw new Error(`[push.checkForJoystickFolder] ${exception.message}`);
207
- }
208
- };
209
-
210
- export default async (args = {}, options = {}) => {
211
- try {
212
- checkForJoystickFolder();
213
- await checkIfProvisionAvailable();
214
-
215
- const loginSessionToken = await getSessionToken();
216
- const user = await getUser(loginSessionToken);
217
-
218
- noUserWarning(user);
219
- onboardingWarning(user);
220
-
221
- const domain = await getDomain(options?.domain);
222
- await checkIfProvisionAvailable();
223
-
224
- const deployment = await getDeployment({
225
- domain,
226
- loginSessionToken,
227
- environment: options?.environment,
228
- });
229
-
230
- await handleDeployment({
231
- isInitialDeployment: deployment?.status === "undeployed",
232
- loginSessionToken,
233
- domain,
234
- deployment,
235
- user,
236
- environment: options?.environment || "production",
237
- server: options?.server,
238
- });
239
-
240
- return Promise.resolve();
241
- } catch (exception) {
242
- console.warn(exception);
243
- throw new Error(`[push] ${exception.message}`);
244
- }
245
- };
@@ -1,34 +0,0 @@
1
- import fetch from 'node-fetch';
2
- import checkIfValidJSON from './checkIfValidJSON.js';
3
- import CLILog from './CLILog.js';
4
- import domains from './domains.js';
5
-
6
- export default (emailAddress = '', password = '') => {
7
- return fetch(`${domains.provision}/api/cli/login`, {
8
- method: 'POST',
9
- headers: {
10
- 'content-type': 'application/json',
11
- },
12
- body: JSON.stringify({
13
- emailAddress,
14
- password,
15
- })
16
- }).then(async (response) => {
17
- const text = await response.text();
18
- const data = checkIfValidJSON(text);
19
-
20
- if (data?.error) {
21
- CLILog(
22
- data?.error?.message,
23
- {
24
- level: 'danger',
25
- docs: 'https://cheatcode.co/docs/push/authentication'
26
- }
27
- );
28
-
29
- process.exit(0);
30
- }
31
-
32
- return data?.data?.token;
33
- });
34
- };
@@ -1,33 +0,0 @@
1
- import fetch from 'node-fetch';
2
- import chalk from 'chalk';
3
- import domains from "./domains.js";
4
- import CLILog from "../../lib/CLILog.js";
5
- import checkIfValidJSON from '../../lib/checkIfValidJSON.js';
6
-
7
- export default (provider = '', loginSessionToken = '') => {
8
- const url = new URL(`${domains.provision}/api/cli/ping`);
9
- return fetch(url, { method: 'GET' }).then(async (response) => {
10
- const text = await response.text();
11
- const data = checkIfValidJSON(text);
12
-
13
- console.log('PING', data);
14
-
15
- if (data?.error) {
16
- CLILog(
17
- data.error?.message,
18
- {
19
- level: 'danger',
20
- docs: 'https://cheatcode.co/docs/push/deployment-tokens'
21
- }
22
- );
23
-
24
- process.exit(0);
25
- }
26
-
27
- return data?.data?.ping;
28
- }).catch((error) => {
29
- if (!error?.message?.includes('ECONNREFUSED')) {
30
- console.warn(error);
31
- }
32
- });
33
- };
@@ -1,276 +0,0 @@
1
- import chalk from 'chalk';
2
- import AsciiTable from 'ascii-table';
3
- import currencyFormatter from 'currency-formatter';
4
- import getProvidersWithConnectionStatus from '../../lib/getProvidersWithConnectionStatus.js';
5
- import loginToCheatCode from './loginToCheatCode.js';
6
- import domains from './domains.js';
7
- import getProvider from '../../lib/getProvider.js';
8
- import getProviderInstanceSizes from './getProviderInstanceSizes.js';
9
- import getInstanceSizeRegions from './getInstanceSizeRegions.js';
10
- import providers from '../../lib/providers.js';
11
- import getProviderRegions from './getProviderRegions.js';
12
- import getInstanceSizesForRegion from './getInstanceSizesForRegion.js';
13
- import checkIfProvisionAvailable from './checkIfProvisionAvailable.js';
14
-
15
- const table = new AsciiTable();
16
-
17
- export default {
18
- login: () => [
19
- {
20
- name: 'loginType',
21
- type: 'list',
22
- prefix: '',
23
- message: `\n ${chalk.greenBright('>')} How do you want to login?\n`,
24
- choices: [
25
- { name: `Email`, value: 'email' },
26
- { name: `Github`, value: 'oauth' },
27
- { name: `Bitbucket`, value: 'oauth' },
28
- { name: `Gitlab`, value: 'oauth' },
29
- ],
30
- },
31
- {
32
- name: 'emailAddress',
33
- type: 'text',
34
- prefix: '',
35
- when: (answers = {}) => {
36
- return answers?.loginType === 'email';
37
- },
38
- message: `\n ${chalk.greenBright('>')} What is your Email Address?\n`,
39
- },
40
- {
41
- name: 'password',
42
- type: 'text',
43
- prefix: '',
44
- when: (answers = {}) => {
45
- return answers?.loginType === 'email' && !!answers?.emailAddress;
46
- },
47
- message: `\n ${chalk.greenBright('>')} What is your Password?\n`,
48
- },
49
- {
50
- name: 'oauth',
51
- type: 'text',
52
- prefix: `\n\n ${chalk.yellowBright('Visit http://localhost:2600/login?cli=true in your browser to login and then copy/paste the value displayed below:')}\n`,
53
- when: (answers = {}) => {
54
- return answers?.loginType === 'oauth';
55
- },
56
- message: `\n ${chalk.greenBright('>')} Paste the token displayed at the URL above:\n`,
57
- },
58
- ],
59
- token: () => [
60
- {
61
- name: 'token',
62
- type: 'text',
63
- prefix: '',
64
- message: `\n ${chalk.greenBright('>')} What is your Deployment Token?\n`,
65
- suffix: `\n ${chalk.yellowBright(`What does this mean?`)}\n Deployment Tokens identify the Deploy account where your deployment will live.\n\n ${chalk.yellowBright(`Documentation:`)}\n ${chalk.blue('https://cheatcode.co/docs/push/tokens')}\n\n`,
66
- },
67
- ],
68
- domain: () => [
69
- {
70
- name: 'domain',
71
- type: 'text',
72
- prefix: '',
73
- message: `\n ${chalk.greenBright('>')} What is your domain name?`,
74
- suffix: ' (e.g., app.myapp.com)',
75
- }
76
- ],
77
- initialDeployment: (user = {}, loginSessionToken = '') => {
78
- const providers = getProvidersWithConnectionStatus(user);
79
- return [
80
- {
81
- name: 'provider',
82
- type: 'list',
83
- prefix: '',
84
- message: `\n ${chalk.greenBright('>')} Where do you want to host the initial deployment?`,
85
- loop: false,
86
- suffix: `
87
- \n ${chalk.yellowBright(`What does this mean?`)}\n Select the hosting provider where your deployment's load balancers and app instances will be created.\n This can be scaled to include additional providers later.\n\n ${chalk.yellowBright(`Documentation:`)}\n ${chalk.blue('https://cheatcode.co/docs/push/hosting-providers')}
88
- \n`,
89
- choices: providers.map((provider) => {
90
- return {
91
- ...provider,
92
- name: `${provider?.name} ${chalk[provider?.connectedAs.includes('Not') ? 'gray' : 'greenBright'](`(${provider?.connectedAs})`)}`,
93
- };
94
- }),
95
- },
96
- {
97
- name: 'providerLoginPrompt',
98
- type: 'text',
99
- prefix: '\n\n',
100
- suffix: '\n',
101
- when: (answers = {}) => {
102
- const provider = getProvider(providers, answers?.provider);
103
- return provider && provider.connectedAs?.includes('Not');
104
- },
105
- message: (answers = {}) => {
106
- const provider = getProvider(providers, answers?.provider);
107
- return `\n
108
- ${chalk.yellowBright(`Please visit the URL below in your browser to connect your ${provider?.name} account:\n
109
- ${chalk.greenBright(`${domains?.site}/api/oauth/${answers?.provider}/connect?target=cli`)}`)}\n
110
- After you've connected your account, head back here and press the Enter/Return key to continue.
111
- `
112
- },
113
- validate: async (input = '', answers = {}) => {
114
- // NOTE: Fetch user again to verify that the requested provider was connected.
115
- const userLogin = await loginToCheatCode();
116
- const connection = userLogin?.user[answers?.provider];
117
- const provider = getProvider(providers, answers?.provider);
118
-
119
- if (connection) {
120
- return true;
121
- }
122
-
123
- return `${provider?.name} not connected. Please visit the URL above to connect your account to CheatCode.`;
124
- },
125
- },
126
- {
127
- name: 'loadBalancerInstances',
128
- default: 1,
129
- type: 'number',
130
- prefix: '',
131
- message: `\n ${chalk.greenBright('>')} How many load balancer instances do you want to start with?`,
132
- suffix: ` -- (press enter to use recommendation of 1)`,
133
- },
134
- {
135
- name: 'appInstances',
136
- type: 'number',
137
- default: 2,
138
- prefix: '',
139
- message: `\n ${chalk.greenBright('>')} How many app instances do you want to start with?`,
140
- suffix: ` -- (press enter to use recommendation of 2)`,
141
- },
142
- {
143
- name: 'loadBalancer_region',
144
- type: 'list',
145
- prefix: '',
146
- message: `\n ${chalk.greenBright('>')} Select a Region for Your Load Balancer Instances`,
147
- suffix: `
148
- \n ${chalk.yellowBright(`What is this?`)}\n The location of the data center where your load balancer instances will live. The continent where your choosen region is located will determine the regions available for your app instances. \n\n ${chalk.yellowBright(`Recommendations:`)}\n ${chalk.blue('https://cheatcode.co/docs/push/scaling#regions')}
149
- \n`,
150
- loop: false,
151
- choices: async (answers = {}) => {
152
- await checkIfProvisionAvailable();
153
- const regions = await getProviderRegions(
154
- answers?.provider,
155
- loginSessionToken,
156
- );
157
-
158
- return (regions || []).map((region) => {
159
- return {
160
- name: `${chalk.blue(`[${region?.id}]`)} -- ${region?.name} ${chalk.magentaBright(`(${region?.continent?.name})`)}`,
161
- value: region?.id,
162
- };
163
- });
164
- },
165
- },
166
- {
167
- name: 'loadBalancer_size',
168
- type: 'list',
169
- prefix: '',
170
- message: `\n ${chalk.greenBright('>')} Select a Size for Your Load Balancer Instances`,
171
- suffix: `
172
- \n ${chalk.yellowBright(`What is this?`)}\n Load balancers distribute inbound internet traffic to your app instances. \n\n ${chalk.yellowBright(`Recommendations:`)}\n ${chalk.blue('https://cheatcode.co/docs/push/scaling#load-balancer-instances')}
173
- \n`,
174
- loop: false,
175
- choices: async (answers = {}) => {
176
- await checkIfProvisionAvailable();
177
- const sizes = await getInstanceSizesForRegion(answers?.provider, answers?.loadBalancer_region, loginSessionToken);
178
- return (sizes || []).map((size) => {
179
- return {
180
- name: `${chalk.blue(`[${size?.name}]`)} -- ${chalk.white(`${size?.vcpus} ${size?.vcpus > 1 ? 'VCPUs' : 'VCPU'} + ${size?.memory / 1024}GB RAM + ${size?.disk > 1000 ? `${size?.disk / 1000}TB` : `${size?.disk}GB`} Disk`)} ${chalk.gray('=')} $${chalk.greenBright(`${size?.pricePerMonth}/mo`)}`,
181
- value: size?.id,
182
- };
183
- });
184
- },
185
- },
186
- {
187
- name: 'app_region',
188
- type: 'list',
189
- prefix: '',
190
- message: `\n ${chalk.greenBright('>')} Select a Region for Your App Instances`,
191
- suffix: `
192
- \n ${chalk.yellowBright(`What is this?`)}\n The location of the data center where your app instances will live. \n\n ${chalk.yellowBright(`Recommendations:`)}\n ${chalk.blue('https://cheatcode.co/docs/push/scaling#regions')}
193
- \n`,
194
- loop: false,
195
- choices: async (answers = {}) => {
196
- await checkIfProvisionAvailable();
197
- const regions = await getProviderRegions(
198
- answers?.provider,
199
- loginSessionToken,
200
- );
201
-
202
- return (regions || []).map((region) => {
203
- return {
204
- name: `${chalk.blue(`[${region?.id}]`)} -- ${region?.name} ${chalk.magentaBright(`(${region?.continent?.name})`)}`,
205
- value: region?.id,
206
- };
207
- });
208
- },
209
- },
210
- {
211
- name: 'app_size',
212
- type: 'list',
213
- prefix: '',
214
- message: `\n ${chalk.greenBright('>')} Select a Size for Your App Instances`,
215
- suffix: `
216
- \n ${chalk.yellowBright(`What is this?`)}\n App instances are running copies of your app. \n\n ${chalk.yellowBright(`Recommendations:`)}\n ${chalk.blue('https://cheatcode.co/docs/push/scaling#app-instances')}
217
- \n`,
218
- loop: false,
219
- choices: async (answers = {}) => {
220
- await checkIfProvisionAvailable();
221
- const sizes = await getInstanceSizesForRegion(answers?.provider, answers?.app_region, loginSessionToken);
222
- return (sizes || []).map((size) => {
223
- return {
224
- name: `${chalk.blue(`[${size?.name}]`)} -- ${chalk.white(`${size?.vcpus} ${size?.vcpus > 1 ? 'VCPUs' : 'VCPU'} + ${size?.memory / 1024}GB RAM + ${size?.disk > 1000 ? `${size?.disk / 1000}TB` : `${size?.disk}GB`} Disk`)} ${chalk.gray('=')} $${chalk.greenBright(`${size?.pricePerMonth}/mo`)}`,
225
- value: size?.id,
226
- };
227
- });
228
- },
229
- },
230
- ];
231
- },
232
- confirmInitialDeployment: (answers = {}, costs = []) => {
233
- const provider = providers?.find(({ value }) => value === answers?.provider);
234
- const loadBalancerCosts = costs?.find(({ type }) => type === 'loadBalancers');
235
- const instanceCosts = costs?.find(({ type }) => type === 'instances');
236
- const totalMonthlyCost = [
237
- ...(costs || []),
238
- { type: 'objectStorage', monthly: 5, annually: 60 }
239
- ].reduce((total = 0, cost = {}) => {
240
- total += cost.monthly;
241
- return total;
242
- }, 0);
243
- const totalAnnualCost = [
244
- ...(costs || []),
245
- { type: 'objectStorage', monthly: 5, annually: 60 }
246
- ].reduce((total = 0, cost = {}) => {
247
- total += cost.annually;
248
- return total;
249
- }, 0);
250
-
251
- const isAbnormal = totalMonthlyCost > 100;
252
-
253
- return [
254
- {
255
- name: 'confirmation',
256
- type: 'confirm',
257
- prefix: '',
258
- message: `\n ${chalk.greenBright('>')} Run this deployment?`,
259
- suffix: `
260
- \n${table
261
- .removeBorder()
262
- .addRow(chalk.blue('Provider'), `${chalk.greenBright(provider?.name)}\n`)
263
- .addRow(chalk.white('---'), `\n`)
264
- .addRow(chalk.blue('Load Balancers'), `${chalk.yellowBright(`(${answers?.loadBalancerInstances}x)`)} ${answers?.loadBalancer_size} ${chalk.gray(`[${answers?.loadBalancer_region}]`)} = ${chalk.greenBright(`${currencyFormatter.format(loadBalancerCosts?.monthly, { code: 'USD' })}/mo`)}`)
265
- .addRow(chalk.blue('App Instances'), `${chalk.yellowBright(`(${answers?.appInstances}x)`)} ${answers?.app_size} ${chalk.gray(`[${answers?.app_region}]`)} = ${chalk.greenBright(`${currencyFormatter.format(instanceCosts?.monthly, { code: 'USD' })}/mo`)}\n`)
266
- .addRow(chalk.blue('Build Storage'), `${chalk.greenBright(`${currencyFormatter.format(5, { code: 'USD' })}/mo`)}\n`)
267
- .addRow(chalk.white('---'), `\n`)
268
- .addRow(chalk.magenta('Est. Total Monthly Cost'), chalk.greenBright(`${currencyFormatter.format(totalMonthlyCost, { code: 'USD' })}/mo`))
269
- .addRow(chalk.magenta('Est. Total Annual Cost'), chalk.greenBright(`${currencyFormatter.format(totalAnnualCost, { code: 'USD' })}/yr`))
270
- .toString()}
271
- ${isAbnormal ? `\n\n ${chalk.yellowBright(`!!! >>> These costs are ${chalk.magenta('high')}. Be absolutely ${chalk.magenta('CERTAIN')} you want to run this deployment. <<< !!!`)}
272
- \n ` : '\n'}`,
273
- },
274
- ];
275
- },
276
- };
@@ -1,8 +0,0 @@
1
- export default {
2
- // aws: 'AWS',
3
- // azure: 'Azure',
4
- // google: 'Google',
5
- digitalOcean: 'Digital Ocean',
6
- linode: 'Linode',
7
- vultr: 'Vultr',
8
- };
@@ -1,6 +0,0 @@
1
- export default [
2
- // { name: 'AWS', value: 'aws' },
3
- { name: 'Digital Ocean', value: 'digitalOcean' },
4
- { name: 'Linode', value: 'linode' },
5
- { name: 'Vultr', value: 'vultr' },
6
- ];
File without changes