@joystick.js/cli-canary 0.0.0-canary.67 → 0.0.0-canary.670

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (563) hide show
  1. package/.build/getFilesToBuild.js +1 -1
  2. package/.build/index.js +3 -3
  3. package/dist/cli.js +1 -69
  4. package/dist/commands/build/definition.js +1 -0
  5. package/dist/commands/build/index.js +1 -0
  6. package/dist/commands/create/build_package_json.js +1 -0
  7. package/dist/commands/create/definition.js +1 -0
  8. package/dist/commands/create/index.js +2 -0
  9. package/dist/commands/create/template/api/index.js +6 -0
  10. package/dist/commands/create/template/email/base.css +9 -0
  11. package/dist/commands/create/template/email/base.html +10 -0
  12. package/dist/commands/create/template/email/reset_password.js +20 -0
  13. package/dist/commands/create/template/i18n/en-US.js +14 -0
  14. package/dist/commands/create/template/index.client.js +1 -0
  15. package/dist/commands/create/template/index.css +34 -0
  16. package/dist/{functions/create/templates → commands/create/template}/index.html +2 -3
  17. package/dist/{functions/create/templates → commands/create/template}/index.server.js +6 -6
  18. package/dist/commands/create/template/public/apple-touch-icon-152x152.png +0 -0
  19. package/dist/commands/create/template/public/favicon.ico +0 -0
  20. package/dist/commands/create/template/public/joystick_logo.webp +0 -0
  21. package/dist/{functions/create/templates → commands/create/template}/public/manifest.json +4 -4
  22. package/dist/commands/create/template/public/splash-screen-1024x1024.png +0 -0
  23. package/{src/functions/create/templates → dist/commands/create/template}/ui/components/button/index.js +14 -6
  24. package/{src/functions/create/templates → dist/commands/create/template}/ui/layouts/app/index.js +2 -2
  25. package/dist/commands/create/template/ui/pages/error/index.js +50 -0
  26. package/dist/commands/create/template/ui/pages/index/index.js +121 -0
  27. package/dist/commands/help/definition.js +1 -0
  28. package/dist/commands/help/index.js +19 -0
  29. package/dist/commands/index.js +1 -0
  30. package/dist/commands/logout/definition.js +1 -0
  31. package/dist/commands/logout/index.js +3 -0
  32. package/dist/commands/push/cdn_mirrors.js +1 -0
  33. package/dist/commands/push/check_if_settings_valid.js +1 -0
  34. package/dist/commands/push/create_version.js +1 -0
  35. package/dist/commands/push/definition.js +1 -0
  36. package/dist/commands/push/get_app_domain.js +1 -0
  37. package/dist/commands/push/get_deployment.js +1 -0
  38. package/dist/commands/push/get_provision_domain.js +1 -0
  39. package/dist/commands/push/get_session_token.js +1 -0
  40. package/dist/commands/push/get_settings_file.js +1 -0
  41. package/dist/commands/push/handle_initial_deployment.js +1 -0
  42. package/dist/commands/push/handle_version_deployment.js +1 -0
  43. package/dist/commands/push/index.js +8 -0
  44. package/dist/commands/push/prompts/confirm_deployment.js +17 -0
  45. package/dist/commands/push/prompts/session_token.js +5 -0
  46. package/dist/commands/push/upload_build_to_cdn.js +1 -0
  47. package/dist/commands/push/validate_deployment.js +1 -0
  48. package/dist/commands/push/validate_push_config.js +1 -0
  49. package/dist/commands/start/definition.js +1 -0
  50. package/dist/commands/start/index.js +1 -0
  51. package/dist/commands/test/definition.js +1 -0
  52. package/dist/commands/test/index.js +1 -0
  53. package/dist/commands/update/definition.js +1 -0
  54. package/dist/commands/update/index.js +1 -0
  55. package/dist/commands/use/definition.js +1 -0
  56. package/dist/commands/use/index.js +1 -0
  57. package/dist/index.js +1 -7
  58. package/dist/lib/build/browser_path_exclusions.js +1 -0
  59. package/dist/lib/build/browser_paths.js +1 -0
  60. package/dist/lib/build/build_files.js +3 -0
  61. package/dist/lib/build/copy_paths.js +1 -0
  62. package/dist/lib/build/get_code_frame.js +1 -0
  63. package/dist/lib/build/get_file_operation.js +1 -0
  64. package/dist/lib/build/get_files_to_build.js +1 -0
  65. package/dist/lib/build/get_path_platform.js +1 -0
  66. package/dist/lib/build/get_platform_safe_path.js +1 -0
  67. package/dist/lib/build/get_tar_ignore_list.js +2 -0
  68. package/dist/lib/build/index.js +3 -0
  69. package/dist/lib/build/master_ignore_list.js +1 -0
  70. package/dist/lib/build/minify_file.js +1 -0
  71. package/dist/lib/build/node_paths.js +1 -0
  72. package/dist/lib/build/on_warn.js +10 -0
  73. package/dist/lib/build/plugins/bootstrap_component.js +33 -0
  74. package/dist/lib/build/plugins/generate_file_dependency_map.js +1 -0
  75. package/dist/lib/build/plugins/index.js +1 -0
  76. package/dist/lib/build/plugins/set_component_id.js +2 -0
  77. package/dist/lib/build/plugins/update_file_map.js +1 -0
  78. package/dist/lib/build/plugins/warn_node_environment.js +3 -0
  79. package/dist/lib/cli_log.js +13 -0
  80. package/dist/lib/color_log.js +1 -0
  81. package/dist/lib/command_exists.js +1 -0
  82. package/dist/lib/constants.js +1 -4
  83. package/dist/lib/debounce.js +1 -0
  84. package/dist/lib/decrypt_buffer.js +1 -0
  85. package/dist/lib/development_server/ava_config.js +1 -0
  86. package/dist/lib/development_server/check_if_port_occupied.js +1 -0
  87. package/dist/lib/development_server/cleanup.js +1 -0
  88. package/dist/lib/development_server/databases/mongodb/available_query_parameters.js +1 -0
  89. package/dist/lib/development_server/databases/mongodb/build_connection_string.js +1 -0
  90. package/dist/lib/development_server/databases/mongodb/build_query_parameters.js +1 -0
  91. package/dist/lib/development_server/databases/mongodb/check_connection.js +2 -0
  92. package/dist/lib/development_server/databases/mongodb/connect.js +1 -0
  93. package/dist/lib/development_server/databases/mongodb/index.js +5 -0
  94. package/dist/lib/development_server/databases/postgresql/check_connection.js +2 -0
  95. package/dist/lib/development_server/databases/postgresql/connect.js +1 -0
  96. package/dist/lib/development_server/databases/postgresql/index.js +2 -0
  97. package/dist/lib/development_server/databases/provider_map.js +1 -0
  98. package/dist/lib/development_server/get_database_process_ids.js +1 -0
  99. package/dist/lib/development_server/get_translations.js +1 -0
  100. package/dist/lib/development_server/hmr_server.js +1 -0
  101. package/dist/lib/development_server/index.js +10 -0
  102. package/dist/lib/development_server/kill_process_ids.js +1 -0
  103. package/dist/lib/development_server/run_tests.js +2 -0
  104. package/dist/lib/development_server/start_app_server.js +1 -0
  105. package/dist/lib/development_server/start_databases.js +1 -0
  106. package/dist/lib/development_server/start_hmr_server.js +1 -0
  107. package/dist/lib/development_server/watch_for_changes/browser_path_exclusions.js +1 -0
  108. package/dist/lib/development_server/watch_for_changes/browser_paths.js +1 -0
  109. package/dist/lib/development_server/watch_for_changes/get_after_run_tasks.js +1 -0
  110. package/dist/lib/development_server/watch_for_changes/get_file_codependencies.js +1 -0
  111. package/dist/lib/development_server/watch_for_changes/get_platform_safe_path.js +1 -0
  112. package/dist/lib/development_server/watch_for_changes/index.js +1 -0
  113. package/dist/lib/development_server/watch_for_changes/node_paths.js +1 -0
  114. package/dist/lib/development_server/watch_for_changes/read_file_dependency_map.js +1 -0
  115. package/dist/lib/development_server/watch_for_changes/watch_paths.js +1 -0
  116. package/dist/lib/dynamic_import.js +1 -0
  117. package/dist/lib/encrypt_buffer.js +1 -0
  118. package/dist/lib/generate_id.js +1 -0
  119. package/dist/lib/get_files_in_path.js +1 -0
  120. package/dist/lib/get_platform_safe_path.js +1 -0
  121. package/dist/lib/get_process_id_from_port.js +2 -0
  122. package/dist/lib/is_valid_json_string.js +1 -0
  123. package/dist/lib/kill_port_process.js +1 -0
  124. package/dist/lib/kill_process_id.js +1 -0
  125. package/dist/lib/load_settings.js +1 -0
  126. package/dist/lib/loader.js +2 -82
  127. package/dist/lib/log_bars.js +1 -0
  128. package/dist/lib/node_path_polyfills.js +1 -0
  129. package/dist/lib/parse_args.js +1 -0
  130. package/dist/lib/parse_options.js +1 -0
  131. package/dist/lib/path_exists.js +1 -0
  132. package/dist/lib/rainbow_road.js +1 -0
  133. package/dist/lib/replace_in_files.js +1 -0
  134. package/dist/lib/required_files.js +1 -0
  135. package/dist/lib/serialize_query_parameters.js +1 -0
  136. package/dist/lib/types.js +1 -6
  137. package/increment_version.js +3 -0
  138. package/package.json +18 -37
  139. package/src/cli.js +63 -46
  140. package/src/commands/build/definition.js +58 -0
  141. package/src/commands/build/index.js +7 -0
  142. package/src/commands/create/build_package_json.js +20 -0
  143. package/src/commands/create/definition.js +35 -0
  144. package/src/commands/create/index.js +71 -0
  145. package/src/commands/create/template/api/index.js +6 -0
  146. package/src/commands/create/template/email/base.css +9 -0
  147. package/src/commands/create/template/email/base.html +10 -0
  148. package/src/commands/create/template/email/reset_password.js +20 -0
  149. package/src/commands/create/template/i18n/en-US.js +14 -0
  150. package/src/commands/create/template/index.client.js +1 -0
  151. package/src/commands/create/template/index.css +34 -0
  152. package/src/{functions/create/templates → commands/create/template}/index.html +2 -3
  153. package/src/{functions/create/templates → commands/create/template}/index.server.js +6 -6
  154. package/src/commands/create/template/public/apple-touch-icon-152x152.png +0 -0
  155. package/src/commands/create/template/public/favicon.ico +0 -0
  156. package/src/commands/create/template/public/joystick_logo.webp +0 -0
  157. package/src/{functions/create/templates → commands/create/template}/public/manifest.json +4 -4
  158. package/src/commands/create/template/public/splash-screen-1024x1024.png +0 -0
  159. package/{dist/functions/create/templates → src/commands/create/template}/ui/components/button/index.js +14 -6
  160. package/{dist/functions/create/templates → src/commands/create/template}/ui/layouts/app/index.js +2 -2
  161. package/src/commands/create/template/ui/pages/error/index.js +50 -0
  162. package/src/commands/create/template/ui/pages/index/index.js +121 -0
  163. package/src/commands/help/definition.js +12 -0
  164. package/src/commands/help/index.js +48 -0
  165. package/src/commands/index.js +23 -0
  166. package/src/commands/logout/definition.js +10 -0
  167. package/src/commands/logout/index.js +20 -0
  168. package/src/commands/push/cdn_mirrors.js +7 -0
  169. package/src/commands/push/check_if_settings_valid.js +10 -0
  170. package/src/commands/push/create_version.js +20 -0
  171. package/src/commands/push/definition.js +43 -0
  172. package/src/commands/push/get_app_domain.js +11 -0
  173. package/src/commands/push/get_deployment.js +19 -0
  174. package/src/commands/push/get_provision_domain.js +9 -0
  175. package/src/commands/push/get_session_token.js +31 -0
  176. package/src/commands/push/get_settings_file.js +47 -0
  177. package/src/commands/push/handle_initial_deployment.js +24 -0
  178. package/src/commands/push/handle_version_deployment.js +23 -0
  179. package/src/commands/push/index.js +190 -0
  180. package/src/commands/push/prompts/confirm_deployment.js +73 -0
  181. package/src/commands/push/prompts/session_token.js +11 -0
  182. package/src/commands/push/upload_build_to_cdn.js +59 -0
  183. package/src/commands/push/validate_deployment.js +19 -0
  184. package/src/commands/push/validate_push_config.js +18 -0
  185. package/src/commands/start/definition.js +58 -0
  186. package/src/commands/start/index.js +11 -0
  187. package/src/commands/test/definition.js +28 -0
  188. package/src/commands/test/index.js +12 -0
  189. package/src/commands/update/definition.js +28 -0
  190. package/src/commands/update/index.js +29 -0
  191. package/src/commands/use/definition.js +19 -0
  192. package/src/commands/use/index.js +54 -0
  193. package/src/index.js +0 -0
  194. package/src/lib/build/browser_path_exclusions.js +8 -0
  195. package/src/lib/build/browser_paths.js +11 -0
  196. package/src/lib/build/build_files.js +161 -0
  197. package/src/{functions/start/filesToCopy.js → lib/build/copy_paths.js} +7 -5
  198. package/src/lib/build/get_code_frame.js +11 -0
  199. package/src/lib/build/get_file_operation.js +25 -0
  200. package/src/lib/build/get_files_to_build.js +36 -0
  201. package/src/lib/build/get_path_platform.js +32 -0
  202. package/src/lib/build/get_platform_safe_path.js +6 -0
  203. package/src/lib/build/get_tar_ignore_list.js +41 -0
  204. package/src/lib/build/index.js +101 -0
  205. package/src/lib/build/master_ignore_list.js +14 -0
  206. package/src/lib/build/minify_file.js +15 -0
  207. package/src/lib/build/node_paths.js +17 -0
  208. package/src/lib/build/on_warn.js +70 -0
  209. package/src/lib/build/plugins/bootstrap_component.js +191 -0
  210. package/src/lib/build/plugins/generate_file_dependency_map.js +20 -0
  211. package/src/lib/build/plugins/index.js +26 -0
  212. package/src/lib/build/plugins/set_component_id.js +89 -0
  213. package/src/lib/build/plugins/update_file_map.js +98 -0
  214. package/src/lib/build/plugins/warn_node_environment.js +20 -0
  215. package/src/lib/{CLILog.js → cli_log.js} +12 -8
  216. package/src/lib/color_log.js +7 -0
  217. package/src/lib/command_exists.js +16 -0
  218. package/src/lib/constants.js +11 -1
  219. package/src/lib/debounce.js +9 -0
  220. package/src/lib/decrypt_buffer.js +12 -0
  221. package/src/lib/development_server/ava_config.js +14 -0
  222. package/src/lib/development_server/check_if_port_occupied.js +31 -0
  223. package/src/lib/development_server/cleanup.js +15 -0
  224. package/src/lib/{dev/databases/mongodb/availableQueryParameters.js → development_server/databases/mongodb/available_query_parameters.js} +3 -1
  225. package/src/lib/development_server/databases/mongodb/build_connection_string.js +31 -0
  226. package/src/lib/development_server/databases/mongodb/build_query_parameters.js +17 -0
  227. package/src/lib/development_server/databases/mongodb/check_connection.js +41 -0
  228. package/src/lib/development_server/databases/mongodb/connect.js +27 -0
  229. package/src/lib/development_server/databases/mongodb/index.js +118 -0
  230. package/src/lib/development_server/databases/postgresql/check_connection.js +56 -0
  231. package/src/lib/development_server/databases/postgresql/connect.js +33 -0
  232. package/src/lib/development_server/databases/postgresql/index.js +126 -0
  233. package/src/lib/development_server/databases/provider_map.js +15 -0
  234. package/src/lib/development_server/get_database_process_ids.js +28 -0
  235. package/src/lib/development_server/get_translations.js +85 -0
  236. package/src/lib/development_server/hmr_server.js +94 -0
  237. package/src/lib/development_server/index.js +394 -0
  238. package/src/lib/development_server/kill_process_ids.js +8 -0
  239. package/src/lib/development_server/run_tests.js +84 -0
  240. package/src/lib/development_server/start_app_server.js +55 -0
  241. package/src/lib/development_server/start_databases.js +108 -0
  242. package/src/lib/development_server/start_hmr_server.js +36 -0
  243. package/src/lib/development_server/watch_for_changes/browser_path_exclusions.js +8 -0
  244. package/src/lib/development_server/watch_for_changes/browser_paths.js +11 -0
  245. package/src/lib/development_server/watch_for_changes/get_after_run_tasks.js +31 -0
  246. package/src/lib/development_server/watch_for_changes/get_file_codependencies.js +48 -0
  247. package/src/lib/development_server/watch_for_changes/get_platform_safe_path.js +6 -0
  248. package/src/lib/development_server/watch_for_changes/index.js +216 -0
  249. package/src/lib/development_server/watch_for_changes/node_paths.js +16 -0
  250. package/src/lib/development_server/watch_for_changes/read_file_dependency_map.js +18 -0
  251. package/src/lib/development_server/watch_for_changes/watch_paths.js +21 -0
  252. package/src/lib/dynamic_import.js +6 -0
  253. package/src/lib/encrypt_buffer.js +10 -0
  254. package/src/lib/generate_id.js +15 -0
  255. package/src/lib/get_files_in_path.js +25 -0
  256. package/src/lib/get_platform_safe_path.js +8 -0
  257. package/src/lib/get_process_id_from_port.js +26 -0
  258. package/src/lib/is_valid_json_string.js +10 -0
  259. package/src/lib/kill_port_process.js +12 -0
  260. package/src/lib/kill_process_id.js +19 -0
  261. package/src/lib/load_settings.js +43 -0
  262. package/src/lib/loader.js +4 -77
  263. package/src/lib/log_bars.js +7 -0
  264. package/src/lib/node_path_polyfills.js +23 -0
  265. package/src/lib/parse_args.js +16 -0
  266. package/src/lib/parse_options.js +16 -0
  267. package/src/lib/path_exists.js +11 -0
  268. package/src/lib/{rainbowRoad.js → rainbow_road.js} +4 -2
  269. package/src/lib/replace_in_files.js +40 -0
  270. package/src/lib/{dev/requiredFiles.js → required_files.js} +3 -1
  271. package/src/lib/serialize_query_parameters.js +7 -0
  272. package/src/lib/types.js +59 -2
  273. package/HMRNOTES.txt +0 -23
  274. package/README.md +0 -7
  275. package/_package.json +0 -55
  276. package/canary.js +0 -12
  277. package/dist/functions/build/getTarIgnoreList.js +0 -25
  278. package/dist/functions/build/index.js +0 -54
  279. package/dist/functions/create/buildPackageJSON.js +0 -20
  280. package/dist/functions/create/index.js +0 -193
  281. package/dist/functions/create/templates/api/index.js +0 -4
  282. package/dist/functions/create/templates/i18n/en-US.js +0 -4
  283. package/dist/functions/create/templates/index.client.js +0 -7
  284. package/dist/functions/create/templates/index.css +0 -20
  285. package/dist/functions/create/templates/public/apple-touch-icon-152x152.png +0 -0
  286. package/dist/functions/create/templates/public/favicon.ico +0 -0
  287. package/dist/functions/create/templates/public/splash-screen-1024x1024.png +0 -0
  288. package/dist/functions/create/templates/ui/pages/error/index.js +0 -31
  289. package/dist/functions/create/templates/ui/pages/index/index.js +0 -94
  290. package/dist/functions/index.js +0 -243
  291. package/dist/functions/logout/index.js +0 -20
  292. package/dist/functions/push/checkIfProvisionAvailable.js +0 -19
  293. package/dist/functions/push/deploy/index.js +0 -173
  294. package/dist/functions/push/deploy/initial.js +0 -100
  295. package/dist/functions/push/deploy/version.js +0 -100
  296. package/dist/functions/push/domains.js +0 -23
  297. package/dist/functions/push/getAvailableCDN.js +0 -23
  298. package/dist/functions/push/getDeployment.js +0 -41
  299. package/dist/functions/push/getDeploymentSummary.js +0 -38
  300. package/dist/functions/push/getInstanceSizeRegions.js +0 -37
  301. package/dist/functions/push/getInstanceSizesForRegion.js +0 -34
  302. package/dist/functions/push/getProviderInstanceSizes.js +0 -34
  303. package/dist/functions/push/getProviderRegions.js +0 -36
  304. package/dist/functions/push/getProvidersWithConnectionStatus.js +0 -20
  305. package/dist/functions/push/getSessionToken.js +0 -23
  306. package/dist/functions/push/getUserFromSessionToken.js +0 -37
  307. package/dist/functions/push/index.js +0 -210
  308. package/dist/functions/push/loginToCheatCode.js +0 -33
  309. package/dist/functions/push/pingProvisionAPI.js +0 -31
  310. package/dist/functions/push/prompts.js +0 -332
  311. package/dist/functions/push/providerMap.js +0 -11
  312. package/dist/functions/push/providers.js +0 -9
  313. package/dist/functions/reset/index.js +0 -0
  314. package/dist/functions/reset/reset.js +0 -127
  315. package/dist/functions/start/bootstrapLayoutComponent.js +0 -54
  316. package/dist/functions/start/bootstrapPageComponent.js +0 -51
  317. package/dist/functions/start/buildFile.js +0 -85
  318. package/dist/functions/start/buildFiles.js +0 -76
  319. package/dist/functions/start/buildPlugins.js +0 -183
  320. package/dist/functions/start/checkIfPortAvailable.js +0 -18
  321. package/dist/functions/start/cleanup/index.js +0 -18
  322. package/dist/functions/start/databases/mongodb/availableQueryParameters.js +0 -42
  323. package/dist/functions/start/databases/mongodb/buildConnectionString.js +0 -22
  324. package/dist/functions/start/databases/mongodb/buildQueryParameters.js +0 -14
  325. package/dist/functions/start/databases/mongodb/checkConnection.js +0 -35
  326. package/dist/functions/start/databases/mongodb/connect.js +0 -25
  327. package/dist/functions/start/databases/mongodb/index.js +0 -93
  328. package/dist/functions/start/databases/postgresql/checkConnection.js +0 -41
  329. package/dist/functions/start/databases/postgresql/connect.js +0 -27
  330. package/dist/functions/start/databases/postgresql/index.js +0 -106
  331. package/dist/functions/start/databases/redis.js +0 -0
  332. package/dist/functions/start/databases/startProvider.js +0 -16
  333. package/dist/functions/start/fileDependencyMapper.js +0 -22
  334. package/dist/functions/start/filesToCopy.js +0 -18
  335. package/dist/functions/start/generateId.js +0 -74
  336. package/dist/functions/start/getCodependenciesForFile.js +0 -64
  337. package/dist/functions/start/getFilesToBuild.js +0 -39
  338. package/dist/functions/start/getProcessIdFromPort.js +0 -60
  339. package/dist/functions/start/hmrServer.js +0 -66
  340. package/dist/functions/start/index.js +0 -31
  341. package/dist/functions/start/isWindows.js +0 -5
  342. package/dist/functions/start/minifyFile.js +0 -12
  343. package/dist/functions/start/onWarn.js +0 -63
  344. package/dist/functions/start/readFileDependencyMap.js +0 -16
  345. package/dist/functions/start/removeDeletedDependenciesFromMap.js +0 -18
  346. package/dist/functions/start/setComponentId.js +0 -46
  347. package/dist/functions/start/updateFileMap.js +0 -67
  348. package/dist/functions/test/index.js +0 -30
  349. package/dist/functions/update/index.js +0 -21
  350. package/dist/functions/use/index.js +0 -61
  351. package/dist/lib/CLILog.js +0 -49
  352. package/dist/lib/build/browserPathExclusions.js +0 -7
  353. package/dist/lib/build/browserPaths.js +0 -11
  354. package/dist/lib/build/buildFile.js +0 -84
  355. package/dist/lib/build/buildFiles.js +0 -238
  356. package/dist/lib/build/buildPlugins.js +0 -186
  357. package/dist/lib/build/getCodeFrame.js +0 -9
  358. package/dist/lib/build/minifyFile.js +0 -12
  359. package/dist/lib/build/nodePathExclusions.js +0 -7
  360. package/dist/lib/build/nodePaths.js +0 -11
  361. package/dist/lib/build/onWarn.js +0 -63
  362. package/dist/lib/build/removeDeletedDependenciesFromMap.js +0 -18
  363. package/dist/lib/build/setComponentId.js +0 -46
  364. package/dist/lib/build/updateFileMap.js +0 -67
  365. package/dist/lib/buildResolvePlugin.js +0 -21
  366. package/dist/lib/checkIfValidJSON.js +0 -11
  367. package/dist/lib/colorLog.js +0 -7
  368. package/dist/lib/dev/cleanup.js +0 -30
  369. package/dist/lib/dev/databases/mongodb/availableQueryParameters.js +0 -42
  370. package/dist/lib/dev/databases/mongodb/buildConnectionString.js +0 -22
  371. package/dist/lib/dev/databases/mongodb/buildQueryParameters.js +0 -14
  372. package/dist/lib/dev/databases/mongodb/checkConnection.js +0 -38
  373. package/dist/lib/dev/databases/mongodb/connect.js +0 -25
  374. package/dist/lib/dev/databases/mongodb/index.js +0 -93
  375. package/dist/lib/dev/databases/postgresql/checkConnection.js +0 -41
  376. package/dist/lib/dev/databases/postgresql/connect.js +0 -27
  377. package/dist/lib/dev/databases/postgresql/index.js +0 -106
  378. package/dist/lib/dev/databases/providerMap.js +0 -15
  379. package/dist/lib/dev/getCodependenciesForFile.js +0 -64
  380. package/dist/lib/dev/getFilesToBuild.js +0 -38
  381. package/dist/lib/dev/index.js +0 -452
  382. package/dist/lib/dev/isWindows.js +0 -5
  383. package/dist/lib/dev/loadSettings.js +0 -79
  384. package/dist/lib/dev/readFileDependencyMap.js +0 -16
  385. package/dist/lib/dev/requiredFiles.js +0 -18
  386. package/dist/lib/dev/runBuild.js +0 -30
  387. package/dist/lib/dev/runTests.js +0 -30
  388. package/dist/lib/dev/startApp.js +0 -70
  389. package/dist/lib/dev/startDatabases.js +0 -109
  390. package/dist/lib/dev/startHMR.js +0 -55
  391. package/dist/lib/dev/updateFileMap.js +0 -67
  392. package/dist/lib/dev/validateProject.js +0 -0
  393. package/dist/lib/dev/watchlist.js +0 -15
  394. package/dist/lib/filesToCopy.js +0 -18
  395. package/dist/lib/generateId.js +0 -74
  396. package/dist/lib/getArgs.js +0 -14
  397. package/dist/lib/getOptions.js +0 -15
  398. package/dist/lib/getPlatformSafePath.js +0 -7
  399. package/dist/lib/getProcessIdFromPort.js +0 -60
  400. package/dist/lib/getProvider.js +0 -8
  401. package/dist/lib/help.js +0 -56
  402. package/dist/lib/isObject.js +0 -6
  403. package/dist/lib/isValidJSONString.js +0 -11
  404. package/dist/lib/isWindows.js +0 -5
  405. package/dist/lib/killProcesses.js +0 -0
  406. package/dist/lib/loadSettings.js +0 -33
  407. package/dist/lib/masterIgnoreList.js +0 -16
  408. package/dist/lib/nodeEnvironment.js +0 -9
  409. package/dist/lib/nodeEnvironments.js +0 -8
  410. package/dist/lib/parseCookiesFromLogin.js +0 -18
  411. package/dist/lib/rainbowRoad.js +0 -7
  412. package/dist/lib/readDirectorySync.js +0 -14
  413. package/dist/lib/regexes.js +0 -14
  414. package/dist/lib/replaceBackslashesWithForwardSlashes.js +0 -8
  415. package/dist/lib/replaceFileProtocol.js +0 -8
  416. package/dist/lib/serializeQueryParameters.js +0 -8
  417. package/dist/lib/settings.js +0 -4
  418. package/dist/lib/validateDatabasesFromSettings.js +0 -34
  419. package/dist/lib/wait.js +0 -8
  420. package/release.js +0 -40
  421. package/src/functions/build/getTarIgnoreList.js +0 -30
  422. package/src/functions/build/index.js +0 -63
  423. package/src/functions/create/buildPackageJSON.js +0 -18
  424. package/src/functions/create/index.js +0 -209
  425. package/src/functions/create/templates/api/index.js +0 -4
  426. package/src/functions/create/templates/i18n/en-US.js +0 -4
  427. package/src/functions/create/templates/index.client.js +0 -7
  428. package/src/functions/create/templates/index.css +0 -20
  429. package/src/functions/create/templates/public/apple-touch-icon-152x152.png +0 -0
  430. package/src/functions/create/templates/public/favicon.ico +0 -0
  431. package/src/functions/create/templates/public/splash-screen-1024x1024.png +0 -0
  432. package/src/functions/create/templates/ui/pages/error/index.js +0 -31
  433. package/src/functions/create/templates/ui/pages/index/index.js +0 -94
  434. package/src/functions/index.js +0 -243
  435. package/src/functions/logout/index.js +0 -20
  436. package/src/functions/push/checkIfProvisionAvailable.js +0 -20
  437. package/src/functions/push/deploy/index.js +0 -199
  438. package/src/functions/push/deploy/initial.js +0 -108
  439. package/src/functions/push/deploy/version.js +0 -108
  440. package/src/functions/push/domains.js +0 -23
  441. package/src/functions/push/getAvailableCDN.js +0 -27
  442. package/src/functions/push/getDeployment.js +0 -43
  443. package/src/functions/push/getDeploymentSummary.js +0 -39
  444. package/src/functions/push/getInstanceSizeRegions.js +0 -40
  445. package/src/functions/push/getInstanceSizesForRegion.js +0 -35
  446. package/src/functions/push/getProviderInstanceSizes.js +0 -35
  447. package/src/functions/push/getProviderRegions.js +0 -39
  448. package/src/functions/push/getProvidersWithConnectionStatus.js +0 -25
  449. package/src/functions/push/getSessionToken.js +0 -26
  450. package/src/functions/push/getUserFromSessionToken.js +0 -39
  451. package/src/functions/push/index.js +0 -245
  452. package/src/functions/push/loginToCheatCode.js +0 -34
  453. package/src/functions/push/pingProvisionAPI.js +0 -33
  454. package/src/functions/push/prompts.js +0 -276
  455. package/src/functions/push/providerMap.js +0 -8
  456. package/src/functions/push/providers.js +0 -6
  457. package/src/functions/reset/index.js +0 -0
  458. package/src/functions/reset/reset.js +0 -163
  459. package/src/functions/start/bootstrapLayoutComponent.js +0 -57
  460. package/src/functions/start/bootstrapPageComponent.js +0 -54
  461. package/src/functions/start/buildFile.js +0 -97
  462. package/src/functions/start/buildFiles.js +0 -101
  463. package/src/functions/start/buildPlugins.js +0 -215
  464. package/src/functions/start/checkIfPortAvailable.js +0 -21
  465. package/src/functions/start/cleanup/index.js +0 -23
  466. package/src/functions/start/databases/mongodb/availableQueryParameters.js +0 -39
  467. package/src/functions/start/databases/mongodb/buildConnectionString.js +0 -28
  468. package/src/functions/start/databases/mongodb/buildQueryParameters.js +0 -15
  469. package/src/functions/start/databases/mongodb/checkConnection.js +0 -36
  470. package/src/functions/start/databases/mongodb/connect.js +0 -25
  471. package/src/functions/start/databases/mongodb/index.js +0 -108
  472. package/src/functions/start/databases/postgresql/checkConnection.js +0 -43
  473. package/src/functions/start/databases/postgresql/connect.js +0 -27
  474. package/src/functions/start/databases/postgresql/index.js +0 -127
  475. package/src/functions/start/databases/redis.js +0 -0
  476. package/src/functions/start/databases/startProvider.js +0 -15
  477. package/src/functions/start/fileDependencyMapper.js +0 -24
  478. package/src/functions/start/generateId.js +0 -73
  479. package/src/functions/start/getCodependenciesForFile.js +0 -84
  480. package/src/functions/start/getFilesToBuild.js +0 -49
  481. package/src/functions/start/getProcessIdFromPort.js +0 -92
  482. package/src/functions/start/hmrServer.js +0 -78
  483. package/src/functions/start/index.js +0 -701
  484. package/src/functions/start/isWindows.js +0 -3
  485. package/src/functions/start/minifyFile.js +0 -10
  486. package/src/functions/start/onWarn.js +0 -68
  487. package/src/functions/start/readFileDependencyMap.js +0 -19
  488. package/src/functions/start/removeDeletedDependenciesFromMap.js +0 -19
  489. package/src/functions/start/setComponentId.js +0 -58
  490. package/src/functions/start/updateFileMap.js +0 -100
  491. package/src/functions/test/index.js +0 -34
  492. package/src/functions/update/index.js +0 -20
  493. package/src/functions/use/index.js +0 -62
  494. package/src/lib/build/browserPathExclusions.js +0 -5
  495. package/src/lib/build/browserPaths.js +0 -9
  496. package/src/lib/build/buildFile.js +0 -91
  497. package/src/lib/build/buildFiles.js +0 -270
  498. package/src/lib/build/buildPlugins.js +0 -222
  499. package/src/lib/build/getCodeFrame.js +0 -7
  500. package/src/lib/build/minifyFile.js +0 -10
  501. package/src/lib/build/nodePathExclusions.js +0 -5
  502. package/src/lib/build/nodePaths.js +0 -9
  503. package/src/lib/build/onWarn.js +0 -68
  504. package/src/lib/build/removeDeletedDependenciesFromMap.js +0 -19
  505. package/src/lib/build/setComponentId.js +0 -58
  506. package/src/lib/build/updateFileMap.js +0 -100
  507. package/src/lib/buildResolvePlugin.js +0 -32
  508. package/src/lib/checkIfValidJSON.js +0 -8
  509. package/src/lib/colorLog.js +0 -5
  510. package/src/lib/dev/cleanup.js +0 -34
  511. package/src/lib/dev/databases/mongodb/buildConnectionString.js +0 -28
  512. package/src/lib/dev/databases/mongodb/buildQueryParameters.js +0 -15
  513. package/src/lib/dev/databases/mongodb/checkConnection.js +0 -40
  514. package/src/lib/dev/databases/mongodb/connect.js +0 -25
  515. package/src/lib/dev/databases/mongodb/index.js +0 -108
  516. package/src/lib/dev/databases/postgresql/checkConnection.js +0 -43
  517. package/src/lib/dev/databases/postgresql/connect.js +0 -27
  518. package/src/lib/dev/databases/postgresql/index.js +0 -127
  519. package/src/lib/dev/databases/providerMap.js +0 -13
  520. package/src/lib/dev/getCodependenciesForFile.js +0 -84
  521. package/src/lib/dev/getFilesToBuild.js +0 -47
  522. package/src/lib/dev/index.js +0 -560
  523. package/src/lib/dev/isWindows.js +0 -3
  524. package/src/lib/dev/loadSettings.js +0 -90
  525. package/src/lib/dev/readFileDependencyMap.js +0 -19
  526. package/src/lib/dev/runBuild.js +0 -33
  527. package/src/lib/dev/runTests.js +0 -33
  528. package/src/lib/dev/startApp.js +0 -79
  529. package/src/lib/dev/startDatabases.js +0 -131
  530. package/src/lib/dev/startHMR.js +0 -62
  531. package/src/lib/dev/updateFileMap.js +0 -100
  532. package/src/lib/dev/validateProject.js +0 -0
  533. package/src/lib/dev/watchlist.js +0 -13
  534. package/src/lib/filesToCopy.js +0 -15
  535. package/src/lib/generateId.js +0 -73
  536. package/src/lib/getArgs.js +0 -14
  537. package/src/lib/getOptions.js +0 -12
  538. package/src/lib/getProcessIdFromPort.js +0 -92
  539. package/src/lib/getProvider.js +0 -5
  540. package/src/lib/help.js +0 -56
  541. package/src/lib/isObject.js +0 -3
  542. package/src/lib/isValidJSONString.js +0 -8
  543. package/src/lib/killProcesses.js +0 -5
  544. package/src/lib/loadSettings.js +0 -40
  545. package/src/lib/masterIgnoreList.js +0 -13
  546. package/src/lib/nodeEnvironment.js +0 -6
  547. package/src/lib/nodeEnvironments.js +0 -8
  548. package/src/lib/parseCookiesFromLogin.js +0 -21
  549. package/src/lib/readDirectorySync.js +0 -13
  550. package/src/lib/regexes.js +0 -7
  551. package/src/lib/replaceBackslashesWithForwardSlashes.js +0 -8
  552. package/src/lib/replaceFileProtocol.js +0 -8
  553. package/src/lib/serializeQueryParameters.js +0 -5
  554. package/src/lib/settings.js +0 -1
  555. package/src/lib/validateDatabasesFromSettings.js +0 -37
  556. package/src/lib/wait.js +0 -5
  557. package/storage/.verdaccio-db.json +0 -1
  558. /package/{src/lib → .build}/getPlatformSafePath.js +0 -0
  559. /package/{src/lib → .build}/isWindows.js +0 -0
  560. /package/dist/{functions/create/templates → commands/create/template}/public/service-worker.js +0 -0
  561. /package/dist/{functions/create/templates → commands/create/template}/settings.development.json +0 -0
  562. /package/src/{functions/create/templates → commands/create/template}/public/service-worker.js +0 -0
  563. /package/src/{functions/create/templates → commands/create/template}/settings.development.json +0 -0
@@ -0,0 +1,161 @@
1
+ import esbuild from "esbuild";
2
+ import svg from "esbuild-plugin-svg";
3
+ import build_plugins from "./plugins/index.js";
4
+ import get_code_frame from "./get_code_frame.js";
5
+ import minify_file from "../build/minify_file.js";
6
+ import on_warn from "./on_warn.js";
7
+ import path_exists from '../path_exists.js';
8
+
9
+ const handle_build_exception = async (exception = {}, file = '') => {
10
+ const error = exception?.errors && exception?.errors[0];
11
+ const snippet = await path_exists(file) ? await get_code_frame(file, {
12
+ line: error?.location?.line,
13
+ column: error?.location?.column,
14
+ }) : null;
15
+
16
+ await on_warn({
17
+ file,
18
+ stack: exception?.stack,
19
+ line: error?.location?.line,
20
+ column: error?.location?.column,
21
+ snippet,
22
+ lineWithError: error?.location?.lineText?.trim(),
23
+ message: error?.text,
24
+ });
25
+
26
+ return snippet;
27
+ };
28
+
29
+ const handle_parse_file_path_from_exception = (exception = {}) => {
30
+ const raw_error_message = exception?.message?.split(':');
31
+
32
+ // NOTE: If the build error pertains to a file that esbuild CANNOT build, the
33
+ // structure of the error is slightly different, placing the file(s) w/ errors
34
+ // after the string "files:" (which lands at index 3 in the split array).
35
+ if (raw_error_message[2] && raw_error_message[2]?.includes('No loader')) {
36
+ return raw_error_message[3] && raw_error_message[3]?.replace('\n', '') || '';
37
+ }
38
+
39
+ // NOTE: IF the build error is just a syntax error, the offending file will be
40
+ // palced at index 1.
41
+ return raw_error_message[1] && raw_error_message[1]?.replace('\n', '') || '';
42
+ };
43
+
44
+ const handle_build_failure = async (exception = {}) => {
45
+ const file = handle_parse_file_path_from_exception(exception);
46
+ const snippet = await handle_build_exception(exception, file);
47
+
48
+ return {
49
+ success: false,
50
+ path: file,
51
+ error: {
52
+ stack: exception?.stack,
53
+ snippet,
54
+ },
55
+ };
56
+ };
57
+
58
+ const handle_build_for_node = (node_paths = [], options = {}) => {
59
+ return esbuild.build({
60
+ allowOverwrite: true,
61
+ platform: "node",
62
+ format: "esm",
63
+ bundle: false,
64
+ entryPoints: node_paths?.map((file) => file.path),
65
+ entryNames: '[dir]/[name]',
66
+ outdir: options?.output_path || "./.joystick/build",
67
+ outbase: './',
68
+ define: {
69
+ "process.env.NODE_ENV": `'${options?.environment || 'development'}'`,
70
+ },
71
+ logLevel: "silent",
72
+ plugins: [
73
+ build_plugins.warn_node_environment,
74
+ build_plugins.generate_file_dependency_map
75
+ ],
76
+ });
77
+ };
78
+
79
+ const handle_build_for_browser = (browser_paths = [], options = {}) => {
80
+ return esbuild.build({
81
+ allowOverwrite: true,
82
+ target: "es2020",
83
+ platform: "browser",
84
+ format: "esm",
85
+ bundle: true,
86
+ entryPoints: browser_paths?.map((file) => file.path),
87
+ entryNames: '[dir]/[name]',
88
+ outbase: './',
89
+ outdir: options?.output_path || "./.joystick/build",
90
+ define: {
91
+ "process.env.NODE_ENV": `'${options?.environment || 'development'}'`,
92
+ },
93
+ logLevel: 'silent',
94
+ loader: {
95
+ '.svg': 'text',
96
+ },
97
+ plugins: [
98
+ build_plugins.warn_node_environment,
99
+ build_plugins.generate_file_dependency_map,
100
+ build_plugins.bootstrap_component,
101
+ svg(),
102
+ ]
103
+ });
104
+ };
105
+
106
+ const build_files = async (options) => {
107
+ const dirty_files = ['.DS_Store'];
108
+
109
+ const node_files = options?.files?.filter((file) => {
110
+ return !dirty_files?.some((dirty_file) => {
111
+ return file?.path?.includes(dirty_file);
112
+ });
113
+ })?.filter((file) => file?.platform === 'node');
114
+
115
+ const browser_files = options?.files?.filter((file) => {
116
+ return !dirty_files?.some((dirty_file) => {
117
+ return file?.path?.includes(dirty_file);
118
+ });
119
+ })?.filter((file) => file?.platform === 'browser');
120
+
121
+ let node_file_results = [];
122
+ let browser_file_results = [];
123
+
124
+ if (node_files?.length > 0) {
125
+ node_file_results = [await handle_build_for_node(node_files, options)
126
+ .then(() => {
127
+ return { success: true };
128
+ }).catch((exception) => handle_build_failure(exception))];
129
+ }
130
+
131
+ if (browser_files?.length > 0) {
132
+ browser_file_results = [await handle_build_for_browser(browser_files, options)
133
+ .then(() => {
134
+ return { success: true };
135
+ }).catch((exception) => handle_build_failure(exception))];
136
+ }
137
+
138
+ const node_files_have_errors = node_file_results?.some((node_file_result) => !node_file_result?.success);
139
+ const browser_files_have_errors = browser_file_results?.some((browser_file_result) => !browser_file_result?.success);
140
+
141
+ if (node_files_have_errors || browser_files_have_errors) {
142
+ return Promise.reject([
143
+ ...node_file_results,
144
+ ...browser_file_results,
145
+ ]);
146
+ }
147
+
148
+ if (process.env.NODE_ENV !== 'development') {
149
+ await Promise.all([...browser_files, ...node_files].map((file) => {
150
+ return minify_file(`${options?.output_path || "./.joystick/build"}/${file.path}`);
151
+ }));
152
+ }
153
+
154
+ return [
155
+ ...node_file_results,
156
+ ...browser_file_results,
157
+ ];
158
+ };
159
+
160
+ export default build_files;
161
+
@@ -1,8 +1,8 @@
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\//) },
1
+ const copy_paths = [
2
+ { path: "css", regex: new RegExp(process.platform === 'win32' ? /^css\\/ : /^css\//) },
3
+ { path: "i18n", regex: new RegExp(process.platform === 'win32' ? /^i18n\\/ : /^i18n\//) },
4
+ { path: "public", regex: new RegExp(process.platform === 'win32' ? /^public\\/ : /^public\//) },
5
+ { path: "private", regex: new RegExp(process.platform === 'win32' ? /^private\\/ : /^private\//) },
6
6
  { path: "index.html", regex: new RegExp(/^index.html/) },
7
7
  { path: "index.css", regex: new RegExp(/^index.css/) },
8
8
  { path: "package.json", regex: new RegExp(/^package.json/) },
@@ -13,3 +13,5 @@ export default [
13
13
  { path: "settings.production.json", regex: new RegExp(/^settings.production.json/) },
14
14
  { path: ".html", regex: new RegExp(/^([0-9a-zA-Z-._])+.html/) },
15
15
  ];
16
+
17
+ export default copy_paths;
@@ -0,0 +1,11 @@
1
+ import fs from 'fs';
2
+ import { codeFrameColumns } from "@babel/code-frame";
3
+
4
+ const { readFile } = fs.promises;
5
+
6
+ const get_code_frame = async (path = "", location = {}) => {
7
+ const file = await readFile(path, "utf-8");
8
+ return codeFrameColumns(file, { start: location });
9
+ };
10
+
11
+ export default get_code_frame;
@@ -0,0 +1,25 @@
1
+ import copy_paths from "./copy_paths.js";
2
+
3
+ const check_if_is_copy_path = (path = '') => {
4
+ return copy_paths.some((file_to_copy) => {
5
+ return file_to_copy.regex.test(path);
6
+ });
7
+ };
8
+
9
+ const check_if_is_javascript = (file_extension = '') => {
10
+ return file_extension === 'js';
11
+ };
12
+
13
+ const get_file_operation = (path = '') => {
14
+ const file_extension = path?.split('.')?.pop();
15
+ const is_javascript = check_if_is_javascript(file_extension);
16
+ const is_copy_path = check_if_is_copy_path(path);
17
+
18
+ if (!is_javascript || (is_javascript && is_copy_path)) {
19
+ return 'copy_file';
20
+ }
21
+
22
+ return 'build_file';
23
+ };
24
+
25
+ export default get_file_operation;
@@ -0,0 +1,36 @@
1
+ import fs from "fs";
2
+ import get_files_in_path from "../get_files_in_path.js";
3
+ import master_ignore_list from "./master_ignore_list.js";
4
+
5
+ const { stat } = fs.promises;
6
+
7
+ const get_files_to_build = async (excluded_paths = [], context = null) => {
8
+ const files = await get_files_in_path("./", []);
9
+
10
+ const master_ignore_list_filtered_for_context = context && context === 'start' ? master_ignore_list?.filter((file_to_ignore) => {
11
+ return !file_to_ignore.includes('settings');
12
+ }) : master_ignore_list;
13
+
14
+ const filtered_files = files
15
+ .filter((path) => {
16
+ const is_excluded = excluded_paths.some((excluded_path) => {
17
+ return path.includes(excluded_path);
18
+ });
19
+
20
+ return !is_excluded;
21
+ })
22
+ .filter((path) => {
23
+ const is_excluded = master_ignore_list_filtered_for_context.some((excluded_path) => {
24
+ return path.includes(excluded_path);
25
+ });
26
+
27
+ return !is_excluded;
28
+ })
29
+ .filter((path) => {
30
+ return !fs.lstatSync(path).isDirectory();
31
+ });
32
+
33
+ return filtered_files;
34
+ };
35
+
36
+ export default get_files_to_build;
@@ -0,0 +1,32 @@
1
+ import browser_path_exclusions from "./browser_path_exclusions.js";
2
+ import browser_paths from "./browser_paths.js";
3
+ import node_paths from "./node_paths.js";
4
+
5
+ const check_if_node_path = (path = '') => {
6
+ return node_paths.some((node_path) => {
7
+ return path.includes(node_path);
8
+ });
9
+ };
10
+
11
+ const check_if_browser_path = (path = '') => {
12
+ return browser_paths.some((browser_path) => {
13
+ return path.includes(browser_path);
14
+ }) && !browser_path_exclusions.some((browser_path_exclusion) => {
15
+ return path.includes(browser_path_exclusion);
16
+ });
17
+ };
18
+
19
+ const get_path_platform = (path = '') => {
20
+ const is_browser_path = check_if_browser_path(path);
21
+ const is_node_path = check_if_node_path(path);
22
+
23
+ if (is_browser_path) {
24
+ return 'browser';
25
+ }
26
+
27
+ if (is_node_path) {
28
+ return 'node';
29
+ }
30
+ };
31
+
32
+ export default get_path_platform;
@@ -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,41 @@
1
+ import fs from "fs";
2
+ import master_ignore_list from "./master_ignore_list.js";
3
+
4
+ const get_tar_ignore_list = (excluded_paths = []) => {
5
+ const git_ignore = fs.existsSync(".gitignore")
6
+ ? fs.readFileSync(".gitignore", "utf-8")
7
+ : "";
8
+
9
+ const git_ignore_files = git_ignore?.split("\n")?.filter((file) => {
10
+ return !file?.includes("#") && file?.trim() !== "";
11
+ });
12
+
13
+ // NOTE: The ^ character is an anchor to tell tar to only match the pattern
14
+ // to the root path. Without this, it will match all nested paths that resemble
15
+ // the pattern you give it. For example, ./versions will match the api/versions
16
+ // directory too.
17
+ const files_to_ignore = [
18
+ ...(git_ignore_files || [])?.map((ignore) => {
19
+ return `^${ignore}`;
20
+ }),
21
+ ...(excluded_paths || [])?.map((ignore) => {
22
+ return `^${ignore}`;
23
+ }),
24
+ ...(master_ignore_list || [])?.map((ignore) => {
25
+ return `^${ignore}`;
26
+ }),
27
+ "*.tar",
28
+ "*.tar.gz",
29
+ "*.tar.xz",
30
+ ]?.filter((item, itemIndex, array) => {
31
+ return array.indexOf(item) === itemIndex;
32
+ });
33
+
34
+ const exclude_list = `{${files_to_ignore
35
+ ?.map((file_to_ignore) => `"${file_to_ignore}"`)
36
+ .join(",")}}`;
37
+
38
+ return exclude_list;
39
+ };
40
+
41
+ export default get_tar_ignore_list;
@@ -0,0 +1,101 @@
1
+ import chalk from "chalk";
2
+ import child_process from "child_process";
3
+ import fs from 'fs';
4
+ import { dirname } from 'path';
5
+ import util from 'util';
6
+ import build_files from "./build_files.js";
7
+ import get_files_to_build from "./get_files_to_build.js";
8
+ import get_file_operation from "./get_file_operation.js";
9
+ import get_path_platform from "./get_path_platform.js";
10
+ import get_tar_ignore_list from "./get_tar_ignore_list.js";
11
+ import load_settings from "../load_settings.js";
12
+ import Loader from "../loader.js";
13
+ import path_exists from "../path_exists.js";
14
+ import encrypt_buffer from '../../lib/encrypt_buffer.js';
15
+
16
+ const { mkdir, copyFile, readFile, writeFile } = fs.promises;
17
+ const exec = util.promisify(child_process.exec);
18
+
19
+ const get_files_to_build_with_operation_and_platform = (files = []) => {
20
+ return files?.map((file) => {
21
+ return {
22
+ path: file,
23
+ operation: get_file_operation(file),
24
+ platform: get_path_platform(file),
25
+ }
26
+ });
27
+ };
28
+
29
+ const build = async (options = {}) => {
30
+ const loader = new Loader();
31
+
32
+ const build_type = options?.type || 'tar';
33
+ const environment = options?.environment || "production";
34
+
35
+ loader.print(`Building app to ${build_type} for ${environment}...`);
36
+
37
+ const settings = await load_settings(environment);
38
+ const excluded_paths = settings?.config?.build?.excluded_paths || settings?.config?.build?.excludedPaths;
39
+ const files_for_build = await get_files_to_build(excluded_paths);
40
+ const output_path = build_type === 'tar' ? '.build/.tar' : '.build';
41
+ const files_to_build_with_operation_and_platform = get_files_to_build_with_operation_and_platform(files_for_build);
42
+
43
+ if (await path_exists('.build')) {
44
+ await exec(`rm -rf .build`);
45
+ }
46
+
47
+ const files_to_copy = files_to_build_with_operation_and_platform?.filter((file) => {
48
+ return file?.operation === 'copy_file';
49
+ })
50
+
51
+ const files_to_build = files_to_build_with_operation_and_platform?.filter((file) => {
52
+ return file?.operation === 'build_file';
53
+ });
54
+
55
+ for (let i = 0; i < files_to_copy?.length; i += 1) {
56
+ const file_to_copy = files_to_copy[i];
57
+ await mkdir(dirname(`${output_path}/${file_to_copy?.path}`), { recursive: true });
58
+ await copyFile(file_to_copy?.path, `${output_path}/${file_to_copy?.path}`);
59
+ }
60
+
61
+ await build_files({
62
+ files: files_to_build,
63
+ environment,
64
+ output_path,
65
+ }).catch((error) => {
66
+ console.warn(error);
67
+ });
68
+
69
+ if (build_type === "tar") {
70
+ const ignore_list = get_tar_ignore_list(settings?.config?.build?.excludedPaths);
71
+
72
+ await exec(
73
+ `cd ${output_path} && tar --exclude=${ignore_list} -czf ../build.tar.gz .`
74
+ );
75
+
76
+ await exec(`rm -rf ${output_path}`);
77
+ }
78
+
79
+ if (build_type === "tar" && options?.encrypt_build) {
80
+ const build_path = output_path?.replace('/.tar', '/build.tar.gz');
81
+
82
+ const encrypted_build = encrypt_buffer(
83
+ await readFile(build_path),
84
+ options?.encryption_key,
85
+ );
86
+
87
+ await writeFile(`.build/build.encrypted.tar.gz`, encrypted_build);
88
+ }
89
+
90
+ if (!options?.silence_confirmation) {
91
+ console.log(
92
+ chalk.greenBright(`\n✔ App built as ${build_type} to ${build_type === 'tar' ? output_path?.replace('/.tar', '/build.tar.gz') : output_path}!\n`)
93
+ );
94
+ }
95
+
96
+ if (await path_exists('.build/component_id_cache.json')) {
97
+ await exec(`rm -rf .build/component_id_cache.json`);
98
+ }
99
+ };
100
+
101
+ export default build;
@@ -0,0 +1,14 @@
1
+ const master_ignore_list = [
2
+ '.build',
3
+ '.DS_Store',
4
+ '.git',
5
+ '.joystick/build',
6
+ '.joystick/data',
7
+ '.push',
8
+ 'node_modules',
9
+ 'settings.development.json',
10
+ 'settings.staging.json',
11
+ 'settings.production.json',
12
+ ];
13
+
14
+ export default master_ignore_list;
@@ -0,0 +1,15 @@
1
+ import fs from "fs";
2
+ import esbuild from "esbuild";
3
+ import path_exists from "../path_exists.js";
4
+
5
+ const { readFile, writeFile } = fs.promises;
6
+
7
+ const minify_file = async (path = "") => {
8
+ if (await path_exists(path)) {
9
+ const file = await readFile(path, "utf-8");
10
+ const minified = await esbuild.transform(file, { minify: true });
11
+ await writeFile(path, minified.code);
12
+ }
13
+ };
14
+
15
+ export default minify_file;
@@ -0,0 +1,17 @@
1
+ import get_platform_safe_path from "./get_platform_safe_path.js";
2
+
3
+ const node_paths = [
4
+ get_platform_safe_path("api/"),
5
+ get_platform_safe_path("cronJobs/"),
6
+ get_platform_safe_path("cron_jobs/"),
7
+ get_platform_safe_path("fixtures/"),
8
+ get_platform_safe_path("lib/node"),
9
+ get_platform_safe_path("queues/"),
10
+ get_platform_safe_path("routes/"),
11
+ get_platform_safe_path("tests/"),
12
+ get_platform_safe_path("uploaders/"),
13
+ get_platform_safe_path("websockets/"),
14
+ "index.server.js",
15
+ ];
16
+
17
+ export default node_paths;
@@ -0,0 +1,70 @@
1
+ import chalk from "chalk";
2
+ import constants from "../constants.js";
3
+ import get_code_frame from "./get_code_frame.js";
4
+ import rainbow_road from '../rainbow_road.js';
5
+
6
+ const remove_location_data_from_stack_tree = (stack_trace = "") => {
7
+ return stack_trace.replace(constants.OBJECT_REGEX, "");
8
+ };
9
+
10
+ const log_error = (warning = {}) => {
11
+ const snippet_lines = warning?.snippet?.split(`\n`);
12
+
13
+ console.log('\n');
14
+ console.log(`${rainbow_road()}\n`);
15
+
16
+ if (warning.file) {
17
+ console.log(chalk.yellowBright(`Build Error in ${warning?.file}:\n`));
18
+ }
19
+
20
+ if (snippet_lines && snippet_lines.length > 0) {
21
+ snippet_lines.forEach((line) => {
22
+ if (line.includes(`> ${warning.line} |`)) {
23
+ return console.log(` ${chalk.red(line)}`);
24
+ }
25
+
26
+ return console.log(` ${chalk.gray(line)}`);
27
+ });
28
+ }
29
+
30
+ if (warning?.stack) {
31
+ console.log(chalk.magentaBright("\nStack Trace:\n"));
32
+ console.log(chalk.yellow(` ${remove_location_data_from_stack_tree(warning?.stack)}\n`));
33
+ }
34
+
35
+ process.loader.error(
36
+ "Build error. Fix the error above to continue building your app."
37
+ );
38
+ console.log('\n');
39
+ console.log(`${rainbow_road()}\n`);
40
+ };
41
+
42
+ const parse_warning = async (warning = {}, type = "") => {
43
+ if (type && type === "BUILD_ERROR") {
44
+ return {
45
+ file: warning?.file,
46
+ snippet: warning?.snippet ? await get_code_frame(warning.file, {
47
+ line: warning?.line,
48
+ column: warning?.column,
49
+ }) : '',
50
+ stack: warning?.stack,
51
+ line: warning?.line,
52
+ character: warning?.column,
53
+ message: warning?.message,
54
+ };
55
+ }
56
+
57
+ return null;
58
+ };
59
+
60
+ const on_warn = async (warning) => {
61
+ const parsed_warning = await parse_warning(warning, "BUILD_ERROR");
62
+
63
+ if (parsed_warning) {
64
+ log_error(parsed_warning);
65
+ }
66
+
67
+ return parsed_warning;
68
+ };
69
+
70
+ export default on_warn;