@joystick.js/cli-canary 0.0.0-canary.162 → 0.0.0-canary.1621

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 (584) hide show
  1. package/.build/getFilesToBuild.js +1 -1
  2. package/.build/index.js +3 -3
  3. package/LICENSE.md +59 -0
  4. package/README.md +45 -4
  5. package/dist/cli.js +1 -76
  6. package/dist/commands/build/definition.js +1 -0
  7. package/dist/commands/build/index.js +1 -0
  8. package/dist/commands/create/build_package_json.js +1 -0
  9. package/dist/commands/create/definition.js +1 -0
  10. package/dist/commands/create/index.js +2 -0
  11. package/dist/commands/create/template/api/index.js +6 -0
  12. package/dist/commands/create/template/email/base.css +9 -0
  13. package/dist/commands/create/template/email/base.html +10 -0
  14. package/dist/commands/create/template/email/reset_password.js +20 -0
  15. package/dist/commands/create/template/i18n/en-US.js +14 -0
  16. package/dist/commands/create/template/index.client.js +1 -0
  17. package/dist/commands/create/template/index.css +34 -0
  18. package/dist/{functions/create/templates → commands/create/template}/index.html +2 -3
  19. package/dist/{functions/create/templates → commands/create/template}/index.server.js +6 -6
  20. package/dist/commands/create/template/public/apple-touch-icon-152x152.png +0 -0
  21. package/dist/commands/create/template/public/favicon.ico +0 -0
  22. package/dist/commands/create/template/public/joystick_logo.webp +0 -0
  23. package/dist/{functions/create/templates → commands/create/template}/public/manifest.json +4 -4
  24. package/dist/commands/create/template/public/splash-screen-1024x1024.png +0 -0
  25. package/{src/functions/create/templates → dist/commands/create/template}/ui/components/button/index.js +14 -6
  26. package/{src/functions/create/templates → dist/commands/create/template}/ui/layouts/app/index.js +2 -2
  27. package/dist/commands/create/template/ui/pages/error/index.js +50 -0
  28. package/dist/commands/create/template/ui/pages/index/index.js +121 -0
  29. package/dist/commands/help/definition.js +1 -0
  30. package/dist/commands/help/index.js +19 -0
  31. package/dist/commands/index.js +1 -0
  32. package/dist/commands/logout/definition.js +1 -0
  33. package/dist/commands/logout/index.js +3 -0
  34. package/dist/commands/push/cdn_mirrors.js +1 -0
  35. package/dist/commands/push/check_if_settings_valid.js +1 -0
  36. package/dist/commands/push/create_version.js +1 -0
  37. package/dist/commands/push/definition.js +1 -0
  38. package/dist/commands/push/get_app_domain.js +1 -0
  39. package/dist/commands/push/get_deployment.js +1 -0
  40. package/dist/commands/push/get_provision_domain.js +1 -0
  41. package/dist/commands/push/get_session_token.js +1 -0
  42. package/dist/commands/push/get_settings_file.js +1 -0
  43. package/dist/commands/push/handle_initial_deployment.js +1 -0
  44. package/dist/commands/push/handle_version_deployment.js +1 -0
  45. package/dist/commands/push/index.js +8 -0
  46. package/dist/commands/push/prompts/confirm_deployment.js +17 -0
  47. package/dist/commands/push/prompts/session_token.js +5 -0
  48. package/dist/commands/push/upload_build_to_cdn.js +1 -0
  49. package/dist/commands/push/validate_deployment.js +1 -0
  50. package/dist/commands/push/validate_push_config.js +1 -0
  51. package/dist/commands/start/definition.js +1 -0
  52. package/dist/commands/start/index.js +1 -0
  53. package/dist/commands/test/definition.js +1 -0
  54. package/dist/commands/test/index.js +1 -0
  55. package/dist/commands/update/definition.js +1 -0
  56. package/dist/commands/update/index.js +1 -0
  57. package/dist/commands/use/definition.js +1 -0
  58. package/dist/commands/use/index.js +1 -0
  59. package/dist/index.js +1 -7
  60. package/dist/lib/build/browser_path_exclusions.js +1 -0
  61. package/dist/lib/build/browser_paths.js +1 -0
  62. package/dist/lib/build/build_files.js +3 -0
  63. package/dist/lib/build/copy_paths.js +1 -0
  64. package/dist/lib/build/get_code_frame.js +1 -0
  65. package/dist/lib/build/get_file_operation.js +1 -0
  66. package/dist/lib/build/get_files_to_build.js +1 -0
  67. package/dist/lib/build/get_path_platform.js +1 -0
  68. package/dist/lib/build/get_platform_safe_path.js +1 -0
  69. package/dist/lib/build/get_tar_ignore_list.js +2 -0
  70. package/dist/lib/build/index.js +3 -0
  71. package/dist/lib/build/master_ignore_list.js +1 -0
  72. package/dist/lib/build/minify_file.js +1 -0
  73. package/dist/lib/build/node_paths.js +1 -0
  74. package/dist/lib/build/on_warn.js +10 -0
  75. package/dist/lib/build/plugins/bootstrap_component.js +33 -0
  76. package/dist/lib/build/plugins/generate_file_dependency_map.js +1 -0
  77. package/dist/lib/build/plugins/index.js +1 -0
  78. package/dist/lib/build/plugins/set_component_id.js +2 -0
  79. package/dist/lib/build/plugins/update_file_map.js +1 -0
  80. package/dist/lib/build/plugins/warn_node_environment.js +3 -0
  81. package/dist/lib/cli_log.js +13 -0
  82. package/dist/lib/color_log.js +1 -0
  83. package/dist/lib/command_exists.js +1 -0
  84. package/dist/lib/constants.js +1 -4
  85. package/dist/lib/debounce.js +1 -0
  86. package/dist/lib/decrypt_buffer.js +1 -0
  87. package/dist/lib/development_server/ava_config.js +1 -0
  88. package/dist/lib/development_server/check_if_port_occupied.js +1 -0
  89. package/dist/lib/development_server/cleanup.js +1 -0
  90. package/dist/lib/development_server/databases/download_database_binary.js +1 -0
  91. package/dist/lib/development_server/databases/mongodb/available_query_parameters.js +1 -0
  92. package/dist/lib/development_server/databases/mongodb/build_connection_string.js +1 -0
  93. package/dist/lib/development_server/databases/mongodb/build_query_parameters.js +1 -0
  94. package/dist/lib/development_server/databases/mongodb/check_connection.js +2 -0
  95. package/dist/lib/development_server/databases/mongodb/connect.js +1 -0
  96. package/dist/lib/development_server/databases/mongodb/index.js +1 -0
  97. package/dist/lib/development_server/databases/mongodb/installers/linux.js +1 -0
  98. package/dist/lib/development_server/databases/mongodb/installers/macos.js +1 -0
  99. package/dist/lib/development_server/databases/mongodb/installers/windows.js +1 -0
  100. package/dist/lib/development_server/databases/postgresql/check_connection.js +2 -0
  101. package/dist/lib/development_server/databases/postgresql/connect.js +1 -0
  102. package/dist/lib/development_server/databases/postgresql/index.js +2 -0
  103. package/dist/lib/development_server/databases/postgresql/installers/linux.js +1 -0
  104. package/dist/lib/development_server/databases/postgresql/installers/macos.js +1 -0
  105. package/dist/lib/development_server/databases/postgresql/installers/windows.js +1 -0
  106. package/dist/lib/development_server/databases/provider_map.js +1 -0
  107. package/dist/lib/development_server/get_database_process_ids.js +1 -0
  108. package/dist/lib/development_server/get_translations.js +1 -0
  109. package/dist/lib/development_server/hmr_server.js +1 -0
  110. package/dist/lib/development_server/index.js +10 -0
  111. package/dist/lib/development_server/kill_process_ids.js +1 -0
  112. package/dist/lib/development_server/run_tests.js +2 -0
  113. package/dist/lib/development_server/start_app_server.js +1 -0
  114. package/dist/lib/development_server/start_databases.js +1 -0
  115. package/dist/lib/development_server/start_hmr_server.js +1 -0
  116. package/dist/lib/development_server/watch_for_changes/browser_path_exclusions.js +1 -0
  117. package/dist/lib/development_server/watch_for_changes/browser_paths.js +1 -0
  118. package/dist/lib/development_server/watch_for_changes/get_after_run_tasks.js +1 -0
  119. package/dist/lib/development_server/watch_for_changes/get_file_codependencies.js +1 -0
  120. package/dist/lib/development_server/watch_for_changes/get_platform_safe_path.js +1 -0
  121. package/dist/lib/development_server/watch_for_changes/index.js +1 -0
  122. package/dist/lib/development_server/watch_for_changes/node_paths.js +1 -0
  123. package/dist/lib/development_server/watch_for_changes/read_file_dependency_map.js +1 -0
  124. package/dist/lib/development_server/watch_for_changes/watch_paths.js +1 -0
  125. package/dist/lib/dynamic_import.js +1 -0
  126. package/dist/lib/encrypt_buffer.js +1 -0
  127. package/dist/lib/generate_id.js +1 -0
  128. package/dist/lib/get_files_in_path.js +1 -0
  129. package/dist/lib/get_platform_safe_path.js +1 -0
  130. package/dist/lib/get_process_id_from_port.js +2 -0
  131. package/dist/lib/is_valid_json_string.js +1 -0
  132. package/dist/lib/kill_port_process.js +1 -0
  133. package/dist/lib/kill_process_id.js +1 -0
  134. package/dist/lib/load_settings.js +1 -0
  135. package/dist/lib/loader.js +2 -82
  136. package/dist/lib/log_bars.js +1 -0
  137. package/dist/lib/node_path_polyfills.js +1 -0
  138. package/dist/lib/parse_args.js +1 -0
  139. package/dist/lib/parse_options.js +1 -0
  140. package/dist/lib/path_exists.js +1 -0
  141. package/dist/lib/rainbow_road.js +1 -0
  142. package/dist/lib/replace_in_files.js +1 -0
  143. package/dist/lib/required_files.js +1 -0
  144. package/dist/lib/serialize_query_parameters.js +1 -0
  145. package/dist/lib/types.js +1 -6
  146. package/dist/lib/unique_array.js +1 -0
  147. package/increment_version.js +3 -0
  148. package/package.json +19 -38
  149. package/src/cli.js +59 -51
  150. package/src/commands/build/definition.js +58 -0
  151. package/src/commands/build/index.js +7 -0
  152. package/src/commands/create/build_package_json.js +20 -0
  153. package/src/commands/create/definition.js +35 -0
  154. package/src/commands/create/index.js +71 -0
  155. package/src/commands/create/template/api/index.js +6 -0
  156. package/src/commands/create/template/email/base.css +9 -0
  157. package/src/commands/create/template/email/base.html +10 -0
  158. package/src/commands/create/template/email/reset_password.js +20 -0
  159. package/src/commands/create/template/i18n/en-US.js +14 -0
  160. package/src/commands/create/template/index.client.js +1 -0
  161. package/src/commands/create/template/index.css +34 -0
  162. package/src/{functions/create/templates → commands/create/template}/index.html +2 -3
  163. package/src/{functions/create/templates → commands/create/template}/index.server.js +6 -6
  164. package/src/commands/create/template/public/apple-touch-icon-152x152.png +0 -0
  165. package/src/commands/create/template/public/favicon.ico +0 -0
  166. package/src/commands/create/template/public/joystick_logo.webp +0 -0
  167. package/src/{functions/create/templates → commands/create/template}/public/manifest.json +4 -4
  168. package/src/commands/create/template/public/splash-screen-1024x1024.png +0 -0
  169. package/{dist/functions/create/templates → src/commands/create/template}/ui/components/button/index.js +14 -6
  170. package/{dist/functions/create/templates → src/commands/create/template}/ui/layouts/app/index.js +2 -2
  171. package/src/commands/create/template/ui/pages/error/index.js +50 -0
  172. package/src/commands/create/template/ui/pages/index/index.js +121 -0
  173. package/src/commands/help/definition.js +12 -0
  174. package/src/commands/help/index.js +48 -0
  175. package/src/commands/index.js +23 -0
  176. package/src/commands/logout/definition.js +10 -0
  177. package/src/commands/logout/index.js +20 -0
  178. package/src/commands/push/cdn_mirrors.js +7 -0
  179. package/src/commands/push/check_if_settings_valid.js +10 -0
  180. package/src/commands/push/create_version.js +20 -0
  181. package/src/commands/push/definition.js +43 -0
  182. package/src/commands/push/get_app_domain.js +11 -0
  183. package/src/commands/push/get_deployment.js +19 -0
  184. package/src/commands/push/get_provision_domain.js +9 -0
  185. package/src/commands/push/get_session_token.js +31 -0
  186. package/src/commands/push/get_settings_file.js +47 -0
  187. package/src/commands/push/handle_initial_deployment.js +24 -0
  188. package/src/commands/push/handle_version_deployment.js +23 -0
  189. package/src/commands/push/index.js +190 -0
  190. package/src/commands/push/prompts/confirm_deployment.js +73 -0
  191. package/src/commands/push/prompts/session_token.js +11 -0
  192. package/src/commands/push/upload_build_to_cdn.js +59 -0
  193. package/src/commands/push/validate_deployment.js +19 -0
  194. package/src/commands/push/validate_push_config.js +18 -0
  195. package/src/commands/start/definition.js +58 -0
  196. package/src/commands/start/index.js +11 -0
  197. package/src/commands/test/definition.js +28 -0
  198. package/src/commands/test/index.js +12 -0
  199. package/src/commands/update/definition.js +28 -0
  200. package/src/commands/update/index.js +29 -0
  201. package/src/commands/use/definition.js +19 -0
  202. package/src/commands/use/index.js +54 -0
  203. package/src/index.js +0 -0
  204. package/src/lib/build/browser_path_exclusions.js +8 -0
  205. package/src/lib/build/browser_paths.js +11 -0
  206. package/src/lib/build/build_files.js +163 -0
  207. package/src/{functions/start/filesToCopy.js → lib/build/copy_paths.js} +7 -5
  208. package/src/lib/build/get_code_frame.js +11 -0
  209. package/src/lib/build/get_file_operation.js +25 -0
  210. package/src/lib/build/get_files_to_build.js +41 -0
  211. package/src/lib/build/get_path_platform.js +32 -0
  212. package/src/lib/build/get_platform_safe_path.js +6 -0
  213. package/src/lib/build/get_tar_ignore_list.js +41 -0
  214. package/src/lib/build/index.js +137 -0
  215. package/src/lib/build/master_ignore_list.js +14 -0
  216. package/src/lib/build/minify_file.js +15 -0
  217. package/src/lib/build/node_paths.js +19 -0
  218. package/src/lib/build/on_warn.js +70 -0
  219. package/src/lib/build/plugins/bootstrap_component.js +191 -0
  220. package/src/lib/build/plugins/generate_file_dependency_map.js +20 -0
  221. package/src/lib/build/plugins/index.js +26 -0
  222. package/src/lib/build/plugins/set_component_id.js +89 -0
  223. package/src/lib/build/plugins/update_file_map.js +98 -0
  224. package/src/lib/build/plugins/warn_node_environment.js +20 -0
  225. package/src/lib/{CLILog.js → cli_log.js} +12 -8
  226. package/src/lib/color_log.js +7 -0
  227. package/src/lib/command_exists.js +16 -0
  228. package/src/lib/constants.js +11 -1
  229. package/src/lib/debounce.js +9 -0
  230. package/src/lib/decrypt_buffer.js +12 -0
  231. package/src/lib/development_server/ava_config.js +14 -0
  232. package/src/lib/development_server/check_if_port_occupied.js +31 -0
  233. package/src/lib/development_server/cleanup.js +15 -0
  234. package/src/lib/development_server/databases/download_database_binary.js +35 -0
  235. package/src/lib/{dev/databases/mongodb/availableQueryParameters.js → development_server/databases/mongodb/available_query_parameters.js} +3 -1
  236. package/src/lib/development_server/databases/mongodb/build_connection_string.js +36 -0
  237. package/src/lib/development_server/databases/mongodb/build_query_parameters.js +17 -0
  238. package/src/lib/development_server/databases/mongodb/check_connection.js +41 -0
  239. package/src/lib/development_server/databases/mongodb/connect.js +27 -0
  240. package/src/lib/development_server/databases/mongodb/index.js +102 -0
  241. package/src/lib/development_server/databases/mongodb/installers/linux.js +107 -0
  242. package/src/lib/development_server/databases/mongodb/installers/macos.js +109 -0
  243. package/src/lib/development_server/databases/mongodb/installers/windows.js +90 -0
  244. package/src/lib/development_server/databases/postgresql/check_connection.js +56 -0
  245. package/src/lib/development_server/databases/postgresql/connect.js +33 -0
  246. package/src/lib/development_server/databases/postgresql/index.js +157 -0
  247. package/src/lib/development_server/databases/postgresql/installers/linux.js +80 -0
  248. package/src/lib/development_server/databases/postgresql/installers/macos.js +91 -0
  249. package/src/lib/development_server/databases/postgresql/installers/windows.js +83 -0
  250. package/src/lib/development_server/databases/provider_map.js +15 -0
  251. package/src/lib/development_server/get_database_process_ids.js +28 -0
  252. package/src/lib/development_server/get_translations.js +85 -0
  253. package/src/lib/development_server/hmr_server.js +94 -0
  254. package/src/lib/development_server/index.js +436 -0
  255. package/src/lib/development_server/kill_process_ids.js +8 -0
  256. package/src/lib/development_server/run_tests.js +84 -0
  257. package/src/lib/development_server/start_app_server.js +55 -0
  258. package/src/lib/development_server/start_databases.js +108 -0
  259. package/src/lib/development_server/start_hmr_server.js +36 -0
  260. package/src/lib/development_server/watch_for_changes/browser_path_exclusions.js +8 -0
  261. package/src/lib/development_server/watch_for_changes/browser_paths.js +11 -0
  262. package/src/lib/development_server/watch_for_changes/get_after_run_tasks.js +36 -0
  263. package/src/lib/development_server/watch_for_changes/get_file_codependencies.js +53 -0
  264. package/src/lib/development_server/watch_for_changes/get_platform_safe_path.js +6 -0
  265. package/src/lib/development_server/watch_for_changes/index.js +222 -0
  266. package/src/lib/development_server/watch_for_changes/node_paths.js +17 -0
  267. package/src/lib/development_server/watch_for_changes/read_file_dependency_map.js +18 -0
  268. package/src/lib/development_server/watch_for_changes/watch_paths.js +22 -0
  269. package/src/lib/dynamic_import.js +6 -0
  270. package/src/lib/encrypt_buffer.js +10 -0
  271. package/src/lib/generate_id.js +15 -0
  272. package/src/lib/get_files_in_path.js +25 -0
  273. package/src/lib/get_platform_safe_path.js +8 -0
  274. package/src/lib/get_process_id_from_port.js +26 -0
  275. package/src/lib/is_valid_json_string.js +10 -0
  276. package/src/lib/kill_port_process.js +12 -0
  277. package/src/lib/kill_process_id.js +19 -0
  278. package/src/lib/load_settings.js +43 -0
  279. package/src/lib/loader.js +4 -77
  280. package/src/lib/log_bars.js +7 -0
  281. package/src/lib/node_path_polyfills.js +23 -0
  282. package/src/lib/parse_args.js +16 -0
  283. package/src/lib/parse_options.js +16 -0
  284. package/src/lib/path_exists.js +11 -0
  285. package/src/lib/{rainbowRoad.js → rainbow_road.js} +4 -2
  286. package/src/lib/replace_in_files.js +40 -0
  287. package/src/lib/{dev/requiredFiles.js → required_files.js} +3 -1
  288. package/src/lib/serialize_query_parameters.js +7 -0
  289. package/src/lib/types.js +59 -2
  290. package/src/lib/unique_array.js +24 -0
  291. package/HMRNOTES.txt +0 -23
  292. package/_package.json +0 -56
  293. package/canary.js +0 -12
  294. package/dist/functions/build/getTarIgnoreList.js +0 -25
  295. package/dist/functions/build/index.js +0 -54
  296. package/dist/functions/create/buildPackageJSON.js +0 -20
  297. package/dist/functions/create/index.js +0 -193
  298. package/dist/functions/create/templates/api/index.js +0 -4
  299. package/dist/functions/create/templates/i18n/en-US.js +0 -4
  300. package/dist/functions/create/templates/index.client.js +0 -7
  301. package/dist/functions/create/templates/index.css +0 -20
  302. package/dist/functions/create/templates/public/apple-touch-icon-152x152.png +0 -0
  303. package/dist/functions/create/templates/public/favicon.ico +0 -0
  304. package/dist/functions/create/templates/public/splash-screen-1024x1024.png +0 -0
  305. package/dist/functions/create/templates/ui/pages/error/index.js +0 -31
  306. package/dist/functions/create/templates/ui/pages/index/index.js +0 -94
  307. package/dist/functions/index.js +0 -269
  308. package/dist/functions/logout/index.js +0 -20
  309. package/dist/functions/push/checkIfProvisionAvailable.js +0 -19
  310. package/dist/functions/push/deploy/index.js +0 -173
  311. package/dist/functions/push/deploy/initial.js +0 -100
  312. package/dist/functions/push/deploy/version.js +0 -100
  313. package/dist/functions/push/domains.js +0 -23
  314. package/dist/functions/push/getAvailableCDN.js +0 -23
  315. package/dist/functions/push/getDeployment.js +0 -41
  316. package/dist/functions/push/getDeploymentSummary.js +0 -38
  317. package/dist/functions/push/getInstanceSizeRegions.js +0 -37
  318. package/dist/functions/push/getInstanceSizesForRegion.js +0 -34
  319. package/dist/functions/push/getProviderInstanceSizes.js +0 -34
  320. package/dist/functions/push/getProviderRegions.js +0 -36
  321. package/dist/functions/push/getProvidersWithConnectionStatus.js +0 -20
  322. package/dist/functions/push/getSessionToken.js +0 -23
  323. package/dist/functions/push/getUserFromSessionToken.js +0 -37
  324. package/dist/functions/push/index.js +0 -210
  325. package/dist/functions/push/loginToCheatCode.js +0 -33
  326. package/dist/functions/push/pingProvisionAPI.js +0 -31
  327. package/dist/functions/push/prompts.js +0 -332
  328. package/dist/functions/push/providerMap.js +0 -11
  329. package/dist/functions/push/providers.js +0 -9
  330. package/dist/functions/reset/index.js +0 -0
  331. package/dist/functions/reset/reset.js +0 -127
  332. package/dist/functions/start/bootstrapLayoutComponent.js +0 -54
  333. package/dist/functions/start/bootstrapPageComponent.js +0 -51
  334. package/dist/functions/start/buildFile.js +0 -85
  335. package/dist/functions/start/buildFiles.js +0 -76
  336. package/dist/functions/start/buildPlugins.js +0 -183
  337. package/dist/functions/start/checkIfPortAvailable.js +0 -18
  338. package/dist/functions/start/cleanup/index.js +0 -18
  339. package/dist/functions/start/databases/mongodb/availableQueryParameters.js +0 -42
  340. package/dist/functions/start/databases/mongodb/buildConnectionString.js +0 -22
  341. package/dist/functions/start/databases/mongodb/buildQueryParameters.js +0 -14
  342. package/dist/functions/start/databases/mongodb/checkConnection.js +0 -35
  343. package/dist/functions/start/databases/mongodb/connect.js +0 -25
  344. package/dist/functions/start/databases/mongodb/index.js +0 -93
  345. package/dist/functions/start/databases/postgresql/checkConnection.js +0 -41
  346. package/dist/functions/start/databases/postgresql/connect.js +0 -27
  347. package/dist/functions/start/databases/postgresql/index.js +0 -106
  348. package/dist/functions/start/databases/redis.js +0 -0
  349. package/dist/functions/start/databases/startProvider.js +0 -16
  350. package/dist/functions/start/fileDependencyMapper.js +0 -22
  351. package/dist/functions/start/filesToCopy.js +0 -18
  352. package/dist/functions/start/generateId.js +0 -74
  353. package/dist/functions/start/getCodependenciesForFile.js +0 -64
  354. package/dist/functions/start/getFilesToBuild.js +0 -39
  355. package/dist/functions/start/getProcessIdFromPort.js +0 -60
  356. package/dist/functions/start/hmrServer.js +0 -66
  357. package/dist/functions/start/index.js +0 -11
  358. package/dist/functions/start/isWindows.js +0 -5
  359. package/dist/functions/start/minifyFile.js +0 -12
  360. package/dist/functions/start/onWarn.js +0 -63
  361. package/dist/functions/start/readFileDependencyMap.js +0 -16
  362. package/dist/functions/start/removeDeletedDependenciesFromMap.js +0 -18
  363. package/dist/functions/start/setComponentId.js +0 -46
  364. package/dist/functions/start/updateFileMap.js +0 -67
  365. package/dist/functions/test/index.js +0 -12
  366. package/dist/functions/update/index.js +0 -21
  367. package/dist/functions/use/index.js +0 -61
  368. package/dist/lib/CLILog.js +0 -49
  369. package/dist/lib/build/browserPathExclusions.js +0 -8
  370. package/dist/lib/build/browserPaths.js +0 -11
  371. package/dist/lib/build/buildFile.js +0 -84
  372. package/dist/lib/build/buildFiles.js +0 -240
  373. package/dist/lib/build/buildPlugins.js +0 -186
  374. package/dist/lib/build/getCodeFrame.js +0 -9
  375. package/dist/lib/build/minifyFile.js +0 -12
  376. package/dist/lib/build/nodePathExclusions.js +0 -7
  377. package/dist/lib/build/nodePaths.js +0 -12
  378. package/dist/lib/build/onWarn.js +0 -63
  379. package/dist/lib/build/removeDeletedDependenciesFromMap.js +0 -18
  380. package/dist/lib/build/setComponentId.js +0 -46
  381. package/dist/lib/build/updateFileMap.js +0 -67
  382. package/dist/lib/buildResolvePlugin.js +0 -21
  383. package/dist/lib/checkIfValidJSON.js +0 -11
  384. package/dist/lib/colorLog.js +0 -7
  385. package/dist/lib/dev/cleanup.js +0 -18
  386. package/dist/lib/dev/databases/mongodb/availableQueryParameters.js +0 -42
  387. package/dist/lib/dev/databases/mongodb/buildConnectionString.js +0 -22
  388. package/dist/lib/dev/databases/mongodb/buildQueryParameters.js +0 -14
  389. package/dist/lib/dev/databases/mongodb/checkConnection.js +0 -38
  390. package/dist/lib/dev/databases/mongodb/connect.js +0 -25
  391. package/dist/lib/dev/databases/mongodb/index.js +0 -93
  392. package/dist/lib/dev/databases/postgresql/checkConnection.js +0 -41
  393. package/dist/lib/dev/databases/postgresql/connect.js +0 -27
  394. package/dist/lib/dev/databases/postgresql/index.js +0 -106
  395. package/dist/lib/dev/databases/providerMap.js +0 -15
  396. package/dist/lib/dev/getCodependenciesForFile.js +0 -64
  397. package/dist/lib/dev/getFilesToBuild.js +0 -38
  398. package/dist/lib/dev/hmrServer.js +0 -66
  399. package/dist/lib/dev/index.js +0 -559
  400. package/dist/lib/dev/isWindows.js +0 -5
  401. package/dist/lib/dev/loadSettings.js +0 -79
  402. package/dist/lib/dev/readFileDependencyMap.js +0 -16
  403. package/dist/lib/dev/requiredFiles.js +0 -18
  404. package/dist/lib/dev/runBuild.js +0 -30
  405. package/dist/lib/dev/runTests.js +0 -96
  406. package/dist/lib/dev/startApp.js +0 -70
  407. package/dist/lib/dev/startDatabases.js +0 -109
  408. package/dist/lib/dev/startHMR.js +0 -55
  409. package/dist/lib/dev/tests.config.js +0 -6
  410. package/dist/lib/dev/updateFileMap.js +0 -67
  411. package/dist/lib/dev/validateProject.js +0 -0
  412. package/dist/lib/dev/watchlist.js +0 -15
  413. package/dist/lib/filesToCopy.js +0 -18
  414. package/dist/lib/generateId.js +0 -74
  415. package/dist/lib/getArgs.js +0 -14
  416. package/dist/lib/getOptions.js +0 -15
  417. package/dist/lib/getPlatformSafePath.js +0 -7
  418. package/dist/lib/getProcessIdFromPort.js +0 -60
  419. package/dist/lib/getProvider.js +0 -8
  420. package/dist/lib/help.js +0 -56
  421. package/dist/lib/isObject.js +0 -6
  422. package/dist/lib/isValidJSONString.js +0 -11
  423. package/dist/lib/isWindows.js +0 -5
  424. package/dist/lib/killProcesses.js +0 -0
  425. package/dist/lib/loadSettings.js +0 -33
  426. package/dist/lib/masterIgnoreList.js +0 -16
  427. package/dist/lib/nodeEnvironment.js +0 -9
  428. package/dist/lib/nodeEnvironments.js +0 -8
  429. package/dist/lib/parseCookiesFromLogin.js +0 -18
  430. package/dist/lib/rainbowRoad.js +0 -7
  431. package/dist/lib/readDirectorySync.js +0 -14
  432. package/dist/lib/regexes.js +0 -14
  433. package/dist/lib/replaceBackslashesWithForwardSlashes.js +0 -8
  434. package/dist/lib/replaceFileProtocol.js +0 -8
  435. package/dist/lib/serializeQueryParameters.js +0 -8
  436. package/dist/lib/settings.js +0 -4
  437. package/dist/lib/validateDatabasesFromSettings.js +0 -34
  438. package/dist/lib/wait.js +0 -8
  439. package/release.js +0 -40
  440. package/src/functions/build/getTarIgnoreList.js +0 -30
  441. package/src/functions/build/index.js +0 -63
  442. package/src/functions/create/buildPackageJSON.js +0 -18
  443. package/src/functions/create/index.js +0 -209
  444. package/src/functions/create/templates/api/index.js +0 -4
  445. package/src/functions/create/templates/i18n/en-US.js +0 -4
  446. package/src/functions/create/templates/index.client.js +0 -7
  447. package/src/functions/create/templates/index.css +0 -20
  448. package/src/functions/create/templates/public/apple-touch-icon-152x152.png +0 -0
  449. package/src/functions/create/templates/public/favicon.ico +0 -0
  450. package/src/functions/create/templates/public/splash-screen-1024x1024.png +0 -0
  451. package/src/functions/create/templates/ui/pages/error/index.js +0 -31
  452. package/src/functions/create/templates/ui/pages/index/index.js +0 -94
  453. package/src/functions/index.js +0 -269
  454. package/src/functions/logout/index.js +0 -20
  455. package/src/functions/push/checkIfProvisionAvailable.js +0 -20
  456. package/src/functions/push/deploy/index.js +0 -199
  457. package/src/functions/push/deploy/initial.js +0 -108
  458. package/src/functions/push/deploy/version.js +0 -108
  459. package/src/functions/push/domains.js +0 -23
  460. package/src/functions/push/getAvailableCDN.js +0 -27
  461. package/src/functions/push/getDeployment.js +0 -43
  462. package/src/functions/push/getDeploymentSummary.js +0 -39
  463. package/src/functions/push/getInstanceSizeRegions.js +0 -40
  464. package/src/functions/push/getInstanceSizesForRegion.js +0 -35
  465. package/src/functions/push/getProviderInstanceSizes.js +0 -35
  466. package/src/functions/push/getProviderRegions.js +0 -39
  467. package/src/functions/push/getProvidersWithConnectionStatus.js +0 -25
  468. package/src/functions/push/getSessionToken.js +0 -26
  469. package/src/functions/push/getUserFromSessionToken.js +0 -39
  470. package/src/functions/push/index.js +0 -245
  471. package/src/functions/push/loginToCheatCode.js +0 -34
  472. package/src/functions/push/pingProvisionAPI.js +0 -33
  473. package/src/functions/push/prompts.js +0 -276
  474. package/src/functions/push/providerMap.js +0 -8
  475. package/src/functions/push/providers.js +0 -6
  476. package/src/functions/reset/index.js +0 -0
  477. package/src/functions/reset/reset.js +0 -163
  478. package/src/functions/start/bootstrapLayoutComponent.js +0 -57
  479. package/src/functions/start/bootstrapPageComponent.js +0 -54
  480. package/src/functions/start/buildFile.js +0 -97
  481. package/src/functions/start/buildFiles.js +0 -101
  482. package/src/functions/start/buildPlugins.js +0 -215
  483. package/src/functions/start/checkIfPortAvailable.js +0 -21
  484. package/src/functions/start/cleanup/index.js +0 -23
  485. package/src/functions/start/databases/mongodb/availableQueryParameters.js +0 -39
  486. package/src/functions/start/databases/mongodb/buildConnectionString.js +0 -28
  487. package/src/functions/start/databases/mongodb/buildQueryParameters.js +0 -15
  488. package/src/functions/start/databases/mongodb/checkConnection.js +0 -36
  489. package/src/functions/start/databases/mongodb/connect.js +0 -25
  490. package/src/functions/start/databases/mongodb/index.js +0 -108
  491. package/src/functions/start/databases/postgresql/checkConnection.js +0 -43
  492. package/src/functions/start/databases/postgresql/connect.js +0 -27
  493. package/src/functions/start/databases/postgresql/index.js +0 -127
  494. package/src/functions/start/databases/redis.js +0 -0
  495. package/src/functions/start/databases/startProvider.js +0 -15
  496. package/src/functions/start/fileDependencyMapper.js +0 -24
  497. package/src/functions/start/generateId.js +0 -73
  498. package/src/functions/start/getCodependenciesForFile.js +0 -84
  499. package/src/functions/start/getFilesToBuild.js +0 -49
  500. package/src/functions/start/getProcessIdFromPort.js +0 -92
  501. package/src/functions/start/hmrServer.js +0 -78
  502. package/src/functions/start/index.js +0 -9
  503. package/src/functions/start/isWindows.js +0 -3
  504. package/src/functions/start/minifyFile.js +0 -10
  505. package/src/functions/start/onWarn.js +0 -68
  506. package/src/functions/start/readFileDependencyMap.js +0 -19
  507. package/src/functions/start/removeDeletedDependenciesFromMap.js +0 -19
  508. package/src/functions/start/setComponentId.js +0 -58
  509. package/src/functions/start/updateFileMap.js +0 -100
  510. package/src/functions/test/index.js +0 -10
  511. package/src/functions/update/index.js +0 -20
  512. package/src/functions/use/index.js +0 -62
  513. package/src/lib/build/browserPathExclusions.js +0 -6
  514. package/src/lib/build/browserPaths.js +0 -9
  515. package/src/lib/build/buildFile.js +0 -91
  516. package/src/lib/build/buildFiles.js +0 -273
  517. package/src/lib/build/buildPlugins.js +0 -222
  518. package/src/lib/build/getCodeFrame.js +0 -7
  519. package/src/lib/build/minifyFile.js +0 -10
  520. package/src/lib/build/nodePathExclusions.js +0 -5
  521. package/src/lib/build/nodePaths.js +0 -10
  522. package/src/lib/build/onWarn.js +0 -68
  523. package/src/lib/build/removeDeletedDependenciesFromMap.js +0 -19
  524. package/src/lib/build/setComponentId.js +0 -58
  525. package/src/lib/build/updateFileMap.js +0 -100
  526. package/src/lib/buildResolvePlugin.js +0 -32
  527. package/src/lib/checkIfValidJSON.js +0 -8
  528. package/src/lib/colorLog.js +0 -5
  529. package/src/lib/dev/cleanup.js +0 -26
  530. package/src/lib/dev/databases/mongodb/buildConnectionString.js +0 -28
  531. package/src/lib/dev/databases/mongodb/buildQueryParameters.js +0 -15
  532. package/src/lib/dev/databases/mongodb/checkConnection.js +0 -40
  533. package/src/lib/dev/databases/mongodb/connect.js +0 -25
  534. package/src/lib/dev/databases/mongodb/index.js +0 -108
  535. package/src/lib/dev/databases/postgresql/checkConnection.js +0 -43
  536. package/src/lib/dev/databases/postgresql/connect.js +0 -27
  537. package/src/lib/dev/databases/postgresql/index.js +0 -127
  538. package/src/lib/dev/databases/providerMap.js +0 -13
  539. package/src/lib/dev/getCodependenciesForFile.js +0 -84
  540. package/src/lib/dev/getFilesToBuild.js +0 -47
  541. package/src/lib/dev/hmrServer.js +0 -78
  542. package/src/lib/dev/index.js +0 -684
  543. package/src/lib/dev/isWindows.js +0 -3
  544. package/src/lib/dev/loadSettings.js +0 -90
  545. package/src/lib/dev/readFileDependencyMap.js +0 -19
  546. package/src/lib/dev/runBuild.js +0 -33
  547. package/src/lib/dev/runTests.js +0 -122
  548. package/src/lib/dev/startApp.js +0 -79
  549. package/src/lib/dev/startDatabases.js +0 -131
  550. package/src/lib/dev/startHMR.js +0 -62
  551. package/src/lib/dev/tests.config.js +0 -3
  552. package/src/lib/dev/updateFileMap.js +0 -100
  553. package/src/lib/dev/validateProject.js +0 -0
  554. package/src/lib/dev/watchlist.js +0 -13
  555. package/src/lib/filesToCopy.js +0 -15
  556. package/src/lib/generateId.js +0 -73
  557. package/src/lib/getArgs.js +0 -14
  558. package/src/lib/getOptions.js +0 -12
  559. package/src/lib/getProcessIdFromPort.js +0 -92
  560. package/src/lib/getProvider.js +0 -5
  561. package/src/lib/help.js +0 -56
  562. package/src/lib/isObject.js +0 -3
  563. package/src/lib/isValidJSONString.js +0 -8
  564. package/src/lib/killProcesses.js +0 -5
  565. package/src/lib/loadSettings.js +0 -40
  566. package/src/lib/masterIgnoreList.js +0 -13
  567. package/src/lib/nodeEnvironment.js +0 -6
  568. package/src/lib/nodeEnvironments.js +0 -8
  569. package/src/lib/parseCookiesFromLogin.js +0 -21
  570. package/src/lib/readDirectorySync.js +0 -13
  571. package/src/lib/regexes.js +0 -7
  572. package/src/lib/replaceBackslashesWithForwardSlashes.js +0 -8
  573. package/src/lib/replaceFileProtocol.js +0 -8
  574. package/src/lib/serializeQueryParameters.js +0 -5
  575. package/src/lib/settings.js +0 -1
  576. package/src/lib/validateDatabasesFromSettings.js +0 -37
  577. package/src/lib/wait.js +0 -5
  578. package/storage/.verdaccio-db.json +0 -1
  579. /package/{src/lib → .build}/getPlatformSafePath.js +0 -0
  580. /package/{src/lib → .build}/isWindows.js +0 -0
  581. /package/dist/{functions/create/templates → commands/create/template}/public/service-worker.js +0 -0
  582. /package/dist/{functions/create/templates → commands/create/template}/settings.development.json +0 -0
  583. /package/src/{functions/create/templates → commands/create/template}/public/service-worker.js +0 -0
  584. /package/src/{functions/create/templates → commands/create/template}/settings.development.json +0 -0
@@ -1,90 +0,0 @@
1
- /* eslint-disable consistent-return */
2
-
3
- import fs from 'fs';
4
- import CLILog from "../CLILog.js";
5
- import isValidJSONString from "../isValidJSONString.js";
6
-
7
- const warnIfInvalidJSONInSettings = (settings = '') => {
8
- try {
9
- const isValidJSON = isValidJSONString(settings);
10
- const context = process.env.NODE_ENV === 'test' ? 'test' : 'start';
11
-
12
- if (!isValidJSON) {
13
- CLILog(
14
- `Failed to parse settings file. Double-check the syntax in your settings.${process.env.NODE_ENV}.json file at the root of your project and rerun joystick ${context}.`,
15
- {
16
- level: "danger",
17
- docs: `https://cheatcode.co/docs/joystick/environment-settings`,
18
- tools: [{ title: "JSON Linter", url: "https://jsonlint.com/" }],
19
- }
20
- );
21
-
22
- process.exit(0);
23
- }
24
- } catch (exception) {
25
- throw new Error(`[loadSettings.warnIfInvalidJSONInSettings] ${exception.message}`);
26
- }
27
- };
28
-
29
- const getSettings = (settingsPath = '') => {
30
- try {
31
- return fs.readFileSync(settingsPath, 'utf-8');
32
- } catch (exception) {
33
- throw new Error(`[loadSettings.getSettings] ${exception.message}`);
34
- }
35
- };
36
-
37
- const warnIfSettingsNotFound = (settingsPath = '') => {
38
- try {
39
- const hasSettingsFile = fs.existsSync(settingsPath);
40
- const context = process.env.NODE_ENV === 'test' ? 'test' : 'start';
41
-
42
- if (!hasSettingsFile) {
43
- CLILog(
44
- `A settings file could not be found for this environment (${process.env.NODE_ENV}). Create a settings.${process.env.NODE_ENV}.json file at the root of your project and rerun joystick ${context}.`,
45
- {
46
- level: "danger",
47
- docs: `https://cheatcode.co/docs/joystick/cli/${context}`,
48
- }
49
- );
50
-
51
- process.exit(0);
52
- }
53
- } catch (exception) {
54
- throw new Error(`[loadSettings.warnIfSettingsNotFound] ${exception.message}`);
55
- }
56
- };
57
-
58
- const validateOptions = (options) => {
59
- try {
60
- if (!options) throw new Error('options object is required.');
61
- if (!options.environment) throw new Error('options.environment is required.');
62
- } catch (exception) {
63
- throw new Error(`[loadSettings.validateOptions] ${exception.message}`);
64
- }
65
- };
66
-
67
- const loadSettings = (options, { resolve, reject }) => {
68
- try {
69
- validateOptions(options);
70
-
71
- const settingsPath = `${process.cwd()}/settings.${options.environment}.json`;
72
- warnIfSettingsNotFound(settingsPath);
73
- const settings = getSettings(settingsPath);
74
- warnIfInvalidJSONInSettings(settings);
75
-
76
- process.env.JOYSTICK_SETTINGS = settings;
77
-
78
- resolve({
79
- parsed: JSON.parse(settings),
80
- unparsed: settings,
81
- });
82
- } catch (exception) {
83
- reject(`[loadSettings] ${exception.message}`);
84
- }
85
- };
86
-
87
- export default (options) =>
88
- new Promise((resolve, reject) => {
89
- loadSettings(options, { resolve, reject });
90
- });
@@ -1,19 +0,0 @@
1
- import fs from 'fs';
2
-
3
- export default () => {
4
- const fileDependencyMapPath = `.joystick/build/fileMap.json`;
5
-
6
- if (fs.existsSync(fileDependencyMapPath)) {
7
- const fileDependencyMapAsJSON = fs.readFileSync(
8
- fileDependencyMapPath,
9
- "utf-8"
10
- );
11
- const fileMap = fileDependencyMapAsJSON
12
- ? JSON.parse(fileDependencyMapAsJSON)
13
- : {};
14
-
15
- return fileMap;
16
- }
17
-
18
- return {};
19
- };
@@ -1,33 +0,0 @@
1
- /* eslint-disable consistent-return */
2
-
3
- const actionMethod = () => {
4
- try {
5
- // Perform a single step in your action here.
6
- } catch (exception) {
7
- throw new Error(`[runBuild.actionMethod] ${exception.message}`);
8
- }
9
- };
10
-
11
- const validateOptions = (options) => {
12
- try {
13
- if (!options) throw new Error('options object is required.');
14
- if (!options.port) throw new Error('options.port is required.');
15
- } catch (exception) {
16
- throw new Error(`[runBuild.validateOptions] ${exception.message}`);
17
- }
18
- };
19
-
20
- const runBuild = (options, { resolve, reject }) => {
21
- try {
22
- validateOptions(options);
23
- // Call action methods in sequence here.
24
- resolve();
25
- } catch (exception) {
26
- reject(`[runBuild] ${exception.message}`);
27
- }
28
- };
29
-
30
- export default (options) =>
31
- new Promise((resolve, reject) => {
32
- runBuild(options, { resolve, reject });
33
- });
@@ -1,122 +0,0 @@
1
- import child_process from "child_process";
2
- import CLILog from "../CLILog.js";
3
-
4
- const handleAvaSTDERR = (stderr = '', options = {}) => {
5
- try {
6
- // NOTE: Squash output about using a configuration file (we always do in the framework).
7
- if (stderr?.includes('Using configuration')) {
8
- return null;
9
- }
10
-
11
- if (stderr?.includes('No tests found')) {
12
- return CLILog('No tests found. Add tests in the /tests folder at the root of your Joystick app.', {
13
- level: 'danger',
14
- docs: 'https://cheatcode.co/docs/joystick/test/setup',
15
- });
16
- }
17
-
18
- console.log(stderr);
19
- } catch (exception) {
20
- throw new Error(`[runTests.handleAvaSTDERR] ${exception.message}`);
21
- }
22
- };
23
-
24
- const handleAvaSTDOUT = (stdout = '', options = {}) => {
25
- try {
26
- // NOTE: Squash output about using a configuration file (we always do in the framework).
27
- if (stdout?.includes('Using configuration')) {
28
- return null;
29
- }
30
-
31
- if (stdout?.includes('No tests found')) {
32
- CLILog('No tests found. Add tests in the /tests folder at the root of your Joystick app.', {
33
- level: 'danger',
34
- docs: 'https://cheatcode.co/docs/joystick/test/setup',
35
- });
36
-
37
- // NOTE: Do this here because the standard SIGINT and SIGTERM hooks the dev process
38
- // listens for don't catch a clean exit (and the process.exit() hook fires after exit).
39
- options.cleanupProcess.send(JSON.stringify(({ processIds: options?.processIds })));
40
-
41
- return process.exit(0);
42
- }
43
-
44
- console.log(stdout);
45
- } catch (exception) {
46
- throw new Error(`[runTests.handleAvaSTDOUT] ${exception.message}`);
47
- }
48
- };
49
-
50
- const handleAvaSTDIO = (ava = {}, options = {}) => {
51
- try {
52
- ava.stdout.on('data', function (data) {
53
- const string = data.toString();
54
- handleAvaSTDOUT(string, options);
55
- });
56
-
57
- ava.stderr.on('data', function (data) {
58
- const string = data.toString();
59
- handleAvaSTDERR(string, options);
60
- });
61
- } catch (exception) {
62
- throw new Error(`[runTests.handleAvaSTDIO] ${exception.message}`);
63
- }
64
- };
65
-
66
- const runAva = (options = {}) => {
67
- try {
68
- // NOTE: A little bananas to reason through this. In order for Ava to run w/o errors,
69
- // the Ava binary being run here has to be identical to the one used in @joystick.js/test.
70
- // That would equal the copy of Ava that's installed in a Joystick app's node_modules
71
- // directory, not the node_modules directory of the CLI here. We can guarantee that will
72
- // exist for the CLI here because a developer has to install @joystick.js/test which will
73
- // add Ava as a dependency to their app in order to write tests.
74
- const avaPath = `${process.cwd()}/node_modules/.bin/ava`;
75
-
76
- return new Promise((resolve, reject) => {
77
- // NOTE: Despite using the app's node_modules path to reference Ava, we still want to reference
78
- // the internal path here for the default test config in /lib/dev/tests.config.js.
79
- const ava = child_process.exec(`${avaPath} --config ${options?.__dirname}/tests.config.js ${options?.watch ? '--watch' : ''}`, {
80
- stdio: 'inherit',
81
- env: {
82
- ...(process.env),
83
- FORCE_COLOR: "1"
84
- }
85
- }, (error) => {
86
- if (!error) {
87
- resolve();
88
- }
89
- });
90
-
91
- handleAvaSTDIO(ava, options);
92
- });
93
- } catch (exception) {
94
- throw new Error(`[runTests.runAva] ${exception.message}`);
95
- }
96
- };
97
-
98
- const validateOptions = (options) => {
99
- try {
100
- if (!options) throw new Error('options object is required.');
101
- if (!options.__dirname) throw new Error('options.__dirname is required.');
102
- } catch (exception) {
103
- throw new Error(`[runTests.validateOptions] ${exception.message}`);
104
- }
105
- };
106
-
107
- const runTests = async (options, { resolve, reject }) => {
108
- try {
109
- validateOptions(options);
110
-
111
- await runAva(options);
112
-
113
- resolve();
114
- } catch (exception) {
115
- reject(`[runTests] ${exception.message}`);
116
- }
117
- };
118
-
119
- export default (options) =>
120
- new Promise((resolve, reject) => {
121
- runTests(options, { resolve, reject });
122
- });
@@ -1,79 +0,0 @@
1
- import child_process from "child_process";
2
- import path from "path";
3
-
4
- const handleStartServerProcess = (execArgv = {}, sessionsBeforeHMRUpdate = {}) => {
5
- try {
6
- process.loader.text('Starting app...');
7
-
8
- return child_process.fork(
9
- path.resolve(".joystick/build/index.server.js"),
10
- [],
11
- {
12
- execArgv,
13
- // NOTE: Pipe stdin, stdout, and stderr. IPC establishes a message channel so we
14
- // communicate with the child_process.
15
- silent: true,
16
- env: {
17
- FORCE_COLOR: "1",
18
- LOGS_PATH: process.env.LOGS_PATH,
19
- NODE_ENV: process.env.NODE_ENV,
20
- ROOT_URL: process.env.ROOT_URL,
21
- PORT: process.env.PORT,
22
- JOYSTICK_SETTINGS: process.env.JOYSTICK_SETTINGS,
23
- HMR_SESSIONS: JSON.stringify(sessionsBeforeHMRUpdate),
24
- },
25
- }
26
- );
27
- } catch (exception) {
28
- throw new Error(`[startApp.handleStartServerProcess] ${exception.message}`);
29
- }
30
- };
31
-
32
- const getExecArgs = (nodeMajorVersion = 0) => {
33
- try {
34
- const execArgv = ["--no-warnings"];
35
-
36
- if (nodeMajorVersion < 19) {
37
- execArgv.push("--experimental-specifier-resolution=node");
38
- }
39
-
40
- if (
41
- process.env.NODE_ENV === "development" &&
42
- process.env.IS_DEBUG_MODE === "true"
43
- ) {
44
- execArgv.push("--inspect");
45
- }
46
-
47
- return execArgv;
48
- } catch (exception) {
49
- throw new Error(`[startApp.getExecArgs] ${exception.message}`);
50
- }
51
- };
52
-
53
- const validateOptions = (options) => {
54
- try {
55
- if (!options) throw new Error('options object is required.');
56
- if (!options.nodeMajorVersion) throw new Error('options.nodeMajorVersion is required.');
57
- if (!options.port) throw new Error('options.port is required.');
58
- } catch (exception) {
59
- throw new Error(`[startApp.validateOptions] ${exception.message}`);
60
- }
61
- };
62
-
63
- const startApp = (options, { resolve, reject }) => {
64
- try {
65
- validateOptions(options);
66
-
67
- const execArgv = getExecArgs(options?.nodeMajorVersion);
68
- const serverProcess = handleStartServerProcess(execArgv, options?.sessionsBeforeHMRUpdate);
69
-
70
- return resolve(serverProcess);
71
- } catch (exception) {
72
- reject(`[startApp] ${exception.message}`);
73
- }
74
- };
75
-
76
- export default (options) =>
77
- new Promise((resolve, reject) => {
78
- startApp(options, { resolve, reject });
79
- });
@@ -1,131 +0,0 @@
1
- /* eslint-disable consistent-return */
2
-
3
- import CLILog from "../CLILog.js";
4
- import providerMap from "./databases/providerMap.js";
5
- import { isObject } from '../types.js';
6
-
7
- const startDatabaseProvider = async (
8
- environment = 'development',
9
- database = {},
10
- port = 2610,
11
- hasMultipleOfProvider = false
12
- ) => {
13
- try {
14
- const provider = providerMap[database?.provider];
15
-
16
- if (provider) {
17
- process.loader.text(`Starting ${provider?.name}...`);
18
-
19
- process._databases = {
20
- ...(process._databases || {}),
21
- [database.provider]: !hasMultipleOfProvider ? await provider.connect(database, port, environment) : {
22
- ...((process._databases && process._databases[database.provider]) || {}),
23
- [database?.name || `${database.provider}_${port}`]: await provider.connect(database, port, environment)
24
- },
25
- };
26
- }
27
-
28
- return Promise.resolve(process._databases || {});
29
- } catch (exception) {
30
- throw new Error(`[startDatabases.startDatabaseProvider] ${exception.message}`);
31
- }
32
- };
33
-
34
- const startDatabaseProviders = async (databases = [], databasePortStart = 2610, environment = '') => {
35
- try {
36
- for (let i = 0; i < databases?.length; i += 1) {
37
- const database = databases[i];
38
- const hasMultipleOfProvider = (databases?.filter((database) => database?.provider === database?.provider))?.length > 1;
39
-
40
- await startDatabaseProvider(
41
- environment,
42
- database,
43
- // NOTE: Increment each database port using index in the databases array from settings if no port
44
- // is assigned in the settings.
45
- database?.port || databasePortStart + i,
46
- hasMultipleOfProvider,
47
- );
48
- }
49
- } catch (exception) {
50
- throw new Error(`[startDatabases.startDatabaseProviders] ${exception.message}`);
51
- }
52
- };
53
-
54
- const validateDatabasesFromSettings = (databases = []) => {
55
- try {
56
- const databasesNotAsObjects = databases.filter(
57
- (database) => !isObject(database)
58
- );
59
-
60
- const userDatabases = databases.filter((database) => !!database.users);
61
- const queueDatabases = databases.filter((database) => !!database.queues);
62
-
63
- if (databasesNotAsObjects && databasesNotAsObjects.length > 0) {
64
- CLILog(`Please ensure that each database in the config.databases array in your settings.${process.env.NODE_ENV}.json is an object. Correct the array and restart your app.`, {
65
- level: 'danger',
66
- docs: 'https://cheatcode.co/docs/joystick/cli/databases',
67
- });
68
-
69
- process.exit(1);
70
- }
71
-
72
- if (userDatabases && userDatabases.length > 1) {
73
- CLILog(`Please select a single database for your user accounts and restart your app.`, {
74
- level: 'danger',
75
- docs: 'https://cheatcode.co/docs/joystick/cli/databases#users',
76
- });
77
-
78
- process.exit(1);
79
- }
80
-
81
- if (queueDatabases && queueDatabases.length > 1) {
82
- CLILog(`Please select a single database for your queues and restart your app.`, {
83
- level: 'danger',
84
- docs: 'https://cheatcode.co/docs/joystick/cli/databases#queues',
85
- });
86
-
87
- process.exit(1);
88
- }
89
-
90
- return true;
91
- } catch (exception) {
92
- throw new Error(`[startDatabases.validateDatabasesFromSettings] ${exception.message}`);
93
- }
94
- };
95
-
96
- const validateOptions = (options) => {
97
- try {
98
- if (!options) throw new Error('options object is required.');
99
- if (!options.environment) throw new Error('options.environment is required.');
100
- if (!options.port) throw new Error('options.port is required.');
101
- if (!options.settings) throw new Error('options.settings is required.');
102
- } catch (exception) {
103
- throw new Error(`[startDatabases.validateOptions] ${exception.message}`);
104
- }
105
- };
106
-
107
- const startDatabases = async (options, { resolve, reject }) => {
108
- try {
109
- validateOptions(options);
110
-
111
- const databases = options?.settings?.config?.databases || [];
112
-
113
- if (databases?.length > 0) {
114
- validateDatabasesFromSettings(databases);
115
- await startDatabaseProviders(
116
- databases,
117
- options?.port + 10,
118
- options?.environment,
119
- );
120
- }
121
-
122
- resolve();
123
- } catch (exception) {
124
- reject(`[startDatabases] ${exception.message}`);
125
- }
126
- };
127
-
128
- export default (options) =>
129
- new Promise((resolve, reject) => {
130
- startDatabases(options, { resolve, reject });
131
- });
@@ -1,62 +0,0 @@
1
- import child_process from "child_process";
2
- import path from "path";
3
-
4
- const handleStartHMRProcess = (execArgv = {}, __dirname = '') => {
5
- try {
6
- // NOTE: Port is automatically pulled via process.env.PORT
7
- // in the hmrServer.js script.
8
- return child_process.fork(
9
- path.resolve(`${__dirname}/hmrServer.js`),
10
- [],
11
- {
12
- execArgv,
13
- // NOTE: Pipe stdin, stdout, and stderr. IPC establishes a message channel so we
14
- // communicate with the child_process.
15
- silent: true,
16
- }
17
- );
18
- } catch (exception) {
19
- throw new Error(`[startHMR.handleStartHMRProcess] ${exception.message}`);
20
- }
21
- };
22
-
23
- const getExecArgs = (nodeMajorVersion = 0) => {
24
- try {
25
- const execArgv = ["--no-warnings"];
26
-
27
- if (nodeMajorVersion < 19) {
28
- execArgv.push("--experimental-specifier-resolution=node");
29
- }
30
-
31
- return execArgv;
32
- } catch (exception) {
33
- throw new Error(`[startHMR.getExecArgs] ${exception.message}`);
34
- }
35
- };
36
-
37
- const validateOptions = (options) => {
38
- try {
39
- if (!options) throw new Error('options object is required.');
40
- if (!options.nodeMajorVersion) throw new Error('options.nodeMajorVersion is required.');
41
- } catch (exception) {
42
- throw new Error(`[startHMR.validateOptions] ${exception.message}`);
43
- }
44
- };
45
-
46
- const startHMR = (options, { resolve, reject }) => {
47
- try {
48
- validateOptions(options);
49
-
50
- const execArgv = getExecArgs(options?.nodeMajorVersion);
51
- const hmrProcess = handleStartHMRProcess(execArgv, options?.__dirname);
52
-
53
- return resolve(hmrProcess);
54
- } catch (exception) {
55
- reject(`[startHMR] ${exception.message}`);
56
- }
57
- };
58
-
59
- export default (options) =>
60
- new Promise((resolve, reject) => {
61
- startHMR(options, { resolve, reject });
62
- });
@@ -1,3 +0,0 @@
1
- export default {
2
- files: [`tests/**/*`]
3
- };
@@ -1,100 +0,0 @@
1
- import fs from "fs";
2
- import * as acorn from "acorn";
3
-
4
- const getImportsAndRequires = (map = {}) => {
5
- const { body } = map;
6
-
7
- const imports =
8
- body &&
9
- body.filter(({ type }) => {
10
- return type === "ImportDeclaration";
11
- });
12
-
13
- const requires =
14
- body &&
15
- body.filter((statement) => {
16
- const type = statement && statement.type;
17
- const declarations = (statement && statement.declarations) || [];
18
-
19
- const isVariableDeclaration = type === "VariableDeclaration";
20
-
21
- const hasRequireStatement = declarations.some((declaration) => {
22
- const isVariableDeclarator = declaration.type === "VariableDeclarator";
23
- const calleeName =
24
- declaration &&
25
- declaration.init &&
26
- declaration.init.callee &&
27
- declaration.init.callee.name;
28
- return isVariableDeclarator && calleeName === "require";
29
- });
30
-
31
- return isVariableDeclaration && hasRequireStatement;
32
- });
33
-
34
- return {
35
- imports: imports.map((importDeclaration) => {
36
- return {
37
- path:
38
- importDeclaration &&
39
- importDeclaration.source &&
40
- importDeclaration.source.value,
41
- };
42
- }),
43
- requires: requires.map((requireDeclaration) => {
44
- const declarations = requireDeclaration.declarations;
45
- const declaration = declarations && declarations[0];
46
-
47
- return {
48
- path:
49
- declaration &&
50
- declaration.init &&
51
- declaration.init.arguments &&
52
- declaration.init.arguments[0] &&
53
- declaration.init.arguments[0].value,
54
- };
55
- }),
56
- };
57
- };
58
-
59
- const parseFileToAST = (source = "") => {
60
- return acorn.parse(source, {
61
- ecmaVersion: "latest",
62
- sourceType: "module",
63
- });
64
- };
65
-
66
- const readFileDependencyMap = () => {
67
- const fileDependencyMapPath = `.joystick/build/fileMap.json`;
68
-
69
- if (fs.existsSync(fileDependencyMapPath)) {
70
- const fileDependencyMapAsJSON = fs.readFileSync(
71
- fileDependencyMapPath,
72
- "utf-8"
73
- );
74
- const fileMap = fileDependencyMapAsJSON
75
- ? JSON.parse(fileDependencyMapAsJSON)
76
- : {};
77
-
78
- return fileMap;
79
- }
80
-
81
- return {};
82
- };
83
-
84
- export default (path = "", source = "") => {
85
- try {
86
- const fileDependencyMap = readFileDependencyMap();
87
- const fileAST = parseFileToAST(source);
88
- const imports = fileAST ? getImportsAndRequires(fileAST) : [];
89
-
90
- fileDependencyMap[path] = imports;
91
-
92
- fs.writeFileSync(
93
- `.joystick/build/fileMap.json`,
94
- JSON.stringify(fileDependencyMap, null, 2)
95
- );
96
- } catch (exception) {
97
- // Do nothing. This exists to handle acorn parsing errors that are also picked
98
- // up by the esbuild parser (we want to defer to esbuild).
99
- }
100
- };
File without changes
@@ -1,13 +0,0 @@
1
- import filesToCopy from "../filesToCopy.js";
2
-
3
- export default [
4
- { path: "api" },
5
- { path: "email" },
6
- { path: "fixtures" },
7
- { path: "lib" },
8
- { path: "ui" },
9
- { path: "routes" },
10
- { path: "index.client.js" },
11
- { path: "index.server.js" },
12
- ...filesToCopy,
13
- ];
@@ -1,15 +0,0 @@
1
- export default [
2
- { path: "css", regex: new RegExp(/^css\//) },
3
- { path: "i18n", regex: new RegExp(/^i18n\//) },
4
- { path: "public", regex: new RegExp(/^public\//) },
5
- { path: "private", regex: new RegExp(/^private\//) },
6
- { path: "index.html", regex: new RegExp(/^index.html/) },
7
- { path: "index.css", regex: new RegExp(/^index.css/) },
8
- { path: "package.json", regex: new RegExp(/^package.json/) },
9
- { path: "package-lock.json", regex: new RegExp(/^package-lock.json/) },
10
- { path: "settings.development.json", regex: new RegExp(/^settings.development.json/) },
11
- { path: "settings.staging.json", regex: new RegExp(/^settings.staging.json/) },
12
- { path: "settings.test.json", regex: new RegExp(/^settings.test.json/) },
13
- { path: "settings.production.json", regex: new RegExp(/^settings.production.json/) },
14
- { path: ".html", regex: new RegExp(/^([0-9a-zA-Z-._])+.html/) },
15
- ];