@joystick.js/cli-canary 0.0.0-canary.62 → 0.0.0-canary.620

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 (561) 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/required_files.js +1 -0
  134. package/dist/lib/serialize_query_parameters.js +1 -0
  135. package/dist/lib/types.js +1 -6
  136. package/increment_version.js +3 -0
  137. package/package.json +18 -36
  138. package/src/cli.js +63 -46
  139. package/src/commands/build/definition.js +58 -0
  140. package/src/commands/build/index.js +7 -0
  141. package/src/commands/create/build_package_json.js +20 -0
  142. package/src/commands/create/definition.js +35 -0
  143. package/src/commands/create/index.js +79 -0
  144. package/src/commands/create/template/api/index.js +6 -0
  145. package/src/commands/create/template/email/base.css +1 -0
  146. package/src/commands/create/template/email/base.html +1 -0
  147. package/src/commands/create/template/email/reset_password.js +20 -0
  148. package/src/commands/create/template/i18n/en-US.js +14 -0
  149. package/src/commands/create/template/index.client.js +1 -0
  150. package/src/commands/create/template/index.css +34 -0
  151. package/src/{functions/create/templates → commands/create/template}/index.html +2 -3
  152. package/src/{functions/create/templates → commands/create/template}/index.server.js +6 -6
  153. package/src/commands/create/template/public/apple-touch-icon-152x152.png +0 -0
  154. package/src/commands/create/template/public/favicon.ico +0 -0
  155. package/src/commands/create/template/public/joystick_logo.webp +0 -0
  156. package/src/{functions/create/templates → commands/create/template}/public/manifest.json +4 -4
  157. package/src/commands/create/template/public/splash-screen-1024x1024.png +0 -0
  158. package/{dist/functions/create/templates → src/commands/create/template}/ui/components/button/index.js +14 -6
  159. package/{dist/functions/create/templates → src/commands/create/template}/ui/layouts/app/index.js +2 -2
  160. package/src/commands/create/template/ui/pages/error/index.js +50 -0
  161. package/src/commands/create/template/ui/pages/index/index.js +121 -0
  162. package/src/commands/help/definition.js +12 -0
  163. package/src/commands/help/index.js +48 -0
  164. package/src/commands/index.js +23 -0
  165. package/src/commands/logout/definition.js +10 -0
  166. package/src/commands/logout/index.js +20 -0
  167. package/src/commands/push/cdn_mirrors.js +7 -0
  168. package/src/commands/push/check_if_settings_valid.js +10 -0
  169. package/src/commands/push/create_version.js +20 -0
  170. package/src/commands/push/definition.js +43 -0
  171. package/src/commands/push/get_app_domain.js +11 -0
  172. package/src/commands/push/get_deployment.js +19 -0
  173. package/src/commands/push/get_provision_domain.js +9 -0
  174. package/src/commands/push/get_session_token.js +31 -0
  175. package/src/commands/push/get_settings_file.js +47 -0
  176. package/src/commands/push/handle_initial_deployment.js +24 -0
  177. package/src/commands/push/handle_version_deployment.js +23 -0
  178. package/src/commands/push/index.js +190 -0
  179. package/src/commands/push/prompts/confirm_deployment.js +73 -0
  180. package/src/commands/push/prompts/session_token.js +11 -0
  181. package/src/commands/push/upload_build_to_cdn.js +59 -0
  182. package/src/commands/push/validate_deployment.js +19 -0
  183. package/src/commands/push/validate_push_config.js +18 -0
  184. package/src/commands/start/definition.js +58 -0
  185. package/src/commands/start/index.js +11 -0
  186. package/src/commands/test/definition.js +28 -0
  187. package/src/commands/test/index.js +12 -0
  188. package/src/commands/update/definition.js +28 -0
  189. package/src/commands/update/index.js +29 -0
  190. package/src/commands/use/definition.js +19 -0
  191. package/src/commands/use/index.js +70 -0
  192. package/src/index.js +0 -0
  193. package/src/lib/build/browser_path_exclusions.js +8 -0
  194. package/src/lib/build/browser_paths.js +11 -0
  195. package/src/lib/build/build_files.js +161 -0
  196. package/src/{functions/start/filesToCopy.js → lib/build/copy_paths.js} +3 -1
  197. package/src/lib/build/get_code_frame.js +11 -0
  198. package/src/lib/build/get_file_operation.js +25 -0
  199. package/src/lib/build/get_files_to_build.js +36 -0
  200. package/src/lib/build/get_path_platform.js +32 -0
  201. package/src/lib/build/get_platform_safe_path.js +6 -0
  202. package/src/lib/build/get_tar_ignore_list.js +41 -0
  203. package/src/lib/build/index.js +89 -0
  204. package/src/lib/build/master_ignore_list.js +14 -0
  205. package/src/lib/build/minify_file.js +15 -0
  206. package/src/lib/build/node_paths.js +17 -0
  207. package/src/lib/build/on_warn.js +70 -0
  208. package/src/lib/build/plugins/bootstrap_component.js +207 -0
  209. package/src/lib/build/plugins/generate_file_dependency_map.js +20 -0
  210. package/src/lib/build/plugins/index.js +26 -0
  211. package/src/lib/build/plugins/set_component_id.js +89 -0
  212. package/src/lib/build/plugins/update_file_map.js +98 -0
  213. package/src/lib/build/plugins/warn_node_environment.js +20 -0
  214. package/src/lib/{CLILog.js → cli_log.js} +12 -8
  215. package/src/lib/color_log.js +7 -0
  216. package/src/lib/command_exists.js +16 -0
  217. package/src/lib/constants.js +11 -1
  218. package/src/lib/debounce.js +9 -0
  219. package/src/lib/decrypt_buffer.js +12 -0
  220. package/src/lib/development_server/ava_config.js +14 -0
  221. package/src/lib/development_server/check_if_port_occupied.js +31 -0
  222. package/src/lib/development_server/cleanup.js +15 -0
  223. package/src/lib/{dev/databases/mongodb/availableQueryParameters.js → development_server/databases/mongodb/available_query_parameters.js} +3 -1
  224. package/src/lib/development_server/databases/mongodb/build_connection_string.js +31 -0
  225. package/src/lib/development_server/databases/mongodb/build_query_parameters.js +17 -0
  226. package/src/lib/development_server/databases/mongodb/check_connection.js +41 -0
  227. package/src/lib/development_server/databases/mongodb/connect.js +27 -0
  228. package/src/lib/development_server/databases/mongodb/index.js +102 -0
  229. package/src/lib/development_server/databases/postgresql/check_connection.js +56 -0
  230. package/src/lib/development_server/databases/postgresql/connect.js +33 -0
  231. package/src/lib/development_server/databases/postgresql/index.js +125 -0
  232. package/src/lib/development_server/databases/provider_map.js +15 -0
  233. package/src/lib/development_server/get_database_process_ids.js +28 -0
  234. package/src/lib/development_server/get_translations.js +85 -0
  235. package/src/lib/development_server/hmr_server.js +94 -0
  236. package/src/lib/development_server/index.js +388 -0
  237. package/src/lib/development_server/kill_process_ids.js +8 -0
  238. package/src/lib/development_server/run_tests.js +84 -0
  239. package/src/lib/development_server/start_app_server.js +55 -0
  240. package/src/lib/development_server/start_databases.js +108 -0
  241. package/src/lib/development_server/start_hmr_server.js +36 -0
  242. package/src/lib/development_server/watch_for_changes/browser_path_exclusions.js +8 -0
  243. package/src/lib/development_server/watch_for_changes/browser_paths.js +11 -0
  244. package/src/lib/development_server/watch_for_changes/get_after_run_tasks.js +24 -0
  245. package/src/lib/development_server/watch_for_changes/get_file_codependencies.js +44 -0
  246. package/src/lib/development_server/watch_for_changes/get_platform_safe_path.js +6 -0
  247. package/src/lib/development_server/watch_for_changes/index.js +210 -0
  248. package/src/lib/development_server/watch_for_changes/node_paths.js +16 -0
  249. package/src/lib/development_server/watch_for_changes/read_file_dependency_map.js +18 -0
  250. package/src/lib/development_server/watch_for_changes/watch_paths.js +21 -0
  251. package/src/lib/dynamic_import.js +6 -0
  252. package/src/lib/encrypt_buffer.js +10 -0
  253. package/src/lib/generate_id.js +15 -0
  254. package/src/lib/get_files_in_path.js +25 -0
  255. package/src/lib/get_platform_safe_path.js +8 -0
  256. package/src/lib/get_process_id_from_port.js +21 -0
  257. package/src/lib/is_valid_json_string.js +10 -0
  258. package/src/lib/kill_port_process.js +12 -0
  259. package/src/lib/kill_process_id.js +14 -0
  260. package/src/lib/load_settings.js +43 -0
  261. package/src/lib/loader.js +4 -77
  262. package/src/lib/log_bars.js +7 -0
  263. package/src/lib/node_path_polyfills.js +18 -0
  264. package/src/lib/parse_args.js +16 -0
  265. package/src/lib/parse_options.js +16 -0
  266. package/src/lib/path_exists.js +11 -0
  267. package/src/lib/{rainbowRoad.js → rainbow_road.js} +4 -2
  268. package/src/lib/{dev/requiredFiles.js → required_files.js} +3 -1
  269. package/src/lib/serialize_query_parameters.js +7 -0
  270. package/src/lib/types.js +59 -2
  271. package/HMRNOTES.txt +0 -23
  272. package/README.md +0 -7
  273. package/_package.json +0 -55
  274. package/canary.js +0 -12
  275. package/dist/functions/build/getTarIgnoreList.js +0 -25
  276. package/dist/functions/build/index.js +0 -54
  277. package/dist/functions/create/buildPackageJSON.js +0 -20
  278. package/dist/functions/create/index.js +0 -193
  279. package/dist/functions/create/templates/api/index.js +0 -4
  280. package/dist/functions/create/templates/i18n/en-US.js +0 -4
  281. package/dist/functions/create/templates/index.client.js +0 -7
  282. package/dist/functions/create/templates/index.css +0 -20
  283. package/dist/functions/create/templates/public/apple-touch-icon-152x152.png +0 -0
  284. package/dist/functions/create/templates/public/favicon.ico +0 -0
  285. package/dist/functions/create/templates/public/splash-screen-1024x1024.png +0 -0
  286. package/dist/functions/create/templates/ui/pages/error/index.js +0 -31
  287. package/dist/functions/create/templates/ui/pages/index/index.js +0 -94
  288. package/dist/functions/index.js +0 -243
  289. package/dist/functions/logout/index.js +0 -20
  290. package/dist/functions/push/checkIfProvisionAvailable.js +0 -19
  291. package/dist/functions/push/deploy/index.js +0 -173
  292. package/dist/functions/push/deploy/initial.js +0 -100
  293. package/dist/functions/push/deploy/version.js +0 -100
  294. package/dist/functions/push/domains.js +0 -23
  295. package/dist/functions/push/getAvailableCDN.js +0 -23
  296. package/dist/functions/push/getDeployment.js +0 -41
  297. package/dist/functions/push/getDeploymentSummary.js +0 -38
  298. package/dist/functions/push/getInstanceSizeRegions.js +0 -37
  299. package/dist/functions/push/getInstanceSizesForRegion.js +0 -34
  300. package/dist/functions/push/getProviderInstanceSizes.js +0 -34
  301. package/dist/functions/push/getProviderRegions.js +0 -36
  302. package/dist/functions/push/getProvidersWithConnectionStatus.js +0 -20
  303. package/dist/functions/push/getSessionToken.js +0 -23
  304. package/dist/functions/push/getUserFromSessionToken.js +0 -37
  305. package/dist/functions/push/index.js +0 -210
  306. package/dist/functions/push/loginToCheatCode.js +0 -33
  307. package/dist/functions/push/pingProvisionAPI.js +0 -31
  308. package/dist/functions/push/prompts.js +0 -332
  309. package/dist/functions/push/providerMap.js +0 -11
  310. package/dist/functions/push/providers.js +0 -9
  311. package/dist/functions/reset/index.js +0 -0
  312. package/dist/functions/reset/reset.js +0 -127
  313. package/dist/functions/start/bootstrapLayoutComponent.js +0 -54
  314. package/dist/functions/start/bootstrapPageComponent.js +0 -51
  315. package/dist/functions/start/buildFile.js +0 -85
  316. package/dist/functions/start/buildFiles.js +0 -76
  317. package/dist/functions/start/buildPlugins.js +0 -183
  318. package/dist/functions/start/checkIfPortAvailable.js +0 -18
  319. package/dist/functions/start/cleanup/index.js +0 -18
  320. package/dist/functions/start/databases/mongodb/availableQueryParameters.js +0 -42
  321. package/dist/functions/start/databases/mongodb/buildConnectionString.js +0 -22
  322. package/dist/functions/start/databases/mongodb/buildQueryParameters.js +0 -14
  323. package/dist/functions/start/databases/mongodb/checkConnection.js +0 -35
  324. package/dist/functions/start/databases/mongodb/connect.js +0 -25
  325. package/dist/functions/start/databases/mongodb/index.js +0 -93
  326. package/dist/functions/start/databases/postgresql/checkConnection.js +0 -41
  327. package/dist/functions/start/databases/postgresql/connect.js +0 -27
  328. package/dist/functions/start/databases/postgresql/index.js +0 -106
  329. package/dist/functions/start/databases/redis.js +0 -0
  330. package/dist/functions/start/databases/startProvider.js +0 -16
  331. package/dist/functions/start/fileDependencyMapper.js +0 -22
  332. package/dist/functions/start/filesToCopy.js +0 -18
  333. package/dist/functions/start/generateId.js +0 -74
  334. package/dist/functions/start/getCodependenciesForFile.js +0 -64
  335. package/dist/functions/start/getFilesToBuild.js +0 -39
  336. package/dist/functions/start/getProcessIdFromPort.js +0 -60
  337. package/dist/functions/start/hmrServer.js +0 -66
  338. package/dist/functions/start/index.js +0 -31
  339. package/dist/functions/start/isWindows.js +0 -5
  340. package/dist/functions/start/minifyFile.js +0 -12
  341. package/dist/functions/start/onWarn.js +0 -63
  342. package/dist/functions/start/readFileDependencyMap.js +0 -16
  343. package/dist/functions/start/removeDeletedDependenciesFromMap.js +0 -18
  344. package/dist/functions/start/setComponentId.js +0 -46
  345. package/dist/functions/start/updateFileMap.js +0 -67
  346. package/dist/functions/test/index.js +0 -30
  347. package/dist/functions/update/index.js +0 -21
  348. package/dist/functions/use/index.js +0 -61
  349. package/dist/lib/CLILog.js +0 -49
  350. package/dist/lib/build/browserPathExclusions.js +0 -7
  351. package/dist/lib/build/browserPaths.js +0 -11
  352. package/dist/lib/build/buildFile.js +0 -84
  353. package/dist/lib/build/buildFiles.js +0 -238
  354. package/dist/lib/build/buildPlugins.js +0 -186
  355. package/dist/lib/build/getCodeFrame.js +0 -9
  356. package/dist/lib/build/minifyFile.js +0 -12
  357. package/dist/lib/build/nodePathExclusions.js +0 -7
  358. package/dist/lib/build/nodePaths.js +0 -11
  359. package/dist/lib/build/onWarn.js +0 -63
  360. package/dist/lib/build/removeDeletedDependenciesFromMap.js +0 -18
  361. package/dist/lib/build/setComponentId.js +0 -46
  362. package/dist/lib/build/updateFileMap.js +0 -67
  363. package/dist/lib/buildResolvePlugin.js +0 -21
  364. package/dist/lib/checkIfValidJSON.js +0 -11
  365. package/dist/lib/colorLog.js +0 -7
  366. package/dist/lib/dev/cleanup.js +0 -30
  367. package/dist/lib/dev/databases/mongodb/availableQueryParameters.js +0 -42
  368. package/dist/lib/dev/databases/mongodb/buildConnectionString.js +0 -22
  369. package/dist/lib/dev/databases/mongodb/buildQueryParameters.js +0 -14
  370. package/dist/lib/dev/databases/mongodb/checkConnection.js +0 -38
  371. package/dist/lib/dev/databases/mongodb/connect.js +0 -25
  372. package/dist/lib/dev/databases/mongodb/index.js +0 -93
  373. package/dist/lib/dev/databases/postgresql/checkConnection.js +0 -41
  374. package/dist/lib/dev/databases/postgresql/connect.js +0 -27
  375. package/dist/lib/dev/databases/postgresql/index.js +0 -106
  376. package/dist/lib/dev/databases/providerMap.js +0 -15
  377. package/dist/lib/dev/getCodependenciesForFile.js +0 -64
  378. package/dist/lib/dev/getFilesToBuild.js +0 -38
  379. package/dist/lib/dev/index.js +0 -451
  380. package/dist/lib/dev/isWindows.js +0 -5
  381. package/dist/lib/dev/loadSettings.js +0 -79
  382. package/dist/lib/dev/readFileDependencyMap.js +0 -16
  383. package/dist/lib/dev/requiredFiles.js +0 -18
  384. package/dist/lib/dev/runBuild.js +0 -30
  385. package/dist/lib/dev/runTests.js +0 -30
  386. package/dist/lib/dev/startApp.js +0 -69
  387. package/dist/lib/dev/startDatabases.js +0 -109
  388. package/dist/lib/dev/startHMR.js +0 -55
  389. package/dist/lib/dev/updateFileMap.js +0 -67
  390. package/dist/lib/dev/validateProject.js +0 -0
  391. package/dist/lib/dev/watchlist.js +0 -15
  392. package/dist/lib/filesToCopy.js +0 -18
  393. package/dist/lib/generateId.js +0 -74
  394. package/dist/lib/getArgs.js +0 -14
  395. package/dist/lib/getOptions.js +0 -15
  396. package/dist/lib/getPlatformSafePath.js +0 -7
  397. package/dist/lib/getProcessIdFromPort.js +0 -60
  398. package/dist/lib/getProvider.js +0 -8
  399. package/dist/lib/help.js +0 -56
  400. package/dist/lib/isObject.js +0 -6
  401. package/dist/lib/isValidJSONString.js +0 -11
  402. package/dist/lib/isWindows.js +0 -5
  403. package/dist/lib/killProcesses.js +0 -0
  404. package/dist/lib/loadSettings.js +0 -33
  405. package/dist/lib/masterIgnoreList.js +0 -16
  406. package/dist/lib/nodeEnvironment.js +0 -9
  407. package/dist/lib/nodeEnvironments.js +0 -8
  408. package/dist/lib/parseCookiesFromLogin.js +0 -18
  409. package/dist/lib/rainbowRoad.js +0 -7
  410. package/dist/lib/readDirectorySync.js +0 -14
  411. package/dist/lib/regexes.js +0 -14
  412. package/dist/lib/replaceBackslashesWithForwardSlashes.js +0 -8
  413. package/dist/lib/replaceFileProtocol.js +0 -8
  414. package/dist/lib/serializeQueryParameters.js +0 -8
  415. package/dist/lib/settings.js +0 -4
  416. package/dist/lib/validateDatabasesFromSettings.js +0 -34
  417. package/dist/lib/wait.js +0 -8
  418. package/release.js +0 -40
  419. package/src/functions/build/getTarIgnoreList.js +0 -30
  420. package/src/functions/build/index.js +0 -63
  421. package/src/functions/create/buildPackageJSON.js +0 -18
  422. package/src/functions/create/index.js +0 -209
  423. package/src/functions/create/templates/api/index.js +0 -4
  424. package/src/functions/create/templates/i18n/en-US.js +0 -4
  425. package/src/functions/create/templates/index.client.js +0 -7
  426. package/src/functions/create/templates/index.css +0 -20
  427. package/src/functions/create/templates/public/apple-touch-icon-152x152.png +0 -0
  428. package/src/functions/create/templates/public/favicon.ico +0 -0
  429. package/src/functions/create/templates/public/splash-screen-1024x1024.png +0 -0
  430. package/src/functions/create/templates/ui/pages/error/index.js +0 -31
  431. package/src/functions/create/templates/ui/pages/index/index.js +0 -94
  432. package/src/functions/index.js +0 -243
  433. package/src/functions/logout/index.js +0 -20
  434. package/src/functions/push/checkIfProvisionAvailable.js +0 -20
  435. package/src/functions/push/deploy/index.js +0 -199
  436. package/src/functions/push/deploy/initial.js +0 -108
  437. package/src/functions/push/deploy/version.js +0 -108
  438. package/src/functions/push/domains.js +0 -23
  439. package/src/functions/push/getAvailableCDN.js +0 -27
  440. package/src/functions/push/getDeployment.js +0 -43
  441. package/src/functions/push/getDeploymentSummary.js +0 -39
  442. package/src/functions/push/getInstanceSizeRegions.js +0 -40
  443. package/src/functions/push/getInstanceSizesForRegion.js +0 -35
  444. package/src/functions/push/getProviderInstanceSizes.js +0 -35
  445. package/src/functions/push/getProviderRegions.js +0 -39
  446. package/src/functions/push/getProvidersWithConnectionStatus.js +0 -25
  447. package/src/functions/push/getSessionToken.js +0 -26
  448. package/src/functions/push/getUserFromSessionToken.js +0 -39
  449. package/src/functions/push/index.js +0 -245
  450. package/src/functions/push/loginToCheatCode.js +0 -34
  451. package/src/functions/push/pingProvisionAPI.js +0 -33
  452. package/src/functions/push/prompts.js +0 -276
  453. package/src/functions/push/providerMap.js +0 -8
  454. package/src/functions/push/providers.js +0 -6
  455. package/src/functions/reset/index.js +0 -0
  456. package/src/functions/reset/reset.js +0 -163
  457. package/src/functions/start/bootstrapLayoutComponent.js +0 -57
  458. package/src/functions/start/bootstrapPageComponent.js +0 -54
  459. package/src/functions/start/buildFile.js +0 -97
  460. package/src/functions/start/buildFiles.js +0 -101
  461. package/src/functions/start/buildPlugins.js +0 -215
  462. package/src/functions/start/checkIfPortAvailable.js +0 -21
  463. package/src/functions/start/cleanup/index.js +0 -23
  464. package/src/functions/start/databases/mongodb/availableQueryParameters.js +0 -39
  465. package/src/functions/start/databases/mongodb/buildConnectionString.js +0 -28
  466. package/src/functions/start/databases/mongodb/buildQueryParameters.js +0 -15
  467. package/src/functions/start/databases/mongodb/checkConnection.js +0 -36
  468. package/src/functions/start/databases/mongodb/connect.js +0 -25
  469. package/src/functions/start/databases/mongodb/index.js +0 -108
  470. package/src/functions/start/databases/postgresql/checkConnection.js +0 -43
  471. package/src/functions/start/databases/postgresql/connect.js +0 -27
  472. package/src/functions/start/databases/postgresql/index.js +0 -127
  473. package/src/functions/start/databases/redis.js +0 -0
  474. package/src/functions/start/databases/startProvider.js +0 -15
  475. package/src/functions/start/fileDependencyMapper.js +0 -24
  476. package/src/functions/start/generateId.js +0 -73
  477. package/src/functions/start/getCodependenciesForFile.js +0 -84
  478. package/src/functions/start/getFilesToBuild.js +0 -49
  479. package/src/functions/start/getProcessIdFromPort.js +0 -92
  480. package/src/functions/start/hmrServer.js +0 -78
  481. package/src/functions/start/index.js +0 -701
  482. package/src/functions/start/isWindows.js +0 -3
  483. package/src/functions/start/minifyFile.js +0 -10
  484. package/src/functions/start/onWarn.js +0 -68
  485. package/src/functions/start/readFileDependencyMap.js +0 -19
  486. package/src/functions/start/removeDeletedDependenciesFromMap.js +0 -19
  487. package/src/functions/start/setComponentId.js +0 -58
  488. package/src/functions/start/updateFileMap.js +0 -100
  489. package/src/functions/test/index.js +0 -34
  490. package/src/functions/update/index.js +0 -20
  491. package/src/functions/use/index.js +0 -62
  492. package/src/lib/build/browserPathExclusions.js +0 -5
  493. package/src/lib/build/browserPaths.js +0 -9
  494. package/src/lib/build/buildFile.js +0 -91
  495. package/src/lib/build/buildFiles.js +0 -270
  496. package/src/lib/build/buildPlugins.js +0 -222
  497. package/src/lib/build/getCodeFrame.js +0 -7
  498. package/src/lib/build/minifyFile.js +0 -10
  499. package/src/lib/build/nodePathExclusions.js +0 -5
  500. package/src/lib/build/nodePaths.js +0 -9
  501. package/src/lib/build/onWarn.js +0 -68
  502. package/src/lib/build/removeDeletedDependenciesFromMap.js +0 -19
  503. package/src/lib/build/setComponentId.js +0 -58
  504. package/src/lib/build/updateFileMap.js +0 -100
  505. package/src/lib/buildResolvePlugin.js +0 -32
  506. package/src/lib/checkIfValidJSON.js +0 -8
  507. package/src/lib/colorLog.js +0 -5
  508. package/src/lib/dev/cleanup.js +0 -34
  509. package/src/lib/dev/databases/mongodb/buildConnectionString.js +0 -28
  510. package/src/lib/dev/databases/mongodb/buildQueryParameters.js +0 -15
  511. package/src/lib/dev/databases/mongodb/checkConnection.js +0 -40
  512. package/src/lib/dev/databases/mongodb/connect.js +0 -25
  513. package/src/lib/dev/databases/mongodb/index.js +0 -108
  514. package/src/lib/dev/databases/postgresql/checkConnection.js +0 -43
  515. package/src/lib/dev/databases/postgresql/connect.js +0 -27
  516. package/src/lib/dev/databases/postgresql/index.js +0 -127
  517. package/src/lib/dev/databases/providerMap.js +0 -13
  518. package/src/lib/dev/getCodependenciesForFile.js +0 -84
  519. package/src/lib/dev/getFilesToBuild.js +0 -47
  520. package/src/lib/dev/index.js +0 -559
  521. package/src/lib/dev/isWindows.js +0 -3
  522. package/src/lib/dev/loadSettings.js +0 -90
  523. package/src/lib/dev/readFileDependencyMap.js +0 -19
  524. package/src/lib/dev/runBuild.js +0 -33
  525. package/src/lib/dev/runTests.js +0 -33
  526. package/src/lib/dev/startApp.js +0 -77
  527. package/src/lib/dev/startDatabases.js +0 -131
  528. package/src/lib/dev/startHMR.js +0 -62
  529. package/src/lib/dev/updateFileMap.js +0 -100
  530. package/src/lib/dev/validateProject.js +0 -0
  531. package/src/lib/dev/watchlist.js +0 -13
  532. package/src/lib/filesToCopy.js +0 -15
  533. package/src/lib/generateId.js +0 -73
  534. package/src/lib/getArgs.js +0 -14
  535. package/src/lib/getOptions.js +0 -12
  536. package/src/lib/getProcessIdFromPort.js +0 -92
  537. package/src/lib/getProvider.js +0 -5
  538. package/src/lib/help.js +0 -56
  539. package/src/lib/isObject.js +0 -3
  540. package/src/lib/isValidJSONString.js +0 -8
  541. package/src/lib/killProcesses.js +0 -5
  542. package/src/lib/loadSettings.js +0 -40
  543. package/src/lib/masterIgnoreList.js +0 -13
  544. package/src/lib/nodeEnvironment.js +0 -6
  545. package/src/lib/nodeEnvironments.js +0 -8
  546. package/src/lib/parseCookiesFromLogin.js +0 -21
  547. package/src/lib/readDirectorySync.js +0 -13
  548. package/src/lib/regexes.js +0 -7
  549. package/src/lib/replaceBackslashesWithForwardSlashes.js +0 -8
  550. package/src/lib/replaceFileProtocol.js +0 -8
  551. package/src/lib/serializeQueryParameters.js +0 -5
  552. package/src/lib/settings.js +0 -1
  553. package/src/lib/validateDatabasesFromSettings.js +0 -37
  554. package/src/lib/wait.js +0 -5
  555. package/storage/.verdaccio-db.json +0 -1
  556. /package/{src/lib → .build}/getPlatformSafePath.js +0 -0
  557. /package/{src/lib → .build}/isWindows.js +0 -0
  558. /package/dist/{functions/create/templates → commands/create/template}/public/service-worker.js +0 -0
  559. /package/dist/{functions/create/templates → commands/create/template}/settings.development.json +0 -0
  560. /package/src/{functions/create/templates → commands/create/template}/public/service-worker.js +0 -0
  561. /package/src/{functions/create/templates → commands/create/template}/settings.development.json +0 -0
@@ -1,100 +0,0 @@
1
- import fs from "fs";
2
- import * as acorn from "acorn";
3
-
4
- const getImportsAndRequires = (map = {}) => {
5
- const { body } = map;
6
-
7
- const imports =
8
- body &&
9
- body.filter(({ type }) => {
10
- return type === "ImportDeclaration";
11
- });
12
-
13
- const requires =
14
- body &&
15
- body.filter((statement) => {
16
- const type = statement && statement.type;
17
- const declarations = (statement && statement.declarations) || [];
18
-
19
- const isVariableDeclaration = type === "VariableDeclaration";
20
-
21
- const hasRequireStatement = declarations.some((declaration) => {
22
- const isVariableDeclarator = declaration.type === "VariableDeclarator";
23
- const calleeName =
24
- declaration &&
25
- declaration.init &&
26
- declaration.init.callee &&
27
- declaration.init.callee.name;
28
- return isVariableDeclarator && calleeName === "require";
29
- });
30
-
31
- return isVariableDeclaration && hasRequireStatement;
32
- });
33
-
34
- return {
35
- imports: imports.map((importDeclaration) => {
36
- return {
37
- path:
38
- importDeclaration &&
39
- importDeclaration.source &&
40
- importDeclaration.source.value,
41
- };
42
- }),
43
- requires: requires.map((requireDeclaration) => {
44
- const declarations = requireDeclaration.declarations;
45
- const declaration = declarations && declarations[0];
46
-
47
- return {
48
- path:
49
- declaration &&
50
- declaration.init &&
51
- declaration.init.arguments &&
52
- declaration.init.arguments[0] &&
53
- declaration.init.arguments[0].value,
54
- };
55
- }),
56
- };
57
- };
58
-
59
- const parseFileToAST = (source = "") => {
60
- return acorn.parse(source, {
61
- ecmaVersion: "latest",
62
- sourceType: "module",
63
- });
64
- };
65
-
66
- const readFileDependencyMap = () => {
67
- const fileDependencyMapPath = `.joystick/build/fileMap.json`;
68
-
69
- if (fs.existsSync(fileDependencyMapPath)) {
70
- const fileDependencyMapAsJSON = fs.readFileSync(
71
- fileDependencyMapPath,
72
- "utf-8"
73
- );
74
- const fileMap = fileDependencyMapAsJSON
75
- ? JSON.parse(fileDependencyMapAsJSON)
76
- : {};
77
-
78
- return fileMap;
79
- }
80
-
81
- return {};
82
- };
83
-
84
- export default (path = "", source = "") => {
85
- try {
86
- const fileDependencyMap = readFileDependencyMap();
87
- const fileAST = parseFileToAST(source);
88
- const imports = fileAST ? getImportsAndRequires(fileAST) : [];
89
-
90
- fileDependencyMap[path] = imports;
91
-
92
- fs.writeFileSync(
93
- `.joystick/build/fileMap.json`,
94
- JSON.stringify(fileDependencyMap, null, 2)
95
- );
96
- } catch (exception) {
97
- // Do nothing. This exists to handle acorn parsing errors that are also picked
98
- // up by the esbuild parser (we want to defer to esbuild).
99
- }
100
- };
@@ -1,32 +0,0 @@
1
- // TODO: None of these plugin-level methods give us the info we need. They *should*
2
- // but it's not defined (which means at best it's inconsistent).
3
- //
4
- // TODO: Just run a full build of the parent path where the file is located, or,
5
- // build the entire app again. That has an n(0) problem that we'll have to solve
6
- // but I think we can figure it out in time (or invent a custom a solution).
7
-
8
- export default function myExample() {
9
- return {
10
- name: "joystick-build-resolve", // this name will show up in warnings and errors
11
- buildEnd() {
12
- const moduleIds = Array.from(this.getModuleIds());
13
- const modules = moduleIds
14
- .map((moduleId) => this.getModuleInfo(moduleId))
15
- .filter(({ id }) => {
16
- const ignorePaths = ["node_modules", "dist"];
17
- const noResolvePaths = ["/ui", "/api"];
18
-
19
- if (
20
- !ignorePaths.some((path) => id.includes(path)) &&
21
- noResolvePaths.some((path) => id.includes(path))
22
- ) {
23
- return true;
24
- }
25
-
26
- return false;
27
- });
28
-
29
- return null;
30
- },
31
- };
32
- }
@@ -1,8 +0,0 @@
1
- export default (text = '') => {
2
- try {
3
- const json = JSON.parse(text);
4
- return json;
5
- } catch (exception) {
6
- return {};
7
- }
8
- }
@@ -1,5 +0,0 @@
1
- import chalk from "chalk";
2
-
3
- export default (message = '', color = 'blueBright') => {
4
- return console.log(chalk[color](message));
5
- };
@@ -1,34 +0,0 @@
1
- /* eslint-disable consistent-return */
2
-
3
- const actionMethod = () => {
4
- try {
5
- // Perform a single step in your action here.
6
- } catch (exception) {
7
- throw new Error(`[cleanup.actionMethod] ${exception.message}`);
8
- }
9
- };
10
-
11
- const validateOptions = (options) => {
12
- try {
13
- if (!options) throw new Error('options object is required.');
14
- if (!options.someOption) throw new Error('options.someOption is required.');
15
- } catch (exception) {
16
- throw new Error(`[cleanup.validateOptions] ${exception.message}`);
17
- }
18
- };
19
-
20
- const cleanup = (options, { resolve, reject }) => {
21
- try {
22
- validateOptions(options);
23
- // Call action methods in sequence here.
24
- resolve();
25
- } catch (exception) {
26
- reject(`[cleanup] ${exception.message}`);
27
- }
28
- };
29
-
30
- export default (options) =>
31
- new Promise((resolve, reject) => {
32
- cleanup(options, { resolve, reject });
33
- });
34
-
@@ -1,28 +0,0 @@
1
- import buildQueryParameters from "./buildQueryParameters.js";
2
- import serializeQueryParameters from "../../../../lib/serializeQueryParameters.js";
3
-
4
- export default (connection = {}) => {
5
- let connectionString = "mongodb://";
6
-
7
- if (connection && (connection.username || connection.password)) {
8
- connectionString = `${connectionString}${connection.username || connection.password ? `${connection.username || ""}${!!connection.username && !!connection.password ? ':' : ''}${connection.password || ""}@` : ''}`;
9
- }
10
-
11
- if (connection && connection.hosts && Array.isArray(connection.hosts)) {
12
- connectionString = `${connectionString}${connection.hosts
13
- .map((host) => `${host.hostname}:${host.port}`)
14
- .join(",")}`;
15
- }
16
-
17
- if (connection && connection.database) {
18
- connectionString = `${connectionString}/${connection.database}`;
19
- }
20
-
21
- const queryParameters = buildQueryParameters(connection);
22
-
23
- if (Object.keys(queryParameters)?.length > 0 ) {
24
- connectionString = `${connectionString}?${serializeQueryParameters(queryParameters)}`;
25
- }
26
-
27
- return connectionString;
28
- };
@@ -1,15 +0,0 @@
1
- import availableQueryParameters from "./availableQueryParameters.js";
2
-
3
- export default (connection = {}) => {
4
- const queryParameters = {};
5
-
6
- for (let i = 0; i < availableQueryParameters.length; i += 1) {
7
- const availableParameter = availableQueryParameters[i];
8
-
9
- if (connection && connection[availableParameter]) {
10
- queryParameters[availableParameter] = connection[availableParameter];
11
- }
12
- }
13
-
14
- return queryParameters;
15
- };
@@ -1,40 +0,0 @@
1
- import { MongoClient } from "mongodb";
2
- import chalk from "chalk";
3
- import fs from 'fs';
4
- import buildConnectionString from "./buildConnectionString.js";
5
-
6
- export default async (connection = {}, options = {}) => {
7
- const connectionString = buildConnectionString(connection);
8
- console.log({
9
- connectionString
10
- })
11
-
12
- try {
13
- const connectionOptions = {
14
- connectTimeoutMS: 3000,
15
- socketTimeoutMS: 3000,
16
- useNewUrlParser: true,
17
- useUnifiedTopology: true,
18
- ssl: false,
19
- ...(options || {}),
20
- };
21
-
22
- if (options?.ca) {
23
- connectionOptions.ca = fs.readFileSync(options?.ca);
24
- }
25
-
26
- const connection = await MongoClient.connect(connectionString, connectionOptions);
27
-
28
- connection.close();
29
-
30
- return true;
31
- } catch (exception) {
32
- console.warn(exception);
33
- console.warn(
34
- chalk.yellowBright(
35
- `\nFailed to connect to MongoDB. Please double-check connection settings and try again.`
36
- )
37
- );
38
- process.exit(1);
39
- }
40
- };
@@ -1,25 +0,0 @@
1
- import checkConnection from "./checkConnection.js";
2
- import mongodb from "./index.js";
3
-
4
- export default async (settings = {}, port = 2610) => {
5
- const hasConnection = settings.connection && Object.keys(settings.connection).length > 0;
6
-
7
- if (hasConnection) {
8
- await checkConnection(settings.connection, settings.options);
9
- }
10
-
11
- return {
12
- pid: !hasConnection ? await mongodb(port) : null,
13
- connection: hasConnection ? settings.connection : {
14
- hosts: [
15
- {
16
- hostname: "127.0.0.1",
17
- port,
18
- },
19
- ],
20
- database: "app",
21
- username: "",
22
- password: "",
23
- },
24
- };
25
- };
@@ -1,108 +0,0 @@
1
- import fs from "fs";
2
- import commandExists from "command-exists";
3
- import child_process from "child_process";
4
- import { kill as killPortProcess } from 'cross-port-killer';
5
- import isWindows from "../../isWindows.js";
6
- import CLILog from "../../../../lib/CLILog.js";
7
- import getProcessIdFromPort from "../../../getProcessIdFromPort.js";
8
-
9
- const getMongoProcessId = async (port = 2601) => {
10
- const pids = await getProcessIdFromPort(port);
11
- return pids.tcp && pids.tcp[0];
12
- };
13
-
14
- const warnMongoDBMissing = () => {
15
- CLILog(
16
- `MongoDB is not installed on this computer.\n\n Download MongoDB at https://www.mongodb.com/try/download/community\n\n After you've installed MongoDB, run joystick start again, or, remove MongoDB from your config.databases array in your settings.development.json file to skip starting it up.`, {
17
- level: 'danger',
18
- docs: 'https://github.com/cheatcode/joystick#databases',
19
- });
20
- };
21
-
22
- const checkIfMongoDBExists = () => {
23
- if (isWindows) {
24
- const mongodbVersions = fs
25
- .readdirSync(`C:\\Program Files\\MongoDB\\Server\\`)
26
- .sort()
27
- .reverse();
28
-
29
- return mongodbVersions && mongodbVersions.length > 0;
30
- }
31
-
32
- return commandExists.sync("mongod");
33
- };
34
-
35
- const startMongoDBProcess = (mongodbPort = 2610, dataDirectoryExists = false, resolveAfterRestart = null) => {
36
- return new Promise((resolve) => {
37
- const databaseProcessFlags = [
38
- '--port',
39
- mongodbPort,
40
- '--dbpath',
41
- `./.joystick/data/mongodb_${mongodbPort}`,
42
- '--quiet',
43
- '--replSet',
44
- `joystick_${mongodbPort}`,
45
- ];
46
-
47
- const databaseProcess = child_process.spawn(
48
- `mongod`,
49
- databaseProcessFlags.filter((command) => !!command),
50
- );
51
-
52
- databaseProcess.stdout.on('data', async (data) => {
53
- const stdout = data?.toString();
54
-
55
- if (stdout.includes('Waiting for connections')) {
56
- child_process.exec(`mongo --eval "rs.initiate()" --verbose --port ${mongodbPort}`, async (error, stdout, stderr) => {
57
- if (error || stderr) {
58
- console.warn(error || stderr);
59
- } else {
60
- const processId = await getMongoProcessId(mongodbPort);
61
- return resolve(processId);
62
- }
63
- });
64
- }
65
- });
66
- });
67
- };
68
-
69
- const setupDataDirectory = (mongodbPort = 2610) => {
70
- // NOTE: MongoDB was originally started as a standalone server. To enable additional functionality,
71
- // we moved to a replica set config which necessitated multiple data directories in order to support
72
- // running the same app on multiple ports (a limitation of MongoDB).
73
- const legacyDataDirectoryExists = fs.existsSync(".joystick/data/mongodb");
74
- const dataDirectoryExists = fs.existsSync(`.joystick/data/mongodb_${mongodbPort}`);
75
-
76
- if (legacyDataDirectoryExists && !dataDirectoryExists) {
77
- fs.renameSync('.joystick/data/mongodb', `.joystick/data/mongodb_${mongodbPort}`);
78
- }
79
-
80
- if (!dataDirectoryExists) {
81
- fs.mkdirSync(`.joystick/data/mongodb_${mongodbPort}`, { recursive: true });
82
- }
83
-
84
- return dataDirectoryExists;
85
- };
86
-
87
- const startMongoDB = async (mongodbPort = 2610) => {
88
- const mongodbExists = checkIfMongoDBExists();
89
-
90
- if (!mongodbExists) {
91
- process.loader.stop();
92
- warnMongoDBMissing();
93
- process.exit(1);
94
- }
95
-
96
- const dataDirectoryExists = setupDataDirectory(mongodbPort);
97
-
98
- try {
99
- await killPortProcess(mongodbPort);
100
- const mongodbProcessId = await startMongoDBProcess(mongodbPort, dataDirectoryExists);
101
- return mongodbProcessId;
102
- } catch (exception) {
103
- console.warn(exception);
104
- process.exit(1);
105
- }
106
- };
107
-
108
- export default async (port = 2610) => await startMongoDB(port);
@@ -1,43 +0,0 @@
1
- import postgresql from "pg";
2
- import chalk from "chalk";
3
-
4
- const { Client } = postgresql;
5
-
6
- const testQuery = (client = {}) => {
7
- return new Promise((resolve, reject) => {
8
- client.query('SELECT NOW()', (error) => {
9
- if (error) {
10
- reject();
11
- } else {
12
- resolve();
13
- }
14
-
15
- client.end()
16
- });
17
- });
18
- };
19
-
20
- export default async (connection) => {
21
- try {
22
- const host = connection?.hosts && connection?.hosts[0];
23
- const client = new Client({
24
- user: connection?.username,
25
- host: host?.hostname,
26
- database: connection?.database,
27
- password: connection?.password,
28
- port: host?.port,
29
- });
30
-
31
- client.connect();
32
- await testQuery(client);
33
-
34
- return true;
35
- } catch (exception) {
36
- console.warn(
37
- chalk.yellowBright(
38
- `\nFailed to connect to PostgreSQL. Please double-check connection settings and try again.`
39
- )
40
- );
41
- process.exit(1);
42
- }
43
- };
@@ -1,27 +0,0 @@
1
- import os from 'os';
2
- import checkConnection from "./checkConnection.js";
3
- import postgresql from "./index.js";
4
-
5
- export default async (settings = {}, port = 2610) => {
6
- const hasConnection = settings.connection && Object.keys(settings.connection).length > 0;
7
-
8
- if (hasConnection) {
9
- await checkConnection(settings.connection, settings.options);
10
- }
11
-
12
- return {
13
- pid: !hasConnection ? await postgresql(port) : null,
14
- connection: hasConnection ? settings.connection : {
15
- hosts: [
16
- {
17
- hostname: "127.0.0.1",
18
- port,
19
- },
20
- ],
21
- database: "app",
22
- // NOTE: PostgreSQL creates a default superuser based on the OS username.
23
- username: (os.userInfo() || {}).username || "",
24
- password: "",
25
- },
26
- };
27
- };
@@ -1,127 +0,0 @@
1
- import fs from "fs";
2
- import chalk from "chalk";
3
- import util from "util";
4
- import commandExists from "command-exists";
5
- import child_process from "child_process";
6
- import { kill as killPortProcess } from 'cross-port-killer';
7
- import getProcessIdFromPort from "../../../getProcessIdFromPort.js";
8
- import CLILog from "../../../CLILog.js";
9
-
10
- const exec = util.promisify(child_process.exec);
11
-
12
- const getPostgreSQLProcessId = async (port = 2610) => {
13
- const pids = await getProcessIdFromPort(port);
14
- return pids.tcp && pids.tcp[0];
15
- };
16
-
17
- const setupDataDirectory = (postgresqlPort = 2610) => {
18
- const legacyDataDirectoryExists = fs.existsSync(".joystick/data/postgresql");
19
- let dataDirectoryExists = fs.existsSync(`.joystick/data/postgresql_${postgresqlPort}`);
20
-
21
- if (legacyDataDirectoryExists && !dataDirectoryExists) {
22
- fs.renameSync('.joystick/data/postgresql', `.joystick/data/postgresql_${postgresqlPort}`);
23
- dataDirectoryExists = true;
24
- }
25
-
26
- if (!dataDirectoryExists) {
27
- fs.mkdirSync(`.joystick/data/postgresql_${postgresqlPort}`, { recursive: true });
28
- dataDirectoryExists = true;
29
- }
30
-
31
- return dataDirectoryExists;
32
- };
33
-
34
- const warnPostgreSQLIsMissing = () => {
35
- CLILog(
36
- 'PostgreSQL is not installed on this computer. You can download PostgreSQL at https://www.postgresql.org/download. After you\'ve installed PostgreSQL, run joystick start again, or, remove PostgreSQL from your databases list in your settings.development.json file to skip startup.',
37
- {
38
- level: 'danger',
39
- docs: 'https://cheatcode.co/docs/joystick/cli#databases'
40
- }
41
- );
42
- };
43
-
44
- const checkIfPostgreSQLExists = () => {
45
- return commandExists.sync("psql");
46
- };
47
-
48
- const checkIfPostgreSQLControlExists = () => {
49
- return commandExists.sync("pg_ctl");
50
- };
51
-
52
- const startPostgreSQL = async (port = 2610) => {
53
- const postgreSQLExists = checkIfPostgreSQLExists();
54
-
55
- if (!postgreSQLExists) {
56
- process.loader.stop();
57
- warnPostgreSQLIsMissing();
58
- process.exit(1);
59
- }
60
-
61
- const postgreSQLControlExists = checkIfPostgreSQLControlExists();
62
-
63
- if (!postgreSQLControlExists) {
64
- CLILog(
65
- 'PostgreSQL is installed on this computer, but pg_ctl (what Joystick uses to start and manage PostgreSQL) is not in your command line\'s PATH variable. Add pg_ctl to your command line\'s PATH, restart your command line, and try again.',
66
- {
67
- level: 'danger',
68
- docs: 'https://cheatcode.co/docs/joystick/postgresql#path'
69
- }
70
- );
71
- }
72
-
73
- try {
74
- const dataDirectoryExists = setupDataDirectory(port);
75
-
76
- if (!dataDirectoryExists && postgreSQLControlExists) {
77
- await exec(
78
- `pg_ctl init -D .joystick/data/postgresql_${port}`
79
- );
80
- }
81
-
82
- const postgreSQLPort = port;
83
- await killPortProcess(postgreSQLPort);
84
-
85
- const databaseProcess = child_process.spawn(
86
- `pg_ctl`,
87
- [
88
- '-o',
89
- `"-p ${postgreSQLPort}"`,
90
- '-D',
91
- `.joystick/data/postgresql_${port}`,
92
- 'start',
93
- ].filter((command) => !!command),
94
- );
95
-
96
- return new Promise((resolve) => {
97
- databaseProcess.stdout.on('data', async (data) => {
98
- const stdout = data?.toString();
99
- if (stdout.includes('database system is ready to accept connections')) {
100
- const processId = await getPostgreSQLProcessId(postgreSQLPort);
101
- const createAppDatabaseProcess = child_process.exec(`createdb -h 127.0.0.1 -p ${postgreSQLPort} app`);
102
-
103
- createAppDatabaseProcess.stderr.on('data', (error) => {
104
- // NOTE: PostgreSQL does not have a clean way to create database if it doesn't exist. Use this as a hack
105
- // to get around the "already exists" error (if the database exists, it's not an issue).
106
- if (error && error.includes('database "app" already exists')) {
107
- resolve(processId);
108
- } else {
109
- console.log(error);
110
- }
111
- });
112
-
113
- createAppDatabaseProcess.stdout.on('data', () => {
114
- resolve(processId);
115
- });
116
-
117
- return processId;
118
- }
119
- });
120
- });
121
- } catch (exception) {
122
- console.warn(exception);
123
- process.exit(1);
124
- }
125
- };
126
-
127
- export default async (port = 2610) => await startPostgreSQL(port);
@@ -1,13 +0,0 @@
1
- import connectMongoDB from './mongodb/connect.js';
2
- import connectPostgreSQL from './postgresql/connect.js';
3
-
4
- export default {
5
- mongodb: {
6
- name: 'MongoDB',
7
- connect: connectMongoDB,
8
- },
9
- postgresql: {
10
- name: 'PostgreSQL',
11
- connect: connectPostgreSQL,
12
- },
13
- };