@joystick.js/cli-canary 0.0.0-canary.172 → 0.0.0-canary.1721

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 (763) hide show
  1. package/.build/getFilesToBuild.js +1 -1
  2. package/.build/index.js +5 -3
  3. package/LICENSE.md +59 -0
  4. package/README.md +45 -4
  5. package/dist/cli.js +2 -76
  6. package/dist/cli.js.map +7 -0
  7. package/dist/commands/build/definition.js +2 -0
  8. package/dist/commands/build/definition.js.map +7 -0
  9. package/dist/commands/build/index.js +2 -0
  10. package/dist/commands/build/index.js.map +7 -0
  11. package/dist/commands/create/build_package_json.js +2 -0
  12. package/dist/commands/create/build_package_json.js.map +7 -0
  13. package/dist/commands/create/definition.js +2 -0
  14. package/dist/commands/create/definition.js.map +7 -0
  15. package/dist/commands/create/index.js +3 -0
  16. package/dist/commands/create/index.js.map +7 -0
  17. package/dist/commands/create/template/api/index.js +6 -0
  18. package/dist/commands/create/template/email/base.css +9 -0
  19. package/dist/commands/create/template/email/base.html +10 -0
  20. package/dist/commands/create/template/email/reset_password.js +20 -0
  21. package/dist/commands/create/template/i18n/en-US.js +14 -0
  22. package/dist/commands/create/template/index.client.js +1 -0
  23. package/dist/commands/create/template/index.css +34 -0
  24. package/dist/{functions/create/templates → commands/create/template}/index.html +2 -3
  25. package/dist/{functions/create/templates → commands/create/template}/index.server.js +6 -6
  26. package/dist/commands/create/template/public/apple-touch-icon-152x152.png +0 -0
  27. package/dist/commands/create/template/public/favicon.ico +0 -0
  28. package/dist/commands/create/template/public/joystick_logo.webp +0 -0
  29. package/dist/{functions/create/templates → commands/create/template}/public/manifest.json +4 -4
  30. package/dist/commands/create/template/public/splash-screen-1024x1024.png +0 -0
  31. package/{src/functions/create/templates → dist/commands/create/template}/ui/components/button/index.js +14 -6
  32. package/{src/functions/create/templates → dist/commands/create/template}/ui/layouts/app/index.js +2 -2
  33. package/dist/commands/create/template/ui/pages/error/index.js +50 -0
  34. package/dist/commands/create/template/ui/pages/index/index.js +121 -0
  35. package/dist/commands/help/definition.js +2 -0
  36. package/dist/commands/help/definition.js.map +7 -0
  37. package/dist/commands/help/index.js +20 -0
  38. package/dist/commands/help/index.js.map +7 -0
  39. package/dist/commands/index.js +2 -0
  40. package/dist/commands/index.js.map +7 -0
  41. package/dist/commands/logout/definition.js +2 -0
  42. package/dist/commands/logout/definition.js.map +7 -0
  43. package/dist/commands/logout/index.js +4 -0
  44. package/dist/commands/logout/index.js.map +7 -0
  45. package/dist/commands/push/cdn_mirrors.js +2 -0
  46. package/dist/commands/push/cdn_mirrors.js.map +7 -0
  47. package/dist/commands/push/check_if_settings_valid.js +2 -0
  48. package/dist/commands/push/check_if_settings_valid.js.map +7 -0
  49. package/dist/commands/push/create_version.js +2 -0
  50. package/dist/commands/push/create_version.js.map +7 -0
  51. package/dist/commands/push/definition.js +2 -0
  52. package/dist/commands/push/definition.js.map +7 -0
  53. package/dist/commands/push/get_app_domain.js +2 -0
  54. package/dist/commands/push/get_app_domain.js.map +7 -0
  55. package/dist/commands/push/get_deployment.js +2 -0
  56. package/dist/commands/push/get_deployment.js.map +7 -0
  57. package/dist/commands/push/get_provision_domain.js +2 -0
  58. package/dist/commands/push/get_provision_domain.js.map +7 -0
  59. package/dist/commands/push/get_session_token.js +2 -0
  60. package/dist/commands/push/get_session_token.js.map +7 -0
  61. package/dist/commands/push/get_settings_file.js +2 -0
  62. package/dist/commands/push/get_settings_file.js.map +7 -0
  63. package/dist/commands/push/handle_initial_deployment.js +2 -0
  64. package/dist/commands/push/handle_initial_deployment.js.map +7 -0
  65. package/dist/commands/push/handle_version_deployment.js +2 -0
  66. package/dist/commands/push/handle_version_deployment.js.map +7 -0
  67. package/dist/commands/push/index.js +9 -0
  68. package/dist/commands/push/index.js.map +7 -0
  69. package/dist/commands/push/prompts/confirm_deployment.js +18 -0
  70. package/dist/commands/push/prompts/confirm_deployment.js.map +7 -0
  71. package/dist/commands/push/prompts/session_token.js +6 -0
  72. package/dist/commands/push/prompts/session_token.js.map +7 -0
  73. package/dist/commands/push/upload_build_to_cdn.js +2 -0
  74. package/dist/commands/push/upload_build_to_cdn.js.map +7 -0
  75. package/dist/commands/push/validate_deployment.js +2 -0
  76. package/dist/commands/push/validate_deployment.js.map +7 -0
  77. package/dist/commands/push/validate_push_config.js +2 -0
  78. package/dist/commands/push/validate_push_config.js.map +7 -0
  79. package/dist/commands/push_v2/Dockerfile +47 -0
  80. package/dist/commands/push_v2/build_docker_image.js +2 -0
  81. package/dist/commands/push_v2/build_docker_image.js.map +7 -0
  82. package/dist/commands/push_v2/cdn_mirrors.js +2 -0
  83. package/dist/commands/push_v2/cdn_mirrors.js.map +7 -0
  84. package/dist/commands/push_v2/check_if_settings_valid.js +2 -0
  85. package/dist/commands/push_v2/check_if_settings_valid.js.map +7 -0
  86. package/dist/commands/push_v2/create_version.js +2 -0
  87. package/dist/commands/push_v2/create_version.js.map +7 -0
  88. package/dist/commands/push_v2/definition.js +2 -0
  89. package/dist/commands/push_v2/definition.js.map +7 -0
  90. package/dist/commands/push_v2/get_app_domain.js +2 -0
  91. package/dist/commands/push_v2/get_app_domain.js.map +7 -0
  92. package/dist/commands/push_v2/get_deployment.js +2 -0
  93. package/dist/commands/push_v2/get_deployment.js.map +7 -0
  94. package/dist/commands/push_v2/get_deployment_token.js +2 -0
  95. package/dist/commands/push_v2/get_deployment_token.js.map +7 -0
  96. package/dist/commands/push_v2/get_push_domain.js +2 -0
  97. package/dist/commands/push_v2/get_push_domain.js.map +7 -0
  98. package/dist/commands/push_v2/get_settings_file.js +2 -0
  99. package/dist/commands/push_v2/get_settings_file.js.map +7 -0
  100. package/dist/commands/push_v2/handle_initial_deployment.js +2 -0
  101. package/dist/commands/push_v2/handle_initial_deployment.js.map +7 -0
  102. package/dist/commands/push_v2/handle_version_deployment.js +2 -0
  103. package/dist/commands/push_v2/handle_version_deployment.js.map +7 -0
  104. package/dist/commands/push_v2/index.js +6 -0
  105. package/dist/commands/push_v2/index.js.map +7 -0
  106. package/dist/commands/push_v2/prompts/confirm_deployment.js +18 -0
  107. package/dist/commands/push_v2/prompts/confirm_deployment.js.map +7 -0
  108. package/dist/commands/push_v2/prompts/session_token.js +6 -0
  109. package/dist/commands/push_v2/prompts/session_token.js.map +7 -0
  110. package/dist/commands/push_v2/upload_build_to_push.js +2 -0
  111. package/dist/commands/push_v2/upload_build_to_push.js.map +7 -0
  112. package/dist/commands/push_v2/validate_deployment.js +2 -0
  113. package/dist/commands/push_v2/validate_deployment.js.map +7 -0
  114. package/dist/commands/push_v2/validate_push_config.js +2 -0
  115. package/dist/commands/push_v2/validate_push_config.js.map +7 -0
  116. package/dist/commands/start/definition.js +2 -0
  117. package/dist/commands/start/definition.js.map +7 -0
  118. package/dist/commands/start/index.js +2 -0
  119. package/dist/commands/start/index.js.map +7 -0
  120. package/dist/commands/test/definition.js +2 -0
  121. package/dist/commands/test/definition.js.map +7 -0
  122. package/dist/commands/test/index.js +2 -0
  123. package/dist/commands/test/index.js.map +7 -0
  124. package/dist/commands/update/definition.js +2 -0
  125. package/dist/commands/update/definition.js.map +7 -0
  126. package/dist/commands/update/index.js +2 -0
  127. package/dist/commands/update/index.js.map +7 -0
  128. package/dist/commands/use/definition.js +2 -0
  129. package/dist/commands/use/definition.js.map +7 -0
  130. package/dist/commands/use/index.js +2 -0
  131. package/dist/commands/use/index.js.map +7 -0
  132. package/dist/index.js +2 -7
  133. package/dist/index.js.map +7 -0
  134. package/dist/lib/build/browser_path_exclusions.js +2 -0
  135. package/dist/lib/build/browser_path_exclusions.js.map +7 -0
  136. package/dist/lib/build/browser_paths.js +2 -0
  137. package/dist/lib/build/browser_paths.js.map +7 -0
  138. package/dist/lib/build/build_files.js +4 -0
  139. package/dist/lib/build/build_files.js.map +7 -0
  140. package/dist/lib/build/copy_paths.js +2 -0
  141. package/dist/lib/build/copy_paths.js.map +7 -0
  142. package/dist/lib/build/get_code_frame.js +2 -0
  143. package/dist/lib/build/get_code_frame.js.map +7 -0
  144. package/dist/lib/build/get_file_operation.js +2 -0
  145. package/dist/lib/build/get_file_operation.js.map +7 -0
  146. package/dist/lib/build/get_files_to_build.js +2 -0
  147. package/dist/lib/build/get_files_to_build.js.map +7 -0
  148. package/dist/lib/build/get_path_platform.js +2 -0
  149. package/dist/lib/build/get_path_platform.js.map +7 -0
  150. package/dist/lib/build/get_platform_safe_path.js +2 -0
  151. package/dist/lib/build/get_platform_safe_path.js.map +7 -0
  152. package/dist/lib/build/get_tar_ignore_list.js +3 -0
  153. package/dist/lib/build/get_tar_ignore_list.js.map +7 -0
  154. package/dist/lib/build/index.js +4 -0
  155. package/dist/lib/build/index.js.map +7 -0
  156. package/dist/lib/build/master_ignore_list.js +2 -0
  157. package/dist/lib/build/master_ignore_list.js.map +7 -0
  158. package/dist/lib/build/minify_file.js +2 -0
  159. package/dist/lib/build/minify_file.js.map +7 -0
  160. package/dist/lib/build/node_paths.js +2 -0
  161. package/dist/lib/build/node_paths.js.map +7 -0
  162. package/dist/lib/build/on_warn.js +11 -0
  163. package/dist/lib/build/on_warn.js.map +7 -0
  164. package/dist/lib/build/plugins/bootstrap_component.js +34 -0
  165. package/dist/lib/build/plugins/bootstrap_component.js.map +7 -0
  166. package/dist/lib/build/plugins/generate_file_dependency_map.js +2 -0
  167. package/dist/lib/build/plugins/generate_file_dependency_map.js.map +7 -0
  168. package/dist/lib/build/plugins/index.js +2 -0
  169. package/dist/lib/build/plugins/index.js.map +7 -0
  170. package/dist/lib/build/plugins/set_component_id.js +3 -0
  171. package/dist/lib/build/plugins/set_component_id.js.map +7 -0
  172. package/dist/lib/build/plugins/update_file_map.js +2 -0
  173. package/dist/lib/build/plugins/update_file_map.js.map +7 -0
  174. package/dist/lib/build/plugins/warn_node_environment.js +4 -0
  175. package/dist/lib/build/plugins/warn_node_environment.js.map +7 -0
  176. package/dist/lib/cli_log.js +14 -0
  177. package/dist/lib/cli_log.js.map +7 -0
  178. package/dist/lib/color_log.js +2 -0
  179. package/dist/lib/color_log.js.map +7 -0
  180. package/dist/lib/command_exists.js +2 -0
  181. package/dist/lib/command_exists.js.map +7 -0
  182. package/dist/lib/constants.js +2 -4
  183. package/dist/lib/constants.js.map +7 -0
  184. package/dist/lib/debounce.js +2 -0
  185. package/dist/lib/debounce.js.map +7 -0
  186. package/dist/lib/decrypt_buffer.js +2 -0
  187. package/dist/lib/decrypt_buffer.js.map +7 -0
  188. package/dist/lib/development_server/ava_config.js +2 -0
  189. package/dist/lib/development_server/ava_config.js.map +7 -0
  190. package/dist/lib/development_server/check_if_port_occupied.js +2 -0
  191. package/dist/lib/development_server/check_if_port_occupied.js.map +7 -0
  192. package/dist/lib/development_server/cleanup.js +2 -0
  193. package/dist/lib/development_server/cleanup.js.map +7 -0
  194. package/dist/lib/development_server/databases/download_database_binary.js +2 -0
  195. package/dist/lib/development_server/databases/download_database_binary.js.map +7 -0
  196. package/dist/lib/development_server/databases/mongodb/available_query_parameters.js +2 -0
  197. package/dist/lib/development_server/databases/mongodb/available_query_parameters.js.map +7 -0
  198. package/dist/lib/development_server/databases/mongodb/build_connection_string.js +2 -0
  199. package/dist/lib/development_server/databases/mongodb/build_connection_string.js.map +7 -0
  200. package/dist/lib/development_server/databases/mongodb/build_query_parameters.js +2 -0
  201. package/dist/lib/development_server/databases/mongodb/build_query_parameters.js.map +7 -0
  202. package/dist/lib/development_server/databases/mongodb/check_connection.js +3 -0
  203. package/dist/lib/development_server/databases/mongodb/check_connection.js.map +7 -0
  204. package/dist/lib/development_server/databases/mongodb/connect.js +2 -0
  205. package/dist/lib/development_server/databases/mongodb/connect.js.map +7 -0
  206. package/dist/lib/development_server/databases/mongodb/index.js +2 -0
  207. package/dist/lib/development_server/databases/mongodb/index.js.map +7 -0
  208. package/dist/lib/development_server/databases/mongodb/installers/linux.js +2 -0
  209. package/dist/lib/development_server/databases/mongodb/installers/linux.js.map +7 -0
  210. package/dist/lib/development_server/databases/mongodb/installers/macos.js +2 -0
  211. package/dist/lib/development_server/databases/mongodb/installers/macos.js.map +7 -0
  212. package/dist/lib/development_server/databases/mongodb/installers/windows.js +2 -0
  213. package/dist/lib/development_server/databases/mongodb/installers/windows.js.map +7 -0
  214. package/dist/lib/development_server/databases/postgresql/check_connection.js +3 -0
  215. package/dist/lib/development_server/databases/postgresql/check_connection.js.map +7 -0
  216. package/dist/lib/development_server/databases/postgresql/connect.js +2 -0
  217. package/dist/lib/development_server/databases/postgresql/connect.js.map +7 -0
  218. package/dist/lib/development_server/databases/postgresql/index.js +3 -0
  219. package/dist/lib/development_server/databases/postgresql/index.js.map +7 -0
  220. package/dist/lib/development_server/databases/postgresql/installers/linux.js +2 -0
  221. package/dist/lib/development_server/databases/postgresql/installers/linux.js.map +7 -0
  222. package/dist/lib/development_server/databases/postgresql/installers/macos.js +2 -0
  223. package/dist/lib/development_server/databases/postgresql/installers/macos.js.map +7 -0
  224. package/dist/lib/development_server/databases/postgresql/installers/windows.js +2 -0
  225. package/dist/lib/development_server/databases/postgresql/installers/windows.js.map +7 -0
  226. package/dist/lib/development_server/databases/provider_map.js +2 -0
  227. package/dist/lib/development_server/databases/provider_map.js.map +7 -0
  228. package/dist/lib/development_server/get_database_process_ids.js +2 -0
  229. package/dist/lib/development_server/get_database_process_ids.js.map +7 -0
  230. package/dist/lib/development_server/get_translations.js +2 -0
  231. package/dist/lib/development_server/get_translations.js.map +7 -0
  232. package/dist/lib/development_server/hmr_server.js +2 -0
  233. package/dist/lib/development_server/hmr_server.js.map +7 -0
  234. package/dist/lib/development_server/index.js +11 -0
  235. package/dist/lib/development_server/index.js.map +7 -0
  236. package/dist/lib/development_server/kill_process_ids.js +2 -0
  237. package/dist/lib/development_server/kill_process_ids.js.map +7 -0
  238. package/dist/lib/development_server/run_tests.js +3 -0
  239. package/dist/lib/development_server/run_tests.js.map +7 -0
  240. package/dist/lib/development_server/start_app_server.js +2 -0
  241. package/dist/lib/development_server/start_app_server.js.map +7 -0
  242. package/dist/lib/development_server/start_databases.js +2 -0
  243. package/dist/lib/development_server/start_databases.js.map +7 -0
  244. package/dist/lib/development_server/start_hmr_server.js +2 -0
  245. package/dist/lib/development_server/start_hmr_server.js.map +7 -0
  246. package/dist/lib/development_server/watch_for_changes/browser_path_exclusions.js +2 -0
  247. package/dist/lib/development_server/watch_for_changes/browser_path_exclusions.js.map +7 -0
  248. package/dist/lib/development_server/watch_for_changes/browser_paths.js +2 -0
  249. package/dist/lib/development_server/watch_for_changes/browser_paths.js.map +7 -0
  250. package/dist/lib/development_server/watch_for_changes/get_after_run_tasks.js +2 -0
  251. package/dist/lib/development_server/watch_for_changes/get_after_run_tasks.js.map +7 -0
  252. package/dist/lib/development_server/watch_for_changes/get_file_codependencies.js +2 -0
  253. package/dist/lib/development_server/watch_for_changes/get_file_codependencies.js.map +7 -0
  254. package/dist/lib/development_server/watch_for_changes/get_platform_safe_path.js +2 -0
  255. package/dist/lib/development_server/watch_for_changes/get_platform_safe_path.js.map +7 -0
  256. package/dist/lib/development_server/watch_for_changes/index.js +2 -0
  257. package/dist/lib/development_server/watch_for_changes/index.js.map +7 -0
  258. package/dist/lib/development_server/watch_for_changes/node_paths.js +2 -0
  259. package/dist/lib/development_server/watch_for_changes/node_paths.js.map +7 -0
  260. package/dist/lib/development_server/watch_for_changes/read_file_dependency_map.js +2 -0
  261. package/dist/lib/development_server/watch_for_changes/read_file_dependency_map.js.map +7 -0
  262. package/dist/lib/development_server/watch_for_changes/watch_paths.js +2 -0
  263. package/dist/lib/development_server/watch_for_changes/watch_paths.js.map +7 -0
  264. package/dist/lib/dynamic_import.js +2 -0
  265. package/dist/lib/dynamic_import.js.map +7 -0
  266. package/dist/lib/encrypt_buffer.js +2 -0
  267. package/dist/lib/encrypt_buffer.js.map +7 -0
  268. package/dist/lib/generate_id.js +2 -0
  269. package/dist/lib/generate_id.js.map +7 -0
  270. package/dist/lib/get_files_in_path.js +2 -0
  271. package/dist/lib/get_files_in_path.js.map +7 -0
  272. package/dist/lib/get_platform_safe_path.js +2 -0
  273. package/dist/lib/get_platform_safe_path.js.map +7 -0
  274. package/dist/lib/get_process_id_from_port.js +3 -0
  275. package/dist/lib/get_process_id_from_port.js.map +7 -0
  276. package/dist/lib/is_valid_json_string.js +2 -0
  277. package/dist/lib/is_valid_json_string.js.map +7 -0
  278. package/dist/lib/kill_port_process.js +2 -0
  279. package/dist/lib/kill_port_process.js.map +7 -0
  280. package/dist/lib/kill_process_id.js +2 -0
  281. package/dist/lib/kill_process_id.js.map +7 -0
  282. package/dist/lib/load_settings.js +2 -0
  283. package/dist/lib/load_settings.js.map +7 -0
  284. package/dist/lib/loader.js +3 -82
  285. package/dist/lib/loader.js.map +7 -0
  286. package/dist/lib/log_bars.js +2 -0
  287. package/dist/lib/log_bars.js.map +7 -0
  288. package/dist/lib/node_path_polyfills.js +2 -0
  289. package/dist/lib/node_path_polyfills.js.map +7 -0
  290. package/dist/lib/parse_args.js +2 -0
  291. package/dist/lib/parse_args.js.map +7 -0
  292. package/dist/lib/parse_options.js +2 -0
  293. package/dist/lib/parse_options.js.map +7 -0
  294. package/dist/lib/path_exists.js +2 -0
  295. package/dist/lib/path_exists.js.map +7 -0
  296. package/dist/lib/rainbow_road.js +2 -0
  297. package/dist/lib/rainbow_road.js.map +7 -0
  298. package/dist/lib/replace_in_files.js +2 -0
  299. package/dist/lib/replace_in_files.js.map +7 -0
  300. package/dist/lib/required_files.js +2 -0
  301. package/dist/lib/required_files.js.map +7 -0
  302. package/dist/lib/serialize_query_parameters.js +2 -0
  303. package/dist/lib/serialize_query_parameters.js.map +7 -0
  304. package/dist/lib/types.js +2 -6
  305. package/dist/lib/types.js.map +7 -0
  306. package/dist/lib/unique_array.js +2 -0
  307. package/dist/lib/unique_array.js.map +7 -0
  308. package/increment_version.js +3 -0
  309. package/package.json +19 -38
  310. package/src/cli.js +69 -51
  311. package/src/commands/build/definition.js +58 -0
  312. package/src/commands/build/index.js +7 -0
  313. package/src/commands/create/build_package_json.js +20 -0
  314. package/src/commands/create/definition.js +35 -0
  315. package/src/commands/create/index.js +71 -0
  316. package/src/commands/create/template/api/index.js +6 -0
  317. package/src/commands/create/template/email/base.css +9 -0
  318. package/src/commands/create/template/email/base.html +10 -0
  319. package/src/commands/create/template/email/reset_password.js +20 -0
  320. package/src/commands/create/template/i18n/en-US.js +14 -0
  321. package/src/commands/create/template/index.client.js +1 -0
  322. package/src/commands/create/template/index.css +34 -0
  323. package/src/{functions/create/templates → commands/create/template}/index.html +2 -3
  324. package/src/{functions/create/templates → commands/create/template}/index.server.js +6 -6
  325. package/src/commands/create/template/public/apple-touch-icon-152x152.png +0 -0
  326. package/src/commands/create/template/public/favicon.ico +0 -0
  327. package/src/commands/create/template/public/joystick_logo.webp +0 -0
  328. package/src/{functions/create/templates → commands/create/template}/public/manifest.json +4 -4
  329. package/src/commands/create/template/public/splash-screen-1024x1024.png +0 -0
  330. package/{dist/functions/create/templates → src/commands/create/template}/ui/components/button/index.js +14 -6
  331. package/{dist/functions/create/templates → src/commands/create/template}/ui/layouts/app/index.js +2 -2
  332. package/src/commands/create/template/ui/pages/error/index.js +50 -0
  333. package/src/commands/create/template/ui/pages/index/index.js +121 -0
  334. package/src/commands/help/definition.js +12 -0
  335. package/src/commands/help/index.js +48 -0
  336. package/src/commands/index.js +25 -0
  337. package/src/commands/logout/definition.js +10 -0
  338. package/src/commands/logout/index.js +20 -0
  339. package/src/commands/push/cdn_mirrors.js +7 -0
  340. package/src/commands/push/check_if_settings_valid.js +10 -0
  341. package/src/commands/push/create_version.js +20 -0
  342. package/src/commands/push/definition.js +43 -0
  343. package/src/commands/push/get_app_domain.js +11 -0
  344. package/src/commands/push/get_deployment.js +19 -0
  345. package/src/commands/push/get_provision_domain.js +9 -0
  346. package/src/commands/push/get_session_token.js +31 -0
  347. package/src/commands/push/get_settings_file.js +47 -0
  348. package/src/commands/push/handle_initial_deployment.js +24 -0
  349. package/src/commands/push/handle_version_deployment.js +23 -0
  350. package/src/commands/push/index.js +190 -0
  351. package/src/commands/push/prompts/confirm_deployment.js +73 -0
  352. package/src/commands/push/prompts/session_token.js +11 -0
  353. package/src/commands/push/upload_build_to_cdn.js +59 -0
  354. package/src/commands/push/validate_deployment.js +19 -0
  355. package/src/commands/push/validate_push_config.js +18 -0
  356. package/src/commands/push_v2/Dockerfile +47 -0
  357. package/src/commands/push_v2/build_docker_image.js +78 -0
  358. package/src/commands/push_v2/cdn_mirrors.js +7 -0
  359. package/src/commands/push_v2/check_if_settings_valid.js +10 -0
  360. package/src/commands/push_v2/create_version.js +20 -0
  361. package/src/commands/push_v2/definition.js +58 -0
  362. package/src/commands/push_v2/get_app_domain.js +11 -0
  363. package/src/commands/push_v2/get_deployment.js +19 -0
  364. package/src/commands/push_v2/get_deployment_token.js +30 -0
  365. package/src/commands/push_v2/get_push_domain.js +8 -0
  366. package/src/commands/push_v2/get_settings_file.js +47 -0
  367. package/src/commands/push_v2/handle_initial_deployment.js +24 -0
  368. package/src/commands/push_v2/handle_version_deployment.js +23 -0
  369. package/src/commands/push_v2/index.js +90 -0
  370. package/src/commands/push_v2/prompts/confirm_deployment.js +73 -0
  371. package/src/commands/push_v2/prompts/session_token.js +11 -0
  372. package/src/commands/push_v2/upload_build_to_push.js +37 -0
  373. package/src/commands/push_v2/validate_deployment.js +19 -0
  374. package/src/commands/push_v2/validate_push_config.js +18 -0
  375. package/src/commands/start/definition.js +58 -0
  376. package/src/commands/start/index.js +11 -0
  377. package/src/commands/test/definition.js +28 -0
  378. package/src/commands/test/index.js +12 -0
  379. package/src/commands/update/definition.js +28 -0
  380. package/src/commands/update/index.js +29 -0
  381. package/src/commands/use/definition.js +19 -0
  382. package/src/commands/use/index.js +54 -0
  383. package/src/index.js +0 -0
  384. package/src/lib/build/browser_path_exclusions.js +8 -0
  385. package/src/lib/build/browser_paths.js +11 -0
  386. package/src/lib/build/build_files.js +167 -0
  387. package/src/{functions/start/filesToCopy.js → lib/build/copy_paths.js} +7 -5
  388. package/src/lib/build/get_code_frame.js +11 -0
  389. package/src/lib/build/get_file_operation.js +25 -0
  390. package/src/lib/build/get_files_to_build.js +41 -0
  391. package/src/lib/build/get_path_platform.js +32 -0
  392. package/src/lib/build/get_platform_safe_path.js +6 -0
  393. package/src/lib/build/get_tar_ignore_list.js +41 -0
  394. package/src/lib/build/index.js +137 -0
  395. package/src/lib/build/master_ignore_list.js +14 -0
  396. package/src/lib/build/minify_file.js +22 -0
  397. package/src/lib/build/node_paths.js +19 -0
  398. package/src/lib/build/on_warn.js +70 -0
  399. package/src/lib/build/plugins/bootstrap_component.js +191 -0
  400. package/src/lib/build/plugins/generate_file_dependency_map.js +20 -0
  401. package/src/lib/build/plugins/index.js +26 -0
  402. package/src/lib/build/plugins/set_component_id.js +89 -0
  403. package/src/lib/build/plugins/update_file_map.js +98 -0
  404. package/src/lib/build/plugins/warn_node_environment.js +20 -0
  405. package/src/lib/{CLILog.js → cli_log.js} +12 -8
  406. package/src/lib/color_log.js +7 -0
  407. package/src/lib/command_exists.js +16 -0
  408. package/src/lib/constants.js +11 -1
  409. package/src/lib/debounce.js +9 -0
  410. package/src/lib/decrypt_buffer.js +12 -0
  411. package/src/lib/development_server/ava_config.js +14 -0
  412. package/src/lib/development_server/check_if_port_occupied.js +31 -0
  413. package/src/lib/development_server/cleanup.js +15 -0
  414. package/src/lib/development_server/databases/download_database_binary.js +35 -0
  415. package/src/lib/{dev/databases/mongodb/availableQueryParameters.js → development_server/databases/mongodb/available_query_parameters.js} +3 -1
  416. package/src/lib/development_server/databases/mongodb/build_connection_string.js +36 -0
  417. package/src/lib/development_server/databases/mongodb/build_query_parameters.js +17 -0
  418. package/src/lib/development_server/databases/mongodb/check_connection.js +41 -0
  419. package/src/lib/development_server/databases/mongodb/connect.js +27 -0
  420. package/src/lib/development_server/databases/mongodb/index.js +102 -0
  421. package/src/lib/development_server/databases/mongodb/installers/linux.js +107 -0
  422. package/src/lib/development_server/databases/mongodb/installers/macos.js +109 -0
  423. package/src/lib/development_server/databases/mongodb/installers/windows.js +90 -0
  424. package/src/lib/development_server/databases/postgresql/check_connection.js +56 -0
  425. package/src/lib/development_server/databases/postgresql/connect.js +33 -0
  426. package/src/lib/development_server/databases/postgresql/index.js +157 -0
  427. package/src/lib/development_server/databases/postgresql/installers/linux.js +80 -0
  428. package/src/lib/development_server/databases/postgresql/installers/macos.js +91 -0
  429. package/src/lib/development_server/databases/postgresql/installers/windows.js +83 -0
  430. package/src/lib/development_server/databases/provider_map.js +15 -0
  431. package/src/lib/development_server/get_database_process_ids.js +28 -0
  432. package/src/lib/development_server/get_translations.js +85 -0
  433. package/src/lib/development_server/hmr_server.js +94 -0
  434. package/src/lib/development_server/index.js +436 -0
  435. package/src/lib/development_server/kill_process_ids.js +8 -0
  436. package/src/lib/development_server/run_tests.js +84 -0
  437. package/src/lib/development_server/start_app_server.js +55 -0
  438. package/src/lib/development_server/start_databases.js +108 -0
  439. package/src/lib/development_server/start_hmr_server.js +36 -0
  440. package/src/lib/development_server/watch_for_changes/browser_path_exclusions.js +8 -0
  441. package/src/lib/development_server/watch_for_changes/browser_paths.js +11 -0
  442. package/src/lib/development_server/watch_for_changes/get_after_run_tasks.js +36 -0
  443. package/src/lib/development_server/watch_for_changes/get_file_codependencies.js +53 -0
  444. package/src/lib/development_server/watch_for_changes/get_platform_safe_path.js +6 -0
  445. package/src/lib/development_server/watch_for_changes/index.js +222 -0
  446. package/src/lib/development_server/watch_for_changes/node_paths.js +17 -0
  447. package/src/lib/development_server/watch_for_changes/read_file_dependency_map.js +18 -0
  448. package/src/lib/development_server/watch_for_changes/watch_paths.js +22 -0
  449. package/src/lib/dynamic_import.js +6 -0
  450. package/src/lib/encrypt_buffer.js +10 -0
  451. package/src/lib/generate_id.js +15 -0
  452. package/src/lib/get_files_in_path.js +25 -0
  453. package/src/lib/get_platform_safe_path.js +8 -0
  454. package/src/lib/get_process_id_from_port.js +26 -0
  455. package/src/lib/is_valid_json_string.js +10 -0
  456. package/src/lib/kill_port_process.js +12 -0
  457. package/src/lib/kill_process_id.js +19 -0
  458. package/src/lib/load_settings.js +43 -0
  459. package/src/lib/loader.js +4 -77
  460. package/src/lib/log_bars.js +7 -0
  461. package/src/lib/node_path_polyfills.js +23 -0
  462. package/src/lib/parse_args.js +16 -0
  463. package/src/lib/parse_options.js +16 -0
  464. package/src/lib/path_exists.js +11 -0
  465. package/src/lib/{rainbowRoad.js → rainbow_road.js} +4 -2
  466. package/src/lib/replace_in_files.js +40 -0
  467. package/src/lib/{dev/requiredFiles.js → required_files.js} +3 -1
  468. package/src/lib/serialize_query_parameters.js +7 -0
  469. package/src/lib/types.js +59 -2
  470. package/src/lib/unique_array.js +24 -0
  471. package/HMRNOTES.txt +0 -23
  472. package/_package.json +0 -56
  473. package/canary.js +0 -12
  474. package/dist/functions/build/getTarIgnoreList.js +0 -25
  475. package/dist/functions/build/index.js +0 -54
  476. package/dist/functions/create/buildPackageJSON.js +0 -20
  477. package/dist/functions/create/index.js +0 -193
  478. package/dist/functions/create/templates/api/index.js +0 -4
  479. package/dist/functions/create/templates/i18n/en-US.js +0 -4
  480. package/dist/functions/create/templates/index.client.js +0 -7
  481. package/dist/functions/create/templates/index.css +0 -20
  482. package/dist/functions/create/templates/public/apple-touch-icon-152x152.png +0 -0
  483. package/dist/functions/create/templates/public/favicon.ico +0 -0
  484. package/dist/functions/create/templates/public/splash-screen-1024x1024.png +0 -0
  485. package/dist/functions/create/templates/ui/pages/error/index.js +0 -31
  486. package/dist/functions/create/templates/ui/pages/index/index.js +0 -94
  487. package/dist/functions/index.js +0 -269
  488. package/dist/functions/logout/index.js +0 -20
  489. package/dist/functions/push/checkIfProvisionAvailable.js +0 -19
  490. package/dist/functions/push/deploy/index.js +0 -173
  491. package/dist/functions/push/deploy/initial.js +0 -100
  492. package/dist/functions/push/deploy/version.js +0 -100
  493. package/dist/functions/push/domains.js +0 -23
  494. package/dist/functions/push/getAvailableCDN.js +0 -23
  495. package/dist/functions/push/getDeployment.js +0 -41
  496. package/dist/functions/push/getDeploymentSummary.js +0 -38
  497. package/dist/functions/push/getInstanceSizeRegions.js +0 -37
  498. package/dist/functions/push/getInstanceSizesForRegion.js +0 -34
  499. package/dist/functions/push/getProviderInstanceSizes.js +0 -34
  500. package/dist/functions/push/getProviderRegions.js +0 -36
  501. package/dist/functions/push/getProvidersWithConnectionStatus.js +0 -20
  502. package/dist/functions/push/getSessionToken.js +0 -23
  503. package/dist/functions/push/getUserFromSessionToken.js +0 -37
  504. package/dist/functions/push/index.js +0 -210
  505. package/dist/functions/push/loginToCheatCode.js +0 -33
  506. package/dist/functions/push/pingProvisionAPI.js +0 -31
  507. package/dist/functions/push/prompts.js +0 -332
  508. package/dist/functions/push/providerMap.js +0 -11
  509. package/dist/functions/push/providers.js +0 -9
  510. package/dist/functions/reset/index.js +0 -0
  511. package/dist/functions/reset/reset.js +0 -127
  512. package/dist/functions/start/bootstrapLayoutComponent.js +0 -54
  513. package/dist/functions/start/bootstrapPageComponent.js +0 -51
  514. package/dist/functions/start/buildFile.js +0 -85
  515. package/dist/functions/start/buildFiles.js +0 -76
  516. package/dist/functions/start/buildPlugins.js +0 -183
  517. package/dist/functions/start/checkIfPortAvailable.js +0 -18
  518. package/dist/functions/start/cleanup/index.js +0 -18
  519. package/dist/functions/start/databases/mongodb/availableQueryParameters.js +0 -42
  520. package/dist/functions/start/databases/mongodb/buildConnectionString.js +0 -22
  521. package/dist/functions/start/databases/mongodb/buildQueryParameters.js +0 -14
  522. package/dist/functions/start/databases/mongodb/checkConnection.js +0 -35
  523. package/dist/functions/start/databases/mongodb/connect.js +0 -25
  524. package/dist/functions/start/databases/mongodb/index.js +0 -93
  525. package/dist/functions/start/databases/postgresql/checkConnection.js +0 -41
  526. package/dist/functions/start/databases/postgresql/connect.js +0 -27
  527. package/dist/functions/start/databases/postgresql/index.js +0 -106
  528. package/dist/functions/start/databases/redis.js +0 -0
  529. package/dist/functions/start/databases/startProvider.js +0 -16
  530. package/dist/functions/start/fileDependencyMapper.js +0 -22
  531. package/dist/functions/start/filesToCopy.js +0 -18
  532. package/dist/functions/start/generateId.js +0 -74
  533. package/dist/functions/start/getCodependenciesForFile.js +0 -64
  534. package/dist/functions/start/getFilesToBuild.js +0 -39
  535. package/dist/functions/start/getProcessIdFromPort.js +0 -60
  536. package/dist/functions/start/hmrServer.js +0 -66
  537. package/dist/functions/start/index.js +0 -11
  538. package/dist/functions/start/isWindows.js +0 -5
  539. package/dist/functions/start/minifyFile.js +0 -12
  540. package/dist/functions/start/onWarn.js +0 -63
  541. package/dist/functions/start/readFileDependencyMap.js +0 -16
  542. package/dist/functions/start/removeDeletedDependenciesFromMap.js +0 -18
  543. package/dist/functions/start/setComponentId.js +0 -46
  544. package/dist/functions/start/updateFileMap.js +0 -67
  545. package/dist/functions/test/index.js +0 -12
  546. package/dist/functions/update/index.js +0 -21
  547. package/dist/functions/use/index.js +0 -61
  548. package/dist/lib/CLILog.js +0 -49
  549. package/dist/lib/build/browserPathExclusions.js +0 -8
  550. package/dist/lib/build/browserPaths.js +0 -11
  551. package/dist/lib/build/buildFile.js +0 -84
  552. package/dist/lib/build/buildFiles.js +0 -242
  553. package/dist/lib/build/buildPlugins.js +0 -186
  554. package/dist/lib/build/getCodeFrame.js +0 -9
  555. package/dist/lib/build/minifyFile.js +0 -12
  556. package/dist/lib/build/nodePathExclusions.js +0 -7
  557. package/dist/lib/build/nodePaths.js +0 -12
  558. package/dist/lib/build/onWarn.js +0 -63
  559. package/dist/lib/build/removeDeletedDependenciesFromMap.js +0 -18
  560. package/dist/lib/build/setComponentId.js +0 -46
  561. package/dist/lib/build/updateFileMap.js +0 -67
  562. package/dist/lib/buildResolvePlugin.js +0 -21
  563. package/dist/lib/checkIfValidJSON.js +0 -11
  564. package/dist/lib/colorLog.js +0 -7
  565. package/dist/lib/dev/cleanup.js +0 -18
  566. package/dist/lib/dev/databases/mongodb/availableQueryParameters.js +0 -42
  567. package/dist/lib/dev/databases/mongodb/buildConnectionString.js +0 -22
  568. package/dist/lib/dev/databases/mongodb/buildQueryParameters.js +0 -14
  569. package/dist/lib/dev/databases/mongodb/checkConnection.js +0 -38
  570. package/dist/lib/dev/databases/mongodb/connect.js +0 -25
  571. package/dist/lib/dev/databases/mongodb/index.js +0 -93
  572. package/dist/lib/dev/databases/postgresql/checkConnection.js +0 -41
  573. package/dist/lib/dev/databases/postgresql/connect.js +0 -27
  574. package/dist/lib/dev/databases/postgresql/index.js +0 -106
  575. package/dist/lib/dev/databases/providerMap.js +0 -15
  576. package/dist/lib/dev/getCodependenciesForFile.js +0 -64
  577. package/dist/lib/dev/getFilesToBuild.js +0 -38
  578. package/dist/lib/dev/hmrServer.js +0 -66
  579. package/dist/lib/dev/index.js +0 -561
  580. package/dist/lib/dev/isWindows.js +0 -5
  581. package/dist/lib/dev/loadSettings.js +0 -79
  582. package/dist/lib/dev/readFileDependencyMap.js +0 -16
  583. package/dist/lib/dev/requiredFiles.js +0 -18
  584. package/dist/lib/dev/runBuild.js +0 -30
  585. package/dist/lib/dev/runTests.js +0 -96
  586. package/dist/lib/dev/startDatabases.js +0 -109
  587. package/dist/lib/dev/startHMR.js +0 -55
  588. package/dist/lib/dev/tests.config.js +0 -6
  589. package/dist/lib/dev/updateFileMap.js +0 -67
  590. package/dist/lib/dev/validateProject.js +0 -0
  591. package/dist/lib/dev/watchlist.js +0 -15
  592. package/dist/lib/filesToCopy.js +0 -18
  593. package/dist/lib/generateId.js +0 -74
  594. package/dist/lib/getArgs.js +0 -14
  595. package/dist/lib/getOptions.js +0 -15
  596. package/dist/lib/getPlatformSafePath.js +0 -7
  597. package/dist/lib/getProcessIdFromPort.js +0 -60
  598. package/dist/lib/getProvider.js +0 -8
  599. package/dist/lib/help.js +0 -56
  600. package/dist/lib/isObject.js +0 -6
  601. package/dist/lib/isValidJSONString.js +0 -11
  602. package/dist/lib/isWindows.js +0 -5
  603. package/dist/lib/killProcesses.js +0 -0
  604. package/dist/lib/loadSettings.js +0 -33
  605. package/dist/lib/masterIgnoreList.js +0 -16
  606. package/dist/lib/nodeEnvironment.js +0 -9
  607. package/dist/lib/nodeEnvironments.js +0 -8
  608. package/dist/lib/parseCookiesFromLogin.js +0 -18
  609. package/dist/lib/rainbowRoad.js +0 -7
  610. package/dist/lib/readDirectorySync.js +0 -14
  611. package/dist/lib/regexes.js +0 -14
  612. package/dist/lib/replaceBackslashesWithForwardSlashes.js +0 -8
  613. package/dist/lib/replaceFileProtocol.js +0 -8
  614. package/dist/lib/serializeQueryParameters.js +0 -8
  615. package/dist/lib/settings.js +0 -4
  616. package/dist/lib/validateDatabasesFromSettings.js +0 -34
  617. package/dist/lib/wait.js +0 -8
  618. package/release.js +0 -40
  619. package/src/functions/build/getTarIgnoreList.js +0 -30
  620. package/src/functions/build/index.js +0 -63
  621. package/src/functions/create/buildPackageJSON.js +0 -18
  622. package/src/functions/create/index.js +0 -209
  623. package/src/functions/create/templates/api/index.js +0 -4
  624. package/src/functions/create/templates/i18n/en-US.js +0 -4
  625. package/src/functions/create/templates/index.client.js +0 -7
  626. package/src/functions/create/templates/index.css +0 -20
  627. package/src/functions/create/templates/public/apple-touch-icon-152x152.png +0 -0
  628. package/src/functions/create/templates/public/favicon.ico +0 -0
  629. package/src/functions/create/templates/public/splash-screen-1024x1024.png +0 -0
  630. package/src/functions/create/templates/ui/pages/error/index.js +0 -31
  631. package/src/functions/create/templates/ui/pages/index/index.js +0 -94
  632. package/src/functions/index.js +0 -269
  633. package/src/functions/logout/index.js +0 -20
  634. package/src/functions/push/checkIfProvisionAvailable.js +0 -20
  635. package/src/functions/push/deploy/index.js +0 -199
  636. package/src/functions/push/deploy/initial.js +0 -108
  637. package/src/functions/push/deploy/version.js +0 -108
  638. package/src/functions/push/domains.js +0 -23
  639. package/src/functions/push/getAvailableCDN.js +0 -27
  640. package/src/functions/push/getDeployment.js +0 -43
  641. package/src/functions/push/getDeploymentSummary.js +0 -39
  642. package/src/functions/push/getInstanceSizeRegions.js +0 -40
  643. package/src/functions/push/getInstanceSizesForRegion.js +0 -35
  644. package/src/functions/push/getProviderInstanceSizes.js +0 -35
  645. package/src/functions/push/getProviderRegions.js +0 -39
  646. package/src/functions/push/getProvidersWithConnectionStatus.js +0 -25
  647. package/src/functions/push/getSessionToken.js +0 -26
  648. package/src/functions/push/getUserFromSessionToken.js +0 -39
  649. package/src/functions/push/index.js +0 -245
  650. package/src/functions/push/loginToCheatCode.js +0 -34
  651. package/src/functions/push/pingProvisionAPI.js +0 -33
  652. package/src/functions/push/prompts.js +0 -276
  653. package/src/functions/push/providerMap.js +0 -8
  654. package/src/functions/push/providers.js +0 -6
  655. package/src/functions/reset/index.js +0 -0
  656. package/src/functions/reset/reset.js +0 -163
  657. package/src/functions/start/bootstrapLayoutComponent.js +0 -57
  658. package/src/functions/start/bootstrapPageComponent.js +0 -54
  659. package/src/functions/start/buildFile.js +0 -97
  660. package/src/functions/start/buildFiles.js +0 -101
  661. package/src/functions/start/buildPlugins.js +0 -215
  662. package/src/functions/start/checkIfPortAvailable.js +0 -21
  663. package/src/functions/start/cleanup/index.js +0 -23
  664. package/src/functions/start/databases/mongodb/availableQueryParameters.js +0 -39
  665. package/src/functions/start/databases/mongodb/buildConnectionString.js +0 -28
  666. package/src/functions/start/databases/mongodb/buildQueryParameters.js +0 -15
  667. package/src/functions/start/databases/mongodb/checkConnection.js +0 -36
  668. package/src/functions/start/databases/mongodb/connect.js +0 -25
  669. package/src/functions/start/databases/mongodb/index.js +0 -108
  670. package/src/functions/start/databases/postgresql/checkConnection.js +0 -43
  671. package/src/functions/start/databases/postgresql/connect.js +0 -27
  672. package/src/functions/start/databases/postgresql/index.js +0 -127
  673. package/src/functions/start/databases/redis.js +0 -0
  674. package/src/functions/start/databases/startProvider.js +0 -15
  675. package/src/functions/start/fileDependencyMapper.js +0 -24
  676. package/src/functions/start/generateId.js +0 -73
  677. package/src/functions/start/getCodependenciesForFile.js +0 -84
  678. package/src/functions/start/getFilesToBuild.js +0 -49
  679. package/src/functions/start/getProcessIdFromPort.js +0 -92
  680. package/src/functions/start/hmrServer.js +0 -78
  681. package/src/functions/start/index.js +0 -9
  682. package/src/functions/start/isWindows.js +0 -3
  683. package/src/functions/start/minifyFile.js +0 -10
  684. package/src/functions/start/onWarn.js +0 -68
  685. package/src/functions/start/readFileDependencyMap.js +0 -19
  686. package/src/functions/start/removeDeletedDependenciesFromMap.js +0 -19
  687. package/src/functions/start/setComponentId.js +0 -58
  688. package/src/functions/start/updateFileMap.js +0 -100
  689. package/src/functions/test/index.js +0 -10
  690. package/src/functions/update/index.js +0 -20
  691. package/src/functions/use/index.js +0 -62
  692. package/src/lib/build/browserPathExclusions.js +0 -6
  693. package/src/lib/build/browserPaths.js +0 -9
  694. package/src/lib/build/buildFile.js +0 -91
  695. package/src/lib/build/buildFiles.js +0 -274
  696. package/src/lib/build/buildPlugins.js +0 -222
  697. package/src/lib/build/getCodeFrame.js +0 -7
  698. package/src/lib/build/minifyFile.js +0 -10
  699. package/src/lib/build/nodePathExclusions.js +0 -5
  700. package/src/lib/build/nodePaths.js +0 -10
  701. package/src/lib/build/onWarn.js +0 -68
  702. package/src/lib/build/removeDeletedDependenciesFromMap.js +0 -19
  703. package/src/lib/build/setComponentId.js +0 -58
  704. package/src/lib/build/updateFileMap.js +0 -100
  705. package/src/lib/buildResolvePlugin.js +0 -32
  706. package/src/lib/checkIfValidJSON.js +0 -8
  707. package/src/lib/colorLog.js +0 -5
  708. package/src/lib/dev/cleanup.js +0 -26
  709. package/src/lib/dev/databases/mongodb/buildConnectionString.js +0 -28
  710. package/src/lib/dev/databases/mongodb/buildQueryParameters.js +0 -15
  711. package/src/lib/dev/databases/mongodb/checkConnection.js +0 -40
  712. package/src/lib/dev/databases/mongodb/connect.js +0 -25
  713. package/src/lib/dev/databases/mongodb/index.js +0 -108
  714. package/src/lib/dev/databases/postgresql/checkConnection.js +0 -43
  715. package/src/lib/dev/databases/postgresql/connect.js +0 -27
  716. package/src/lib/dev/databases/postgresql/index.js +0 -127
  717. package/src/lib/dev/databases/providerMap.js +0 -13
  718. package/src/lib/dev/getCodependenciesForFile.js +0 -84
  719. package/src/lib/dev/getFilesToBuild.js +0 -47
  720. package/src/lib/dev/hmrServer.js +0 -78
  721. package/src/lib/dev/index.js +0 -686
  722. package/src/lib/dev/isWindows.js +0 -3
  723. package/src/lib/dev/loadSettings.js +0 -90
  724. package/src/lib/dev/readFileDependencyMap.js +0 -19
  725. package/src/lib/dev/runBuild.js +0 -33
  726. package/src/lib/dev/runTests.js +0 -122
  727. package/src/lib/dev/startApp.js +0 -81
  728. package/src/lib/dev/startDatabases.js +0 -131
  729. package/src/lib/dev/startHMR.js +0 -62
  730. package/src/lib/dev/tests.config.js +0 -3
  731. package/src/lib/dev/updateFileMap.js +0 -100
  732. package/src/lib/dev/validateProject.js +0 -0
  733. package/src/lib/dev/watchlist.js +0 -13
  734. package/src/lib/filesToCopy.js +0 -15
  735. package/src/lib/generateId.js +0 -73
  736. package/src/lib/getArgs.js +0 -14
  737. package/src/lib/getOptions.js +0 -12
  738. package/src/lib/getProcessIdFromPort.js +0 -92
  739. package/src/lib/getProvider.js +0 -5
  740. package/src/lib/help.js +0 -56
  741. package/src/lib/isObject.js +0 -3
  742. package/src/lib/isValidJSONString.js +0 -8
  743. package/src/lib/killProcesses.js +0 -5
  744. package/src/lib/loadSettings.js +0 -40
  745. package/src/lib/masterIgnoreList.js +0 -13
  746. package/src/lib/nodeEnvironment.js +0 -6
  747. package/src/lib/nodeEnvironments.js +0 -8
  748. package/src/lib/parseCookiesFromLogin.js +0 -21
  749. package/src/lib/readDirectorySync.js +0 -13
  750. package/src/lib/regexes.js +0 -7
  751. package/src/lib/replaceBackslashesWithForwardSlashes.js +0 -8
  752. package/src/lib/replaceFileProtocol.js +0 -8
  753. package/src/lib/serializeQueryParameters.js +0 -5
  754. package/src/lib/settings.js +0 -1
  755. package/src/lib/validateDatabasesFromSettings.js +0 -37
  756. package/src/lib/wait.js +0 -5
  757. package/storage/.verdaccio-db.json +0 -1
  758. /package/{src/lib → .build}/getPlatformSafePath.js +0 -0
  759. /package/{src/lib → .build}/isWindows.js +0 -0
  760. /package/dist/{functions/create/templates → commands/create/template}/public/service-worker.js +0 -0
  761. /package/dist/{functions/create/templates → commands/create/template}/settings.development.json +0 -0
  762. /package/src/{functions/create/templates → commands/create/template}/public/service-worker.js +0 -0
  763. /package/src/{functions/create/templates → commands/create/template}/settings.development.json +0 -0
@@ -0,0 +1,109 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import os from 'os';
4
+ import { promisify } from 'util';
5
+ import { pipeline } from 'stream';
6
+ import { execFile } from 'child_process';
7
+
8
+ const streamPipeline = promisify(pipeline);
9
+ const execFileAsync = promisify(execFile);
10
+
11
+ const download_mongodb_macos = async (version_path = null) => {
12
+ const base_directory = path.join(os.homedir(), '.joystick', 'databases', 'mongodb');
13
+ const bin_directory = path.join(base_directory, 'bin');
14
+ const bin_bin_directory = path.join(bin_directory, 'bin');
15
+
16
+ if (await check_if_file_exists(base_directory)) {
17
+ return;
18
+ }
19
+
20
+ await create_directories(base_directory, bin_directory, bin_bin_directory);
21
+
22
+ const cpu_info = await get_cpu_info();
23
+ const is_arm = cpu_info.includes('ARM');
24
+
25
+ const mongodb_url = is_arm
26
+ ? 'https://fastdl.mongodb.org/osx/mongodb-macos-arm64-7.0.2.tgz'
27
+ : 'https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-7.0.2.tgz';
28
+
29
+ const mongosh_url = is_arm
30
+ ? 'https://downloads.mongodb.com/compass/mongosh-2.2.12-darwin-arm64.zip'
31
+ : 'https://downloads.mongodb.com/compass/mongosh-2.2.12-darwin-x64.zip';
32
+
33
+ const mongodb_file_name = path.basename(new URL(mongodb_url).pathname);
34
+ const mongodb_file_path = path.join(base_directory, mongodb_file_name);
35
+
36
+ const mongosh_file_name = path.basename(new URL(mongosh_url).pathname);
37
+ const mongosh_file_path = path.join(base_directory, mongosh_file_name);
38
+
39
+ process.loader.print('MongoDB not found. Downloading... (this may take a few minutes)');
40
+ await download_file(mongodb_url, mongodb_file_path);
41
+ await download_file(mongosh_url, mongosh_file_path);
42
+
43
+ process.loader.print('Installing MongoDB...');
44
+
45
+ // Extract MongoDB
46
+ await execFileAsync('tar', ['-xzf', mongodb_file_path, '-C', bin_directory, '--strip-components=1']);
47
+
48
+ // Extract mongosh
49
+ const mongosh_temp_directory = path.join(base_directory, 'mongosh_temp');
50
+ await fs.promises.mkdir(mongosh_temp_directory, { recursive: true });
51
+ await execFileAsync('unzip', ['-q', mongosh_file_path, '-d', mongosh_temp_directory]);
52
+
53
+ // Find and copy mongosh executable
54
+ const mongosh_contents = await fs.promises.readdir(mongosh_temp_directory);
55
+ const mongosh_dir = mongosh_contents.find(item => item.startsWith('mongosh-'));
56
+ if (!mongosh_dir) {
57
+ throw new Error('Could not find mongosh directory in extracted contents');
58
+ }
59
+
60
+ const mongosh_bin_path = path.join(mongosh_temp_directory, mongosh_dir, 'bin', 'mongosh');
61
+ const final_mongosh_path = path.join(bin_bin_directory, 'mongosh');
62
+ await fs.promises.copyFile(mongosh_bin_path, final_mongosh_path);
63
+
64
+ // Clean up
65
+ await fs.promises.unlink(mongodb_file_path);
66
+ await fs.promises.unlink(mongosh_file_path);
67
+ await fs.promises.rm(mongosh_temp_directory, { recursive: true, force: true });
68
+
69
+ await make_file_executable(bin_directory);
70
+ await make_file_executable(bin_bin_directory);
71
+ process.loader.print('MongoDB installed!');
72
+ };
73
+
74
+ const download_file = async (url, file_path) => {
75
+ const response = await fetch(url);
76
+ if (!response.ok) {
77
+ throw new Error(`Failed to download: ${response.statusText}`);
78
+ }
79
+ await streamPipeline(response.body, fs.createWriteStream(file_path));
80
+ };
81
+
82
+ const check_if_file_exists = async (file_path) => {
83
+ try {
84
+ await fs.promises.access(file_path);
85
+ return true;
86
+ } catch {
87
+ return false;
88
+ }
89
+ };
90
+
91
+ const get_cpu_info = async () => {
92
+ const { stdout } = await execFileAsync('sysctl', ['-n', 'machdep.cpu.brand_string']);
93
+ return stdout.trim();
94
+ };
95
+
96
+ const create_directories = async (base_directory, bin_directory, bin_bin_directory) => {
97
+ await fs.promises.mkdir(base_directory, { recursive: true });
98
+ await fs.promises.mkdir(bin_directory, { recursive: true });
99
+ await fs.promises.mkdir(bin_bin_directory, { recursive: true });
100
+ };
101
+
102
+ const make_file_executable = async (directory) => {
103
+ const files = await fs.promises.readdir(directory);
104
+ for (const file of files) {
105
+ await fs.promises.chmod(path.join(directory, file), '755');
106
+ }
107
+ };
108
+
109
+ export default download_mongodb_macos;
@@ -0,0 +1,90 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import os from 'os';
4
+ import { promisify } from 'util';
5
+ import { pipeline } from 'stream';
6
+ import { execFile } from 'child_process';
7
+
8
+ const stream_pipeline = promisify(pipeline);
9
+ const exec_file_async = promisify(execFile);
10
+
11
+ const download_mongodb_windows = async () => {
12
+ const base_directory = path.join(os.homedir(), '.joystick', 'databases', 'mongodb');
13
+ const bin_directory = path.join(base_directory, 'bin');
14
+
15
+ if (await check_if_file_exists(base_directory)) {
16
+ return;
17
+ }
18
+
19
+ await create_directories(base_directory, bin_directory);
20
+
21
+ const download_url = 'https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-7.0.2.zip';
22
+ const file_name = path.basename(new URL(download_url).pathname);
23
+ const file_path = path.join(base_directory, file_name);
24
+
25
+ if (await check_if_file_exists(file_path)) {
26
+ return;
27
+ }
28
+
29
+ process.loader.print('MongoDB not found. Downloading... (this may take a few minutes)');
30
+ await download_file(download_url, file_path);
31
+ process.loader.print('Installing MongoDB...');
32
+
33
+ const temp_directory = path.join(base_directory, 'temp');
34
+ await exec_file_async('powershell', ['Expand-Archive', '-Path', file_path, '-DestinationPath', temp_directory]);
35
+ const extracted_folder = (await fs.promises.readdir(temp_directory))[0];
36
+ const extracted_path = path.join(temp_directory, extracted_folder);
37
+
38
+ // Remove existing bin directory if it exists
39
+ if (await check_if_file_exists(bin_directory)) {
40
+ await fs.promises.rm(bin_directory, { recursive: true, force: true });
41
+ }
42
+
43
+ // Copy the entire contents of the extracted folder to the bin directory
44
+ await fs.promises.cp(extracted_path, bin_directory, { recursive: true });
45
+
46
+ // Download and install mongosh
47
+ const mongosh_url = 'https://downloads.mongodb.com/compass/mongosh-2.2.12-win32-x64.zip';
48
+ const mongosh_file_path = path.join(base_directory, 'mongosh.zip');
49
+ await download_file(mongosh_url, mongosh_file_path);
50
+
51
+ const mongosh_temp_directory = path.join(base_directory, 'mongosh_temp');
52
+ await exec_file_async('powershell', ['Expand-Archive', '-Path', mongosh_file_path, '-DestinationPath', mongosh_temp_directory]);
53
+
54
+ const mongosh_extracted_folder = (await fs.promises.readdir(mongosh_temp_directory))[0];
55
+ const mongosh_bin_path = path.join(mongosh_temp_directory, mongosh_extracted_folder, 'bin', 'mongosh.exe');
56
+
57
+ await fs.promises.copyFile(mongosh_bin_path, path.join(bin_directory, 'bin', 'mongosh.exe'));
58
+
59
+ // Clean up temporary files
60
+ await fs.promises.unlink(file_path);
61
+ await fs.promises.unlink(mongosh_file_path);
62
+ await fs.promises.rm(temp_directory, { recursive: true, force: true });
63
+ await fs.promises.rm(mongosh_temp_directory, { recursive: true, force: true });
64
+
65
+ process.loader.print('MongoDB installed!');
66
+ };
67
+
68
+ const download_file = async (url, file_path) => {
69
+ const response = await fetch(url);
70
+ if (!response.ok) {
71
+ throw new Error(`Failed to download: ${response.statusText}`);
72
+ }
73
+ await stream_pipeline(response.body, fs.createWriteStream(file_path));
74
+ };
75
+
76
+ const check_if_file_exists = async (file_path) => {
77
+ try {
78
+ await fs.promises.access(file_path);
79
+ return true;
80
+ } catch {
81
+ return false;
82
+ }
83
+ };
84
+
85
+ const create_directories = async (base_directory, bin_directory) => {
86
+ await fs.promises.mkdir(base_directory, { recursive: true });
87
+ await fs.promises.mkdir(bin_directory, { recursive: true });
88
+ };
89
+
90
+ export default download_mongodb_windows;
@@ -0,0 +1,56 @@
1
+ import fs from 'fs';
2
+ import postgresql from "pg";
3
+ import color_log from "../../../color_log.js";
4
+
5
+ const { Client } = postgresql;
6
+ const { readFile } = fs.promises;
7
+
8
+ const test_query = (client = {}) => {
9
+ return new Promise((resolve, reject) => {
10
+ client.query('SELECT NOW()', (error) => {
11
+ if (error) {
12
+ reject();
13
+ } else {
14
+ resolve();
15
+ }
16
+
17
+ client.end();
18
+ });
19
+ });
20
+ };
21
+
22
+ const check_connection = async (connection = {}, options = {}) => {
23
+ try {
24
+ const host = connection?.hosts && connection?.hosts[0];
25
+ const connection_config = {
26
+ user: connection?.username,
27
+ host: host?.hostname,
28
+ database: connection?.database,
29
+ password: connection?.password,
30
+ port: host?.port,
31
+ };
32
+
33
+ if (options?.ssl?.ca) {
34
+ connection_config.ssl = {
35
+ ca: await readFile(options?.ssl?.ca)
36
+ };
37
+ }
38
+
39
+ const client = new Client(connection_config);
40
+
41
+ client.connect();
42
+ await test_query(client);
43
+
44
+ return true;
45
+ } catch (exception) {
46
+ console.warn(exception);
47
+ color_log(
48
+ `\n✖ Failed to connect to PostgreSQL. Please double-check connection settings and try again.`,
49
+ 'yellow'
50
+ );
51
+
52
+ process.exit(1);
53
+ }
54
+ };
55
+
56
+ export default check_connection;
@@ -0,0 +1,33 @@
1
+ import os from 'os';
2
+ import check_connection from "./check_connection.js";
3
+ import postgresql from "./index.js";
4
+
5
+ const connect = async (settings = {}, port = 2610) => {
6
+ try {
7
+ const has_connection = settings.connection && Object.keys(settings.connection).length > 0;
8
+
9
+ if (has_connection) {
10
+ await check_connection(settings.connection, settings.options);
11
+ }
12
+
13
+ return {
14
+ pid: !has_connection ? await postgresql(port) : null,
15
+ connection: has_connection ? settings.connection : {
16
+ hosts: [
17
+ {
18
+ hostname: "127.0.0.1",
19
+ port,
20
+ },
21
+ ],
22
+ database: "app",
23
+ // NOTE: PostgreSQL creates a default superuser based on the OS username.
24
+ username: (os.userInfo() || {}).username || "",
25
+ password: "",
26
+ },
27
+ };
28
+ } catch (exception) {
29
+ console.warn(exception);
30
+ }
31
+ };
32
+
33
+ export default connect;
@@ -0,0 +1,157 @@
1
+ import child_process from "child_process";
2
+ import fs from "fs";
3
+ import util from "util";
4
+ import os from "os";
5
+ import get_platform_safe_path from "../../../get_platform_safe_path.js";
6
+ import get_process_id_from_port from "../../../get_process_id_from_port.js";
7
+ import path_exists from "../../../path_exists.js";
8
+
9
+ const exec = util.promisify(child_process.exec);
10
+ const { rename } = fs.promises;
11
+
12
+ const setup_data_directory = async (postgresql_port = 2610) => {
13
+ const legacy_data_directory_exists = await path_exists(".joystick/data/postgresql");
14
+ let data_directory_exists = await path_exists(`.joystick/data/postgresql_${postgresql_port}`);
15
+
16
+ if (legacy_data_directory_exists && !data_directory_exists) {
17
+ await rename ('.joystick/data/postgresql', `.joystick/data/postgresql_${postgresql_port}`);
18
+ data_directory_exists = true;
19
+ }
20
+
21
+ return data_directory_exists;
22
+ };
23
+
24
+ const get_createdb_command = () => {
25
+ if (process.platform === 'win32') {
26
+ return 'createdb.exe';
27
+ }
28
+
29
+ return 'createdb';
30
+ };
31
+
32
+ const get_postgres_command = () => {
33
+ if (process.platform === 'win32') {
34
+ return 'postgres.exe';
35
+ }
36
+
37
+ return 'postgres';
38
+ };
39
+
40
+ const get_initdb_command = () => {
41
+ if (process.platform === 'win32') {
42
+ return 'initdb.exe';
43
+ }
44
+
45
+ return 'initdb';
46
+ };
47
+
48
+ const get_pg_ctl_command = () => {
49
+ if (process.platform === 'win32') {
50
+ return 'pgctl.exe';
51
+ }
52
+
53
+ return 'pgctl';
54
+ };
55
+
56
+ const start_postgresql = async (port = 2610) => {
57
+ try {
58
+ const postgresql_port = port;
59
+ const joystick_postgresql_bin_path = `${os.homedir()}/.joystick/databases/postgresql/bin/bin`;
60
+
61
+ const joystick_pg_ctl_command = get_pg_ctl_command();
62
+ const joystick_initdb_command = get_initdb_command();
63
+ const joystick_postgres_command = get_postgres_command();
64
+ const joystick_createdb_command = get_createdb_command();
65
+
66
+ const joystick_pg_ctl_path = `${joystick_postgresql_bin_path}/${joystick_pg_ctl_command}`;
67
+ const joystick_initdb_path = `${joystick_postgresql_bin_path}/${joystick_initdb_command}`;
68
+ const joystick_postgres_path = `${joystick_postgresql_bin_path}/${joystick_postgres_command}`;
69
+ const joystick_createdb_path = `${joystick_postgresql_bin_path}/${joystick_createdb_command}`;
70
+
71
+ const data_directory_exists = await setup_data_directory(port);
72
+
73
+ if (!data_directory_exists) {
74
+ if (process.platform === 'linux') {
75
+ await exec(`sudo -u postgres ./initdb -D ${process.cwd()}/.joystick/data/postgresql_${port} --no-locale`, {
76
+ cwd: joystick_postgresql_bin_path
77
+ });
78
+
79
+ // NOTE: For Linux, we need to set granular permissions on the data directory path
80
+ // to avoid access denied errors from the OS.
81
+ await exec(`sudo chmod 755 /root`);
82
+ await exec(`sudo chmod 755 /root/${process.project_folder}`);
83
+ await exec(`sudo chmod 755 /root/${process.project_folder}/.joystick`);
84
+ await exec(`sudo chmod 700 /root/${process.project_folder}/.joystick/data/postgresql_${postgresql_port}`);
85
+ await exec(`sudo chown -R postgres:postgres /root/${process.project_folder}/.joystick/data/postgresql_${postgresql_port}`);
86
+ } else {
87
+ await exec(`${joystick_initdb_path} -D .joystick/data/postgresql_${port} --no-locale`);
88
+ }
89
+ }
90
+
91
+ const existing_process_id = parseInt(await get_process_id_from_port(postgresql_port), 10);
92
+
93
+ if (existing_process_id) {
94
+ if (process.platform === 'linux') {
95
+ await exec(`${joystick_pg_ctl_path} kill KILL ${existing_process_id}`);
96
+ } else {
97
+ await exec(`${joystick_pg_ctl_path} kill KILL ${existing_process_id}`);
98
+ }
99
+ }
100
+
101
+ const database_process = process.platform === 'linux' ? child_process.spawn(
102
+ 'sudo',
103
+ [
104
+ '-u',
105
+ 'postgres',
106
+ './postgres',
107
+ `-p ${postgresql_port}`,
108
+ '-D',
109
+ get_platform_safe_path(`${process.cwd()}/.joystick/data/postgresql_${port}`),
110
+ '-c log_destination=stderr -c logging_collector=off -c log_min_messages=WARNING',
111
+ ],
112
+ { cwd: joystick_postgresql_bin_path, shell: '/bin/bash' }
113
+ ) : child_process.spawn(
114
+ joystick_postgres_path,
115
+ [
116
+ `-p ${postgresql_port}`,
117
+ '-D',
118
+ get_platform_safe_path(`.joystick/data/postgresql_${port}`),
119
+ ],
120
+ );
121
+
122
+ return new Promise((resolve) => {
123
+ database_process.stderr.on('data', async (data) => {
124
+ const stderr = data?.toString();
125
+
126
+ if (stderr.includes('database system is ready to accept connections')) {
127
+ const process_id = (await get_process_id_from_port(postgresql_port))?.replace('\n', '');
128
+ const createdb_command = process.platform === 'linux'
129
+ ? `sudo -u postgres ${joystick_createdb_path} -h 127.0.0.1 -p ${postgresql_port} app`
130
+ : `${joystick_createdb_path} -h 127.0.0.1 -p ${postgresql_port} app`;
131
+
132
+ exec(createdb_command).then(() => {
133
+ resolve(parseInt(process_id, 10));
134
+ }).catch(({ stderr: error }) => {
135
+ if (error && error.includes('database "app" already exists')) {
136
+ resolve(parseInt(process_id, 10));
137
+ } else {
138
+ console.log(error);
139
+ }
140
+ });
141
+ }
142
+ });
143
+
144
+ database_process.stdout.on('data', async (data) => {
145
+ // NOTE: PostgreSQL (16) appears to route all output to stderr(?!). Have this for posterity
146
+ // sake and to avoid trapping useful information.
147
+ const stdout = data?.toString();
148
+ console.log(stdout);
149
+ });
150
+ });
151
+ } catch (exception) {
152
+ console.warn(exception);
153
+ process.exit(1);
154
+ }
155
+ };
156
+
157
+ export default start_postgresql;
@@ -0,0 +1,80 @@
1
+ import { promisify } from 'util';
2
+ import { execFile, exec } from 'child_process';
3
+ import fs from 'fs';
4
+ import os from 'os';
5
+ import path from 'path';
6
+
7
+ const exec_file_async = promisify(execFile);
8
+ const exec_async = promisify(exec);
9
+ const mkdir_async = promisify(fs.mkdir);
10
+ const symlink_async = promisify(fs.symlink);
11
+ const access_async = promisify(fs.access);
12
+ const writeFile_async = promisify(fs.writeFile);
13
+
14
+ const download_postgresql_linux = async () => {
15
+ try {
16
+ const postgresql_version = '16';
17
+ const system_bin_path = `/usr/lib/postgresql/${postgresql_version}/bin`;
18
+ const joystick_bin_path = path.join(os.homedir(), '.joystick', 'databases', 'postgresql', 'bin');
19
+ const symlink_path = path.join(joystick_bin_path, 'bin');
20
+ const postgres_executable = path.join(symlink_path, 'postgres');
21
+
22
+ // Check if PostgreSQL is already installed in the desired location
23
+ try {
24
+ await access_async(postgres_executable, fs.constants.X_OK);
25
+ return;
26
+ } catch (error) {
27
+ // PostgreSQL is not installed or not in the desired location, proceed with installation
28
+ }
29
+
30
+ process.loader.print('PostgreSQL not found. Installing... (this may take a few minutes)');
31
+
32
+ // Ensure wget is installed
33
+ await exec_file_async('sudo', ['apt-get', 'install', '-y', 'wget']);
34
+
35
+ // Add PostgreSQL 16 repository
36
+ await exec_file_async('sudo', ['sh', '-c', 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list']);
37
+
38
+ // Download the PostgreSQL public key
39
+ const { stdout: keyContent } = await exec_async('wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc');
40
+
41
+ // Save the key to a temporary file
42
+ const tempKeyPath = '/tmp/postgresql-ACCC4CF8.asc';
43
+ await writeFile_async(tempKeyPath, keyContent);
44
+
45
+ // Add the key
46
+ await exec_file_async('sudo', ['apt-key', 'add', tempKeyPath]);
47
+
48
+ // Remove the temporary key file
49
+ await exec_file_async('rm', [tempKeyPath]);
50
+
51
+ // Update package list and install PostgreSQL 16
52
+ await exec_file_async('sudo', ['apt-get', 'update']);
53
+ await exec_file_async('sudo', ['apt-get', 'install', '-y', `postgresql-${postgresql_version}`, `postgresql-client-${postgresql_version}`, `postgresql-server-dev-${postgresql_version}`]);
54
+
55
+ await mkdir_async(joystick_bin_path, { recursive: true });
56
+
57
+ try {
58
+ await symlink_async(system_bin_path, symlink_path);
59
+ } catch (symlink_error) {
60
+ if (symlink_error.code !== 'EEXIST') {
61
+ console.error('Error creating symlink:', symlink_error);
62
+ throw symlink_error;
63
+ }
64
+ }
65
+
66
+ try {
67
+ await access_async(postgres_executable, fs.constants.X_OK);
68
+ } catch (access_error) {
69
+ console.error('Error accessing PostgreSQL executable:', access_error);
70
+ throw access_error;
71
+ }
72
+
73
+ process.loader.print('PostgreSQL installed!');
74
+ } catch (error) {
75
+ console.error('Error installing PostgreSQL:', error);
76
+ throw error;
77
+ }
78
+ };
79
+
80
+ export default download_postgresql_linux;
@@ -0,0 +1,91 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import os from 'os';
4
+ import { promisify } from 'util';
5
+ import { pipeline } from 'stream';
6
+ import { execFile } from 'child_process';
7
+
8
+ const streamPipeline = promisify(pipeline);
9
+ const execFileAsync = promisify(execFile);
10
+
11
+ const download_postgresql_macos = async (version_path = null) => {
12
+ const base_directory = path.join(os.homedir(), '.joystick', 'databases', 'postgresql');
13
+ const bin_directory = path.join(base_directory, 'bin');
14
+ const bin_bin_directory = path.join(bin_directory, 'bin');
15
+
16
+ if (await check_if_file_exists(base_directory)) {
17
+ return;
18
+ }
19
+
20
+ await create_directories(base_directory, bin_directory, bin_bin_directory);
21
+
22
+ const download_url = 'https://get.enterprisedb.com/postgresql/postgresql-16.0-1-osx-binaries.zip';
23
+ const file_name = path.basename(new URL(download_url).pathname);
24
+ const file_path = path.join(base_directory, file_name);
25
+
26
+ process.loader.print('PostgreSQL not found. Downloading... (this may take a few minutes)');
27
+ await download_file(download_url, file_path);
28
+
29
+ process.loader.print('Installing PostgreSQL...');
30
+
31
+ // Extract PostgreSQL
32
+ const temp_directory = path.join(base_directory, 'temp');
33
+ await fs.promises.mkdir(temp_directory, { recursive: true });
34
+ await execFileAsync('unzip', ['-q', file_path, '-d', temp_directory]);
35
+
36
+ // Move binaries to bin/bin
37
+ const extracted_bin_path = path.join(temp_directory, 'pgsql', 'bin');
38
+ const files = await fs.promises.readdir(extracted_bin_path);
39
+ for (const file of files) {
40
+ await fs.promises.rename(path.join(extracted_bin_path, file), path.join(bin_bin_directory, file));
41
+ }
42
+
43
+ // Move other necessary directories
44
+ const directories_to_move = ['share', 'lib', 'include'];
45
+ for (const dir of directories_to_move) {
46
+ const src_path = path.join(temp_directory, 'pgsql', dir);
47
+ const dest_path = path.join(bin_directory, dir);
48
+ if (await fs.promises.access(src_path).then(() => true).catch(() => false)) {
49
+ await fs.promises.rename(src_path, dest_path);
50
+ }
51
+ }
52
+
53
+ // Clean up
54
+ await fs.promises.unlink(file_path);
55
+ await fs.promises.rm(temp_directory, { recursive: true, force: true });
56
+
57
+ await make_file_executable(bin_bin_directory);
58
+ process.loader.print('PostgreSQL installed!');
59
+ };
60
+
61
+ const download_file = async (url, file_path) => {
62
+ const response = await fetch(url);
63
+ if (!response.ok) {
64
+ throw new Error(`Failed to download: ${response.statusText}`);
65
+ }
66
+ await streamPipeline(response.body, fs.createWriteStream(file_path));
67
+ };
68
+
69
+ const check_if_file_exists = async (file_path) => {
70
+ try {
71
+ await fs.promises.access(file_path);
72
+ return true;
73
+ } catch {
74
+ return false;
75
+ }
76
+ };
77
+
78
+ const create_directories = async (base_directory, bin_directory, bin_bin_directory) => {
79
+ await fs.promises.mkdir(base_directory, { recursive: true });
80
+ await fs.promises.mkdir(bin_directory, { recursive: true });
81
+ await fs.promises.mkdir(bin_bin_directory, { recursive: true });
82
+ };
83
+
84
+ const make_file_executable = async (directory) => {
85
+ const files = await fs.promises.readdir(directory);
86
+ for (const file of files) {
87
+ await fs.promises.chmod(path.join(directory, file), '755');
88
+ }
89
+ };
90
+
91
+ export default download_postgresql_macos;