@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,36 @@
1
+ import child_process from "child_process";
2
+ import path from "path";
3
+
4
+ const start_hmr_server_process = (exec_argv = [], __dirname = '') => {
5
+ // NOTE: Port is automatically pulled via process.env.PORT
6
+ // in the hmr_server.js script.
7
+ return child_process.fork(
8
+ path.resolve(`${__dirname}/hmr_server.js`),
9
+ [],
10
+ {
11
+ execArgv: exec_argv,
12
+ // NOTE: Pipe stdin, stdout, and stderr. IPC establishes a message channel so we
13
+ // communicate with the child_process.
14
+ silent: true,
15
+ }
16
+ );
17
+ };
18
+
19
+ const get_exec_args = (node_major_version = 0) => {
20
+ const exec_argv = ["--no-warnings"];
21
+
22
+ if (node_major_version < 19) {
23
+ exec_argv.push("--experimental-specifier-resolution=node");
24
+ }
25
+
26
+ return exec_argv;
27
+ };
28
+
29
+ const start_hmr_server = (node_major_version = 0, __dirname = '') => {
30
+ const exec_argv = get_exec_args(node_major_version);
31
+ const hmr_server_process = start_hmr_server_process(exec_argv, __dirname);
32
+ return hmr_server_process;
33
+ };
34
+
35
+ export default start_hmr_server;
36
+
@@ -0,0 +1,8 @@
1
+ import get_platform_safe_path from "./get_platform_safe_path.js";
2
+
3
+ const browser_path_exclusions = [
4
+ get_platform_safe_path("lib/node"),
5
+ get_platform_safe_path("tests/"),
6
+ ];
7
+
8
+ export default browser_path_exclusions;
@@ -0,0 +1,11 @@
1
+ import get_platform_safe_path from "./get_platform_safe_path.js";
2
+
3
+ const browser_paths = [
4
+ get_platform_safe_path("email/"),
5
+ get_platform_safe_path("lib/"),
6
+ get_platform_safe_path("lib/browser"),
7
+ get_platform_safe_path("ui/"),
8
+ "index.client.js",
9
+ ];
10
+
11
+ export default browser_paths;
@@ -0,0 +1,36 @@
1
+ import constants from "../../constants.js";
2
+ import get_platform_safe_path from "../../get_platform_safe_path.js";
3
+
4
+ const get_after_run_tasks = (path = '') => {
5
+ const is_html_update = path === 'index.html';
6
+ const is_client_index_update = path === 'index.client.js';
7
+ const is_client_lib_update = path.includes(
8
+ get_platform_safe_path('lib/')
9
+ ) && !path.includes(
10
+ get_platform_safe_path('lib/node')
11
+ );
12
+ const is_css_path = path.includes('css/');
13
+ const is_i18n_path = path.includes('i18n');
14
+ const is_settings_path = (path.match(constants.SETTINGS_FILE_NAME_REGEX))?.length > 0;
15
+ const is_ui_path = path.includes(
16
+ get_platform_safe_path("ui/")
17
+ ) || path === 'index.css' || is_html_update || is_client_index_update || is_client_lib_update;
18
+ const is_ui_update = (process.hmr_server_process && process.hmr_server_process.has_connections) &&
19
+ (is_ui_path || is_i18n_path || is_settings_path) ||
20
+ false;
21
+
22
+ if (is_css_path) {
23
+ return ['hot_module_reload'];
24
+ }
25
+
26
+ if (is_ui_update) {
27
+ // NOTE: As part of hot_module_reload, the server will be restarted after a client has
28
+ // signaled that the HMR update is complete (see handle_hmr_server_process_messages in
29
+ // lib/development_server/index.js for the event handler).
30
+ return ['hot_module_reload'];
31
+ }
32
+
33
+ return ['restart_app_server'];
34
+ };
35
+
36
+ export default get_after_run_tasks;
@@ -0,0 +1,53 @@
1
+ import read_file_dependency_map from "./read_file_dependency_map.js";
2
+ import path_exists from '../../path_exists.js';
3
+ import get_platform_safe_path from '../../get_platform_safe_path.js';
4
+
5
+ const find_codependencies_in_map = (path_to_find = '', map = {}) => {
6
+ const matching_codependents = Object.entries(map)
7
+ .filter(([_codependent_path, codependent_dependencies]) => {
8
+ const has_matching_imports =
9
+ codependent_dependencies &&
10
+ codependent_dependencies.imports &&
11
+ codependent_dependencies.imports.some((codependent_dependency) => {
12
+ // NOTE: If a file is renamed to use lowercase (or vice versa), the dependent file
13
+ // should respect that change, even if the developer forgets to update the import
14
+ // path's casing.
15
+
16
+ return codependent_dependency.absolute_path.includes(path_to_find) || codependent_dependency.absolute_path?.toLowerCase()?.includes(path_to_find);
17
+ });
18
+
19
+ const has_matching_requires =
20
+ codependent_dependencies &&
21
+ codependent_dependencies.requires &&
22
+ codependent_dependencies.requires.some((codependent_dependency) => {
23
+ // NOTE: If a file is renamed to use lowercase (or vice versa), the dependent file
24
+ // should respect that change, even if the developer forgets to update the import
25
+ // path's casing.
26
+
27
+ return codependent_dependency.absolute_path.includes(path_to_find) || codependent_dependency.absolute_path?.toLowerCase()?.includes(path_to_find);
28
+ });
29
+
30
+ return has_matching_imports || has_matching_requires;
31
+ });
32
+
33
+ return matching_codependents.map(([matching_codependent_path]) => {
34
+ return matching_codependent_path.replace(
35
+ get_platform_safe_path(`${process.cwd()}/`),
36
+ ""
37
+ );
38
+ });
39
+ };
40
+
41
+ const get_file_codependencies = async (path_to_find = "") => {
42
+ const file_dependency_map = await read_file_dependency_map();
43
+ const codpendencies = find_codependencies_in_map(
44
+ path_to_find,
45
+ file_dependency_map
46
+ );
47
+
48
+ return Promise.all(codpendencies.filter((codependency) => {
49
+ return path_exists(codependency);
50
+ }));
51
+ };
52
+
53
+ export default get_file_codependencies;
@@ -0,0 +1,6 @@
1
+ const get_platform_safe_path = (path = '') => {
2
+ // NOTE: This is why serial killers exist.
3
+ return process.platform === 'win32' ? path.replace('/', '\\') : path;
4
+ };
5
+
6
+ export default get_platform_safe_path;
@@ -0,0 +1,222 @@
1
+ import chokidar from 'chokidar';
2
+ import fs from 'fs';
3
+ import { dirname } from 'path';
4
+ import build_files from '../../build/build_files.js';
5
+ import debounce from '../../debounce.js';
6
+ import get_after_run_tasks from './get_after_run_tasks.js';
7
+ import get_file_codependencies from './get_file_codependencies.js';
8
+ import get_file_operation from '../../build/get_file_operation.js';
9
+ import get_path_platform from '../../build/get_path_platform.js';
10
+ import types from '../../types.js';
11
+ import watch_paths from './watch_paths.js';
12
+
13
+ const { mkdir, copyFile, rm: remove } = fs.promises;
14
+
15
+ const handle_build_files = async (job = {}, options = {}) => {
16
+ const codependencies = process.initial_build_complete ? await get_file_codependencies(job?.path) : [];
17
+
18
+ // NOTE: If we have codependencies, make sure that the file triggering the current job is rebuilt first
19
+ // *before* rebuilding its codependencies. This ensures that codependencies get the latest build of the
20
+ // file. If we do them all together in parallel, the latest build is missed.
21
+ if (options?.is_build_file) {
22
+ await build_files({
23
+ files: [{ path: job?.path, platform: get_path_platform(job?.path) }],
24
+ }).catch((errors = []) => {
25
+ if (!process.initial_build_complete && errors?.length > 0) {
26
+ process.exit(0);
27
+ }
28
+
29
+ if (process.initial_build_complete && errors?.length > 0) {
30
+ process.app_server_process.send(
31
+ JSON.stringify({
32
+ type: "BUILD_ERROR",
33
+ paths: errors.filter(({ success }) => !success),
34
+ })
35
+ );
36
+
37
+ process.hmr_server_process.send(JSON.stringify({
38
+ type: 'BUILD_ERROR',
39
+ }));
40
+
41
+ throw new Error('BUILD_ERROR');
42
+ }
43
+ });
44
+ }
45
+
46
+ // NOTE: Run handle_build_files() recursively against codependencies as each of *that* files codependencies
47
+ // need to be rebuilt, too. This is because we bundle code into a single file, so all files up the "tree"
48
+ // need to be updated to reflect any changes of their children.
49
+ if (codependencies?.length > 0) {
50
+ for (let i = 0; i < codependencies?.length; i += 1) {
51
+ const codependency = codependencies[i];
52
+ await handle_build_files({ path: codependency }, options);
53
+ }
54
+ }
55
+
56
+ return Promise.resolve();
57
+ };
58
+
59
+ const run_job = async (job = {}) => {
60
+ switch(job?.operation) {
61
+ case 'add_directory':
62
+ return mkdir(`.joystick/build/${job?.path}`, { recursive: true });
63
+ case 'build_file':
64
+ return handle_build_files(job, { is_build_file: true });
65
+ case 'copy_file':
66
+ await mkdir(dirname(`.joystick/build/${job?.path}`), { recursive: true });
67
+ await copyFile(job?.path, `.joystick/build/${job?.path}`);
68
+ return handle_build_files(job, { is_build_file: false });
69
+ case 'delete_directory':
70
+ return remove(`.joystick/build/${job?.path}`, { recursive: true });
71
+ case 'delete_file':
72
+ await remove(`.joystick/build/${job?.path}`, { recursive: true });
73
+ return handle_build_files(job, { is_build_file: false });
74
+ default:
75
+ return true;
76
+ }
77
+ };
78
+
79
+ const get_delete_directory_job = (job = {}) => {
80
+ return {
81
+ operation: job?.event,
82
+ path: job?.path,
83
+ after_run_tasks: process.initial_build_complete ? get_after_run_tasks(job?.path) : ['start_app_server', 'start_hmr_server'],
84
+ };
85
+ };
86
+
87
+ const get_add_directory_job = (job = {}) => {
88
+ return {
89
+ operation: job?.event,
90
+ path: job?.path,
91
+ after_run_tasks: process.initial_build_complete ? get_after_run_tasks(job?.path) : ['start_app_server', 'start_hmr_server'],
92
+ };
93
+ };
94
+
95
+ const get_delete_file_job = (job = {}) => {
96
+ return {
97
+ operation: job?.event,
98
+ path: job?.path,
99
+ after_run_tasks: process.initial_build_complete ? get_after_run_tasks(job?.path) : ['start_app_server', 'start_hmr_server'],
100
+ };
101
+ };
102
+
103
+ const get_change_file_job = (job = {}) => {
104
+ return {
105
+ operation: job?.is_custom_copy_path ? 'copy_file' : get_file_operation(job?.path),
106
+ path: job?.path,
107
+ after_run_tasks: process.initial_build_complete ? get_after_run_tasks(job?.path) : ['start_app_server', 'start_hmr_server'],
108
+ };
109
+ };
110
+
111
+ const get_add_file_job = (job = {}) => {
112
+ return {
113
+ operation: job?.is_custom_copy_path ? 'copy_file' : get_file_operation(job?.path),
114
+ path: job?.path,
115
+ after_run_tasks: process.initial_build_complete ? get_after_run_tasks(job?.path) : ['start_app_server', 'start_hmr_server'],
116
+ };
117
+ };
118
+
119
+ const get_job_to_be_done = (job = {}) => {
120
+ switch(job?.event) {
121
+ case 'add_file':
122
+ return get_add_file_job(job);
123
+ case 'change_file':
124
+ return get_change_file_job(job);
125
+ case 'delete_file':
126
+ return get_delete_file_job(job);
127
+ case 'add_directory':
128
+ return get_add_directory_job(job);
129
+ case 'delete_directory':
130
+ return get_delete_directory_job(job);
131
+ }
132
+ };
133
+
134
+ const process_file_watcher_jobs = async (jobs = [], after_run_functions = {}) => {
135
+ try {
136
+ const after_run_tasks = new Set([]);
137
+
138
+ for (let i = 0; i < jobs?.length; i += 1) {
139
+ const job_to_run = jobs[i];
140
+ const job = get_job_to_be_done(job_to_run);
141
+
142
+ await run_job(job);
143
+
144
+ if (job?.after_run_tasks) {
145
+ for (let i = 0; i < job?.after_run_tasks?.length; i += 1) {
146
+ const after_run_task = job?.after_run_tasks[i];
147
+ after_run_tasks.add(after_run_task);
148
+ }
149
+ }
150
+ }
151
+
152
+ const tasks_to_run = Array.from(after_run_tasks);
153
+
154
+ for (let i = 0; i < tasks_to_run?.length; i += 1) {
155
+ const after_run_task = tasks_to_run[i];
156
+
157
+ if (types.is_function(after_run_functions[after_run_task])) {
158
+ await after_run_functions[after_run_task](jobs);
159
+ }
160
+ }
161
+ } catch(error) {
162
+ // NOTE: Dead catch as we just want to avoid after_run_tasks from running. Actual
163
+ // errors are handled as part of run_job() (e.g., build errors are handled as a part
164
+ // of handle_build_files()).
165
+ }
166
+ };
167
+
168
+ const transform_chokidar_event = (event = '') => {
169
+ switch(event) {
170
+ case 'add':
171
+ return 'add_file';
172
+ case 'change':
173
+ return 'change_file';
174
+ case 'unlink':
175
+ return 'delete_file';
176
+ case 'addDir':
177
+ return 'add_directory';
178
+ case 'unlinkDir':
179
+ return 'delete_directory';
180
+ }
181
+ };
182
+
183
+ const watch_for_changes = (after_run_functions = {}, watch_for_changes_options = {}) => {
184
+ const file_watcher = chokidar.watch([...watch_paths, ...(watch_for_changes_options?.custom_copy_paths || [])].map(({ path }) => path), {
185
+ ignored: '.joystick',
186
+ });
187
+
188
+ let file_watcher_jobs = [];
189
+
190
+ process.initial_build_complete = false;
191
+
192
+ file_watcher.on('error', (error) => console.error(error));
193
+
194
+ file_watcher.on('all', (event, path) => {
195
+ const is_excluded_path = watch_for_changes_options?.excluded_paths?.some((excluded_path) => {
196
+ return path.includes(excluded_path);
197
+ });
198
+
199
+ if (!is_excluded_path) {
200
+ file_watcher_jobs.push({
201
+ event: transform_chokidar_event(event),
202
+ path,
203
+ is_custom_copy_path: watch_for_changes_options?.custom_copy_paths?.length ? watch_for_changes_options?.custom_copy_paths.some((custom_copy_path) => {
204
+ return path.includes(custom_copy_path?.path);
205
+ }) : false,
206
+ });
207
+
208
+ // NOTE: Depending on the watch event, we expect multiple events to be emitted
209
+ // by chokidar. Debouncing here allows us to "collect" the jobs for the current
210
+ // chain of events and *then* process them all together. This is done to avoid
211
+ // triggering multiple HMR calls or server restarts for files related to the
212
+ // same job. This is near-instant, so there's no delay for the developer.
213
+ debounce(async () => {
214
+ await process_file_watcher_jobs(file_watcher_jobs, after_run_functions);
215
+ process.initial_build_complete = true;
216
+ file_watcher_jobs = [];
217
+ }, 100);
218
+ }
219
+ });
220
+ };
221
+
222
+ export default watch_for_changes;
@@ -0,0 +1,17 @@
1
+ import get_platform_safe_path from "./get_platform_safe_path.js";
2
+
3
+ export default [
4
+ get_platform_safe_path("api/"),
5
+ get_platform_safe_path("caches/"),
6
+ get_platform_safe_path("cronJobs/"),
7
+ get_platform_safe_path("cron_jobs/"),
8
+ get_platform_safe_path("fixtures/"),
9
+ get_platform_safe_path("indexes/"),
10
+ get_platform_safe_path("lib/node"),
11
+ get_platform_safe_path("queues/"),
12
+ get_platform_safe_path("routes/"),
13
+ get_platform_safe_path("tests/"),
14
+ get_platform_safe_path("uploaders/"),
15
+ get_platform_safe_path("websockets/"),
16
+ "index.server.js",
17
+ ];
@@ -0,0 +1,18 @@
1
+ import fs from 'fs';
2
+ import path_exists from '../../path_exists.js';
3
+
4
+ const { readFile } = fs.promises;
5
+
6
+ const read_file_dependency_map = async () => {
7
+ const file_map_path = `.joystick/build/file_map.json`;
8
+
9
+ if (await path_exists(file_map_path)) {
10
+ const file_map_as_json = await readFile(file_map_path, "utf-8");
11
+ const file_map = file_map_as_json ? JSON.parse(file_map_as_json) : {};
12
+ return file_map;
13
+ }
14
+
15
+ return {};
16
+ };
17
+
18
+ export default read_file_dependency_map;
@@ -0,0 +1,22 @@
1
+ import copy_paths from "../../build/copy_paths.js";
2
+
3
+ const watch_paths = [
4
+ { path: "api" },
5
+ { path: "caches" },
6
+ { path: "cronJobs" },
7
+ { path: "cron_jobs" },
8
+ { path: "email" },
9
+ { path: "fixtures" },
10
+ { path: "indexes" },
11
+ { path: "lib" },
12
+ { path: "queues" },
13
+ { path: "routes" },
14
+ { path: "ui" },
15
+ { path: "uploaders" },
16
+ { path: "websockets" },
17
+ { path: "index.client.js" },
18
+ { path: "index.server.js" },
19
+ ...copy_paths,
20
+ ];
21
+
22
+ export default watch_paths;
@@ -0,0 +1,6 @@
1
+ const dynamic_import = async (path = '') => {
2
+ const file = await import(process.platform === 'win32' ? `file://${path}` : path);
3
+ return file?.default;
4
+ };
5
+
6
+ export default dynamic_import;
@@ -0,0 +1,10 @@
1
+ import crypto from 'crypto';
2
+
3
+ const encrypt_buffer = (buffer, key) => {
4
+ const initialization_vector = crypto.randomBytes(16);
5
+ const hashed_encryption_key = crypto.createHash('sha256').update(key).digest('hex').substring(0, 32);
6
+ const cipher = crypto.createCipheriv('aes256', hashed_encryption_key, initialization_vector);
7
+ return Buffer.concat([initialization_vector, cipher.update(buffer), cipher.final()]);
8
+ };
9
+
10
+ export default encrypt_buffer;
@@ -0,0 +1,15 @@
1
+ const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890'.split('');
2
+
3
+ const generate_id = (length = 16) => {
4
+ let id = '';
5
+ let i = 0;
6
+
7
+ while (i < length) {
8
+ id += characters[Math.floor(Math.random() * (characters.length - 1))];
9
+ i += 1;
10
+ }
11
+
12
+ return id;
13
+ };
14
+
15
+ export default generate_id;
@@ -0,0 +1,25 @@
1
+ import fs from 'fs';
2
+ import { join } from 'path';
3
+
4
+ const { readdir, stat } = fs.promises;
5
+
6
+ const get_files_in_path = async (path = './', existing_files = []) => {
7
+ const files_in_path = (await readdir(path))?.map((file_in_path) => {
8
+ return join(path, file_in_path);
9
+ });
10
+
11
+ existing_files.push(...files_in_path);
12
+
13
+ for (let i = 0; i < files_in_path?.length; i += 1) {
14
+ const file = files_in_path[i];
15
+ const is_directory = (await stat(file)).isDirectory();
16
+
17
+ if (is_directory) {
18
+ await get_files_in_path(file, existing_files);
19
+ }
20
+ }
21
+
22
+ return existing_files;
23
+ };
24
+
25
+ export default get_files_in_path;
@@ -0,0 +1,8 @@
1
+ import os from 'os';
2
+
3
+ const get_platform_safe_path = (path = '') => {
4
+ // NOTE: This is why serial killers exist.
5
+ return os.platform() === "win32" ? path.replace(/\//g, '\\') : path;
6
+ };
7
+
8
+ export default get_platform_safe_path;
@@ -0,0 +1,26 @@
1
+ import child_process from 'child_process';
2
+ import util from 'util';
3
+
4
+ const exec = util.promisify(child_process.exec);
5
+
6
+ const get_process_id_from_port = async (port = 0) => {
7
+ if (process.platform === 'win32') {
8
+ return exec(`netstat -a -n -o | find "${port}"`)
9
+ .then((stat) => {
10
+ const stat_result = stat.stdout?.split('\n');
11
+ const process_id_response = stat_result && stat_result[0] && stat_result[0]?.split(' ')?.filter((value) => value !== '')?.map((value) => {
12
+ return value?.replace('\r', '');
13
+ })?.pop();
14
+
15
+ return process_id_response || null;
16
+ })
17
+ .catch(() => {
18
+ return null;
19
+ });
20
+ }
21
+
22
+ const process_id_response = await exec(`lsof -n -i:${port} | grep LISTEN | awk '{ print $2 }' | uniq`);
23
+ return process_id_response?.stdout || null;
24
+ };
25
+
26
+ export default get_process_id_from_port;
@@ -0,0 +1,10 @@
1
+ const is_valid_json_string = (string = '') => {
2
+ try {
3
+ JSON.parse(string);
4
+ return true;
5
+ } catch {
6
+ return false;
7
+ }
8
+ };
9
+
10
+ export default is_valid_json_string;
@@ -0,0 +1,12 @@
1
+ import get_process_id_from_port from "./get_process_id_from_port.js";
2
+ import kill_process_id from "./kill_process_id.js";
3
+
4
+ const kill_port_process = async (port = 0) => {
5
+ const process_id = await get_process_id_from_port(port);
6
+
7
+ if (process_id) {
8
+ await kill_process_id(process_id);
9
+ }
10
+ };
11
+
12
+ export default kill_port_process;
@@ -0,0 +1,19 @@
1
+ import child_process from 'child_process';
2
+ import util from 'util';
3
+
4
+ const exec = util.promisify(child_process.exec);
5
+
6
+ const kill_process_id = async (process_id = 0) => {
7
+ const process_id_as_integer = parseInt(process_id, 10);
8
+
9
+ if (process_id_as_integer) {
10
+ if (process.platform === 'win32') {
11
+ await exec(`taskkill /F /PID ${process_id_as_integer}`);
12
+ return;
13
+ }
14
+
15
+ await exec(`kill -9 ${process_id_as_integer}`);
16
+ }
17
+ };
18
+
19
+ export default kill_process_id;
@@ -0,0 +1,43 @@
1
+ import fs from 'fs';
2
+ import cli_log from './cli_log.js';
3
+ import is_valid_json_string from './is_valid_json_string.js';
4
+ import path_exists from './path_exists.js';
5
+
6
+ const { readFile } = fs.promises;
7
+
8
+ const load_settings = async (environment = null) => {
9
+ const settings_file_path = `${process.cwd()}/settings.${environment}.json`;
10
+ const has_settings_file = await path_exists(settings_file_path);
11
+
12
+ if (!has_settings_file) {
13
+ cli_log(`A settings file could not be found for this environment (${environment}). Create a settings.${environment}.json file at the root of your project and restart Joystick.`, {
14
+ level: 'danger',
15
+ docs: 'https://github.com/cheatcode/joystick#settings',
16
+ });
17
+
18
+ process.exit(0);
19
+ }
20
+
21
+ const raw_settings_file = await readFile(settings_file_path, "utf-8");
22
+ const is_valid_json = is_valid_json_string(raw_settings_file);
23
+
24
+ if (!is_valid_json) {
25
+ cli_log(`Failed to parse settings file. Double-check the syntax in your settings.${environment}.json file at the root of your project and restart Joystick.`, {
26
+ level: 'danger',
27
+ docs: 'https://github.com/cheatcode/joystick#settings',
28
+ tools: [
29
+ { title: 'JSON Linter', url: 'https://jsonlint.com/' }
30
+ ],
31
+ });
32
+ process.exit(0);
33
+ }
34
+
35
+ const settings_file = is_valid_json ? raw_settings_file : "{}";
36
+
37
+ // NOTE: Child process will inherit this env var from this parent process.
38
+ process.env.JOYSTICK_SETTINGS = settings_file;
39
+
40
+ return JSON.parse(settings_file);
41
+ };
42
+
43
+ export default load_settings;