@joystick.js/node-canary 0.0.0-canary.43 → 0.0.0-canary.430

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 (441) hide show
  1. package/.build/getFilesToBuild.js +26 -0
  2. package/.build/getPlatformSafeFilePath.js +6 -0
  3. package/.build/getPlatformSafePath.js +6 -0
  4. package/.build/index.js +88 -0
  5. package/.build/isWindows.js +3 -0
  6. package/dist/action/class.js +1 -82
  7. package/dist/action/index.js +1 -8
  8. package/dist/app/accounts/default_user_output_fields.js +1 -0
  9. package/dist/app/accounts/delete_user.js +1 -0
  10. package/dist/app/accounts/generate_account_session.js +1 -0
  11. package/dist/app/accounts/generate_password_reset_token.js +1 -0
  12. package/dist/app/accounts/get_browser_safe_user.js +1 -0
  13. package/dist/app/accounts/has_login_token_expired.js +1 -0
  14. package/dist/app/accounts/index.js +1 -29
  15. package/dist/app/accounts/login.js +1 -59
  16. package/dist/app/accounts/recover_password.js +1 -0
  17. package/dist/app/accounts/reset_password.js +1 -0
  18. package/dist/app/accounts/roles/add.js +1 -7
  19. package/dist/app/accounts/roles/grant.js +1 -7
  20. package/dist/app/accounts/roles/index.js +1 -17
  21. package/dist/app/accounts/roles/list.js +1 -7
  22. package/dist/app/accounts/roles/remove.js +1 -7
  23. package/dist/app/accounts/roles/revoke.js +1 -7
  24. package/dist/app/accounts/roles/user_has_role.js +1 -0
  25. package/dist/app/accounts/send_email_verification.js +1 -0
  26. package/dist/app/accounts/set_account_cookie.js +1 -0
  27. package/dist/app/accounts/set_password.js +1 -0
  28. package/dist/app/accounts/signup.js +1 -97
  29. package/dist/app/accounts/unset_account_cookie.js +1 -0
  30. package/dist/app/accounts/verify_email.js +1 -0
  31. package/dist/app/api/accounts/authenticated.js +1 -0
  32. package/dist/app/api/accounts/login.js +1 -0
  33. package/dist/app/api/accounts/logout.js +1 -0
  34. package/dist/app/api/accounts/recover_password.js +1 -0
  35. package/dist/app/api/accounts/reset_password.js +1 -0
  36. package/dist/app/api/accounts/signup.js +1 -0
  37. package/dist/app/api/accounts/user.js +1 -0
  38. package/dist/app/api/accounts/verify_email.js +1 -0
  39. package/dist/app/api/format_api_error.js +1 -0
  40. package/dist/app/api/get.js +2 -0
  41. package/dist/app/api/get_api_context.js +1 -0
  42. package/dist/app/api/get_api_for_data_functions.js +1 -0
  43. package/dist/app/api/get_api_url_component.js +1 -0
  44. package/dist/app/api/get_output.js +1 -0
  45. package/dist/app/api/get_value_from_object.js +1 -0
  46. package/dist/app/api/handle_api_error.js +1 -0
  47. package/dist/app/api/input_validators.js +1 -0
  48. package/dist/app/api/is_array_path.js +1 -0
  49. package/dist/app/api/push/health.js +2 -0
  50. package/dist/app/api/register_getters.js +1 -0
  51. package/dist/app/api/register_setters.js +1 -0
  52. package/dist/app/api/sanitize_api_response.js +1 -0
  53. package/dist/app/api/set.js +2 -0
  54. package/dist/app/api/test/accounts/delete.js +1 -0
  55. package/dist/app/api/test/accounts/signup.js +1 -0
  56. package/dist/app/api/test/bootstrap.js +1 -0
  57. package/dist/app/api/test/process.js +1 -0
  58. package/dist/app/api/test/queues.js +1 -0
  59. package/dist/app/api/validate_input.js +1 -0
  60. package/dist/app/api/validate_session.js +1 -0
  61. package/dist/app/api/validate_type.js +1 -0
  62. package/dist/app/browser/hmr_client.js +1 -0
  63. package/dist/app/browser/process_polyfill.js +1 -0
  64. package/dist/app/cron_jobs/register.js +1 -0
  65. package/dist/app/databases/database_type_map.js +1 -0
  66. package/dist/app/databases/get_target_database_connection.js +1 -0
  67. package/dist/app/databases/mongodb/available_query_parameters.js +1 -0
  68. package/dist/app/databases/mongodb/build_connection_string.js +1 -0
  69. package/dist/app/databases/mongodb/build_query_parameters.js +1 -0
  70. package/dist/app/databases/mongodb/connect.js +6 -0
  71. package/dist/app/databases/mongodb/create_indexes.js +1 -0
  72. package/dist/app/databases/postgresql/accounts/create_accounts_metadata_table_columns.js +1 -0
  73. package/dist/app/databases/postgresql/connect.js +30 -0
  74. package/dist/app/databases/postgresql/create_indexes.js +1 -0
  75. package/dist/app/databases/postgresql/create_tables.js +1 -0
  76. package/dist/app/databases/postgresql/handle_cleanup_queues.js +5 -0
  77. package/dist/app/databases/postgresql/handle_cleanup_sessions.js +1 -0
  78. package/dist/app/databases/queries/accounts.js +1 -0
  79. package/dist/app/databases/queries/map.js +1 -0
  80. package/dist/app/databases/queries/mongodb/accounts.js +1 -0
  81. package/dist/app/databases/queries/mongodb/queues.js +1 -0
  82. package/dist/app/databases/queries/mongodb/sessions.js +1 -0
  83. package/dist/app/databases/queries/postgresql/accounts.js +1 -0
  84. package/dist/app/databases/queries/postgresql/queues.js +123 -0
  85. package/dist/app/databases/queries/postgresql/sessions.js +14 -0
  86. package/dist/app/databases/queries/sessions.js +1 -0
  87. package/dist/app/databases/register_database.js +1 -0
  88. package/dist/app/databases/sql.js +1 -0
  89. package/dist/app/email/send.js +1 -0
  90. package/dist/app/email/validate_smtp_settings.js +1 -0
  91. package/dist/app/fixture/index.js +1 -0
  92. package/dist/app/generate_machine_id.js +1 -0
  93. package/dist/app/generate_process_id.js +1 -0
  94. package/dist/app/get_ssl_certificates.js +1 -0
  95. package/dist/app/handle_process_errors.js +1 -0
  96. package/dist/app/index.js +1 -654
  97. package/dist/app/middleware/account.js +1 -0
  98. package/dist/app/middleware/body_parser.js +1 -0
  99. package/dist/app/middleware/build_error.js +1 -0
  100. package/dist/app/middleware/built_in.js +1 -0
  101. package/dist/app/middleware/context.js +1 -0
  102. package/dist/app/middleware/cors.js +1 -22
  103. package/dist/app/middleware/csp.js +1 -48
  104. package/dist/app/middleware/generate_insecure_page.js +65 -0
  105. package/dist/app/middleware/generate_joystick_error_page.js +147 -0
  106. package/dist/app/middleware/hmr_client.js +1 -0
  107. package/dist/app/middleware/insecure.js +1 -11
  108. package/dist/app/middleware/process_browser_polyfill.js +1 -0
  109. package/dist/app/middleware/render/get_url.js +1 -0
  110. package/dist/app/middleware/render/index.js +1 -0
  111. package/dist/app/middleware/request_methods.js +1 -0
  112. package/dist/app/middleware/session.js +1 -24
  113. package/dist/app/push_logs.js +1 -0
  114. package/dist/app/queues/index.js +1 -119
  115. package/dist/app/register_app_options.js +1 -0
  116. package/dist/app/routes/register_route_from_function.js +1 -0
  117. package/dist/app/routes/register_route_from_object.js +1 -0
  118. package/dist/app/routes/supported_http_methods.js +1 -0
  119. package/dist/app/settings/load.js +1 -0
  120. package/dist/app/ssr/index.js +32 -0
  121. package/dist/app/ssr/set_base_attributes_in_html.js +1 -0
  122. package/dist/app/ssr/set_head_tags_in_html.js +1 -0
  123. package/dist/app/start_express.js +1 -0
  124. package/dist/app/start_node_as_cluster.js +1 -0
  125. package/dist/app/uploaders/local_upload_progress_middleware.js +1 -0
  126. package/dist/app/uploaders/register.js +1 -0
  127. package/dist/app/uploaders/run_upload.js +1 -0
  128. package/dist/app/uploaders/validate_options.js +1 -0
  129. package/dist/app/uploaders/validate_uploads.js +1 -0
  130. package/dist/app/websockets/emit_event.js +1 -0
  131. package/dist/app/websockets/index.js +1 -0
  132. package/dist/app/websockets/register.js +1 -0
  133. package/dist/index.js +4 -76
  134. package/dist/lib/camel_pascal_to_snake.js +1 -0
  135. package/dist/lib/constants.js +1 -13
  136. package/dist/lib/dynamic_import.js +1 -0
  137. package/dist/lib/escape_html.js +1 -0
  138. package/dist/lib/escape_key_value_pair.js +1 -0
  139. package/dist/lib/float_to_decimal_place.js +1 -0
  140. package/dist/lib/generate_id.js +1 -0
  141. package/dist/lib/get_browser_safe_request.js +1 -0
  142. package/dist/lib/get_joystick_build_path.js +1 -0
  143. package/dist/lib/get_origin.js +1 -0
  144. package/dist/lib/get_sanitized_context.js +1 -0
  145. package/dist/lib/get_translations.js +1 -0
  146. package/dist/lib/hash_string.js +1 -0
  147. package/dist/lib/is_valid_json.js +1 -0
  148. package/dist/lib/log.js +13 -49
  149. package/dist/lib/node_path_polyfills.js +1 -0
  150. package/dist/lib/parse_json.js +1 -0
  151. package/dist/lib/path_exists.js +1 -0
  152. package/dist/lib/rainbow_road.js +1 -0
  153. package/dist/lib/replace_backslashes_with_forward_slashes.js +1 -0
  154. package/dist/lib/replace_file_protocol.js +1 -0
  155. package/dist/lib/serialize_query_parameters.js +1 -0
  156. package/dist/lib/set_cookie.js +1 -0
  157. package/dist/lib/string_to_slug.js +1 -0
  158. package/dist/lib/timestamps.js +1 -0
  159. package/dist/lib/types.js +1 -0
  160. package/dist/lib/unset_cookie.js +1 -0
  161. package/dist/lib/wait.js +1 -0
  162. package/dist/test/track_function_call.js +1 -0
  163. package/increment_version.js +3 -0
  164. package/package.json +27 -44
  165. package/src/action/class.js +137 -0
  166. package/src/action/index.js +8 -0
  167. package/src/app/accounts/default_user_output_fields.js +10 -0
  168. package/src/app/accounts/delete_user.js +18 -0
  169. package/src/app/accounts/generate_account_session.js +11 -0
  170. package/src/app/accounts/generate_password_reset_token.js +16 -0
  171. package/src/app/accounts/get_browser_safe_user.js +29 -0
  172. package/src/app/accounts/has_login_token_expired.js +9 -0
  173. package/src/app/accounts/index.js +38 -0
  174. package/src/app/accounts/login.js +82 -0
  175. package/src/app/accounts/recover_password.js +58 -0
  176. package/src/app/accounts/reset_password.js +69 -0
  177. package/src/app/accounts/roles/add.js +7 -0
  178. package/src/app/accounts/roles/grant.js +7 -0
  179. package/src/app/accounts/roles/index.js +18 -0
  180. package/src/app/accounts/roles/list.js +7 -0
  181. package/src/app/accounts/roles/remove.js +7 -0
  182. package/src/app/accounts/roles/revoke.js +7 -0
  183. package/src/app/accounts/roles/user_has_role.js +7 -0
  184. package/src/app/accounts/send_email_verification.js +48 -0
  185. package/src/app/accounts/set_account_cookie.js +12 -0
  186. package/src/app/accounts/set_password.js +46 -0
  187. package/src/app/accounts/signup.js +158 -0
  188. package/src/app/accounts/unset_account_cookie.js +12 -0
  189. package/src/app/accounts/verify_email.js +32 -0
  190. package/src/app/api/accounts/authenticated.js +17 -0
  191. package/src/app/api/accounts/login.js +36 -0
  192. package/src/app/api/accounts/logout.js +20 -0
  193. package/src/app/api/accounts/recover_password.js +16 -0
  194. package/src/app/api/accounts/reset_password.js +24 -0
  195. package/src/app/api/accounts/signup.js +49 -0
  196. package/src/app/api/accounts/user.js +21 -0
  197. package/src/app/api/accounts/verify_email.js +11 -0
  198. package/src/app/api/format_api_error.js +10 -0
  199. package/src/app/api/get.js +119 -0
  200. package/src/app/api/get_api_context.js +27 -0
  201. package/src/app/api/get_api_for_data_functions.js +37 -0
  202. package/src/app/api/get_api_url_component.js +5 -0
  203. package/src/app/api/get_output.js +116 -0
  204. package/src/app/api/get_value_from_object.js +8 -0
  205. package/src/app/api/handle_api_error.js +28 -0
  206. package/src/app/api/input_validators.js +227 -0
  207. package/src/app/api/is_array_path.js +6 -0
  208. package/src/app/api/push/health.js +17 -0
  209. package/src/app/api/register_getters.js +57 -0
  210. package/src/app/api/register_setters.js +55 -0
  211. package/src/app/api/sanitize_api_response.js +35 -0
  212. package/src/app/api/set.js +119 -0
  213. package/src/app/api/test/accounts/delete.js +8 -0
  214. package/src/app/api/test/accounts/signup.js +50 -0
  215. package/src/app/api/test/bootstrap.js +36 -0
  216. package/src/app/api/test/process.js +7 -0
  217. package/src/app/api/test/queues.js +25 -0
  218. package/src/app/api/validate_input.js +132 -0
  219. package/src/app/api/validate_session.js +20 -0
  220. package/src/app/api/validate_type.js +24 -0
  221. package/src/app/browser/hmr_client.js +196 -0
  222. package/src/app/browser/process_polyfill.js +11 -0
  223. package/src/app/cron_jobs/register.js +29 -0
  224. package/src/app/databases/database_type_map.js +6 -0
  225. package/src/app/databases/get_target_database_connection.js +25 -0
  226. package/{dist/app/databases/mongodb/availableQueryParameters.js → src/app/databases/mongodb/available_query_parameters.js} +3 -4
  227. package/src/app/databases/mongodb/build_connection_string.js +30 -0
  228. package/src/app/databases/mongodb/build_query_parameters.js +17 -0
  229. package/src/app/databases/mongodb/connect.js +42 -0
  230. package/src/app/databases/mongodb/create_indexes.js +35 -0
  231. package/src/app/databases/postgresql/accounts/create_accounts_metadata_table_columns.js +18 -0
  232. package/src/app/databases/postgresql/connect.js +128 -0
  233. package/src/app/databases/postgresql/create_indexes.js +58 -0
  234. package/src/app/databases/postgresql/create_tables.js +70 -0
  235. package/src/app/databases/postgresql/handle_cleanup_queues.js +36 -0
  236. package/src/app/databases/postgresql/handle_cleanup_sessions.js +5 -0
  237. package/src/app/databases/queries/accounts.js +17 -0
  238. package/src/app/databases/queries/map.js +21 -0
  239. package/src/app/databases/queries/mongodb/accounts.js +360 -0
  240. package/src/app/databases/queries/mongodb/queues.js +157 -0
  241. package/src/app/databases/queries/mongodb/sessions.js +22 -0
  242. package/src/app/databases/queries/postgresql/accounts.js +379 -0
  243. package/src/app/databases/queries/postgresql/queues.js +288 -0
  244. package/src/app/databases/queries/postgresql/sessions.js +37 -0
  245. package/src/app/databases/queries/sessions.js +17 -0
  246. package/src/app/databases/register_database.js +30 -0
  247. package/src/app/databases/sql.js +63 -0
  248. package/src/app/email/send.js +108 -0
  249. package/src/app/email/validate_smtp_settings.js +53 -0
  250. package/src/app/fixture/index.js +50 -0
  251. package/src/app/generate_machine_id.js +26 -0
  252. package/src/app/generate_process_id.js +30 -0
  253. package/src/app/get_ssl_certificates.js +23 -0
  254. package/src/app/handle_process_errors.js +101 -0
  255. package/src/app/index.js +253 -0
  256. package/src/app/middleware/account.js +28 -0
  257. package/src/app/middleware/body_parser.js +18 -0
  258. package/src/app/middleware/build_error.js +18 -0
  259. package/src/app/middleware/built_in.js +76 -0
  260. package/src/app/middleware/context.js +34 -0
  261. package/src/app/middleware/cors.js +23 -0
  262. package/src/app/middleware/csp.js +54 -0
  263. package/src/app/middleware/generate_insecure_page.js +71 -0
  264. package/{dist/lib/generateErrorPage.js → src/app/middleware/generate_joystick_error_page.js} +25 -21
  265. package/src/app/middleware/hmr_client.js +12 -0
  266. package/src/app/middleware/insecure.js +22 -0
  267. package/src/app/middleware/process_browser_polyfill.js +12 -0
  268. package/src/app/middleware/render/get_url.js +15 -0
  269. package/src/app/middleware/render/index.js +93 -0
  270. package/src/app/middleware/request_methods.js +21 -0
  271. package/src/app/middleware/session.js +31 -0
  272. package/src/app/push_logs.js +44 -0
  273. package/src/app/queues/index.js +268 -0
  274. package/src/app/register_app_options.js +7 -0
  275. package/src/app/routes/register_route_from_function.js +10 -0
  276. package/src/app/routes/register_route_from_object.js +34 -0
  277. package/src/app/routes/supported_http_methods.js +9 -0
  278. package/src/app/settings/load.js +33 -0
  279. package/src/app/ssr/index.js +131 -0
  280. package/src/app/ssr/set_base_attributes_in_html.js +43 -0
  281. package/src/app/ssr/set_head_tags_in_html.js +104 -0
  282. package/src/app/start_express.js +50 -0
  283. package/src/app/start_node_as_cluster.js +30 -0
  284. package/src/app/uploaders/local_upload_progress_middleware.js +24 -0
  285. package/src/app/uploaders/register.js +169 -0
  286. package/src/app/uploaders/run_upload.js +136 -0
  287. package/src/app/uploaders/validate_options.js +74 -0
  288. package/src/app/uploaders/validate_uploads.js +127 -0
  289. package/src/app/websockets/emit_event.js +14 -0
  290. package/src/app/websockets/index.js +16 -0
  291. package/src/app/websockets/register.js +175 -0
  292. package/src/index.js +77 -0
  293. package/{dist/lib/camelPascalToSnake.js → src/lib/camel_pascal_to_snake.js} +3 -4
  294. package/src/lib/constants.js +21 -0
  295. package/src/lib/dynamic_import.js +6 -0
  296. package/src/lib/escape_html.js +9 -0
  297. package/src/lib/escape_key_value_pair.js +15 -0
  298. package/src/lib/float_to_decimal_place.js +5 -0
  299. package/src/lib/generate_id.js +15 -0
  300. package/src/lib/get_browser_safe_request.js +17 -0
  301. package/src/lib/get_joystick_build_path.js +28 -0
  302. package/src/lib/get_origin.js +7 -0
  303. package/src/lib/get_sanitized_context.js +51 -0
  304. package/src/lib/get_translations.js +102 -0
  305. package/src/lib/hash_string.js +7 -0
  306. package/src/lib/is_valid_json.js +10 -0
  307. package/src/lib/log.js +42 -0
  308. package/src/lib/node_path_polyfills.js +18 -0
  309. package/src/lib/parse_json.js +9 -0
  310. package/src/lib/path_exists.js +11 -0
  311. package/src/lib/rainbow_road.js +7 -0
  312. package/src/lib/replace_backslashes_with_forward_slashes.js +8 -0
  313. package/src/lib/replace_file_protocol.js +8 -0
  314. package/src/lib/serialize_query_parameters.js +7 -0
  315. package/src/lib/set_cookie.js +16 -0
  316. package/src/lib/string_to_slug.js +14 -0
  317. package/src/lib/timestamps.js +48 -0
  318. package/src/lib/types.js +59 -0
  319. package/src/lib/unset_cookie.js +11 -0
  320. package/src/lib/wait.js +9 -0
  321. package/src/test/track_function_call.js +16 -0
  322. package/README.md +0 -8
  323. package/_package.json +0 -63
  324. package/canary.js +0 -12
  325. package/dist/api/get.js +0 -29
  326. package/dist/api/getOrigin.js +0 -6
  327. package/dist/api/index.js +0 -9
  328. package/dist/api/set.js +0 -29
  329. package/dist/app/accounts/defaultUserOutputFields.js +0 -9
  330. package/dist/app/accounts/generateResetToken.js +0 -28
  331. package/dist/app/accounts/generateSession.js +0 -15
  332. package/dist/app/accounts/getBrowserSafeUser.js +0 -24
  333. package/dist/app/accounts/hasLoginTokenExpired.js +0 -17
  334. package/dist/app/accounts/hashString.js +0 -7
  335. package/dist/app/accounts/recoverPassword.js +0 -30
  336. package/dist/app/accounts/resetPassword.js +0 -73
  337. package/dist/app/accounts/roles/userHasRole.js +0 -7
  338. package/dist/app/accounts/runUserQuery.js +0 -15
  339. package/dist/app/accounts/sendEmailVerification.js +0 -65
  340. package/dist/app/accounts/setAuthenticationCookie.js +0 -11
  341. package/dist/app/accounts/setPassword.js +0 -45
  342. package/dist/app/accounts/unsetAuthenticationCookie.js +0 -11
  343. package/dist/app/accounts/verifyEmail.js +0 -46
  344. package/dist/app/databases/getTargetDatabase.js +0 -10
  345. package/dist/app/databases/getTargetDatabaseConnection.js +0 -19
  346. package/dist/app/databases/getTargetDatabaseProvider.js +0 -10
  347. package/dist/app/databases/mongodb/buildConnectionString.js +0 -22
  348. package/dist/app/databases/mongodb/buildQueryParameters.js +0 -14
  349. package/dist/app/databases/mongodb/index.js +0 -40
  350. package/dist/app/databases/mongodb/queries/accounts.js +0 -266
  351. package/dist/app/databases/mongodb/queries/queues.js +0 -111
  352. package/dist/app/databases/postgresql/addColumnToTable.js +0 -6
  353. package/dist/app/databases/postgresql/createAccountsIndexes.js +0 -21
  354. package/dist/app/databases/postgresql/createAccountsTables.js +0 -39
  355. package/dist/app/databases/postgresql/createDatabase.js +0 -0
  356. package/dist/app/databases/postgresql/index.js +0 -55
  357. package/dist/app/databases/postgresql/queries/accounts.js +0 -186
  358. package/dist/app/databases/postgresql/queries/queues.js +0 -211
  359. package/dist/app/databases/queryMap.js +0 -17
  360. package/dist/app/databases/typesMap.js +0 -7
  361. package/dist/app/getAPIContext.js +0 -25
  362. package/dist/app/getAPIURLComponent.js +0 -6
  363. package/dist/app/getBrowserSafeRequest.js +0 -14
  364. package/dist/app/getOutput.js +0 -74
  365. package/dist/app/handleProcessErrors.js +0 -73
  366. package/dist/app/initExpress.js +0 -41
  367. package/dist/app/middleware/bodyParser.js +0 -16
  368. package/dist/app/middleware/hmr/client.js +0 -113
  369. package/dist/app/middleware/index.js +0 -89
  370. package/dist/app/middleware/render.js +0 -213
  371. package/dist/app/middleware/requestMethods.js +0 -19
  372. package/dist/app/registerGetters.js +0 -45
  373. package/dist/app/registerSetters.js +0 -45
  374. package/dist/app/runGetter.js +0 -103
  375. package/dist/app/runSetter.js +0 -103
  376. package/dist/app/runUploader.js +0 -143
  377. package/dist/app/sanitizeAPIResponse.js +0 -27
  378. package/dist/app/utils/process.js +0 -193
  379. package/dist/app/validateSession.js +0 -16
  380. package/dist/app/validateUploaderOptions.js +0 -53
  381. package/dist/app/validateUploads.js +0 -102
  382. package/dist/email/render.js +0 -50
  383. package/dist/email/send.js +0 -55
  384. package/dist/email/templates/base.css +0 -194
  385. package/dist/email/templates/base.html +0 -28
  386. package/dist/email/templates/reset-password.js +0 -13
  387. package/dist/email/validateSMTPSettings.js +0 -27
  388. package/dist/lib/escapeHTML.js +0 -9
  389. package/dist/lib/escapeKeyValuePair.js +0 -13
  390. package/dist/lib/formatAPIError.js +0 -12
  391. package/dist/lib/formatErrorString.js +0 -8
  392. package/dist/lib/generateCookie.js +0 -14
  393. package/dist/lib/generateId.js +0 -13
  394. package/dist/lib/generateMachineId.js +0 -15
  395. package/dist/lib/getBuildPath.js +0 -10
  396. package/dist/lib/getErrorObject.js +0 -9
  397. package/dist/lib/getPlatformSafeFilePath.js +0 -8
  398. package/dist/lib/getPlatformSafePath.js +0 -8
  399. package/dist/lib/getSSLCertificates.js +0 -19
  400. package/dist/lib/isValidHTTPMethod.js +0 -7
  401. package/dist/lib/isValidJSONString.js +0 -11
  402. package/dist/lib/nodeUrlPolyfills.js +0 -14
  403. package/dist/lib/objectToSQLKeysString.js +0 -18
  404. package/dist/lib/objectToSQLValuesString.js +0 -16
  405. package/dist/lib/obscenedb/debounce.js +0 -12
  406. package/dist/lib/obscenedb/index.js +0 -61
  407. package/dist/lib/parseDatabasesFromEnvironment.js +0 -9
  408. package/dist/lib/rainbowRoad.js +0 -7
  409. package/dist/lib/readDirectory.js +0 -24
  410. package/dist/lib/replaceBackslashesWithForwardSlashes.js +0 -8
  411. package/dist/lib/replaceFileProtocol.js +0 -8
  412. package/dist/lib/replaceForwardSlashesWithBackslashes.js +0 -8
  413. package/dist/lib/serializeQueryParameters.js +0 -8
  414. package/dist/lib/serverAvailable.js +0 -0
  415. package/dist/lib/setCookie.js +0 -16
  416. package/dist/lib/supportedHTTPMethods.js +0 -4
  417. package/dist/lib/unsetCookie.js +0 -13
  418. package/dist/push/logs/index.js +0 -55
  419. package/dist/settings/index.js +0 -5
  420. package/dist/settings/load.js +0 -30
  421. package/dist/ssr/compileCSS.js +0 -85
  422. package/dist/ssr/findComponentInTree.js +0 -29
  423. package/dist/ssr/formatCSS.js +0 -6
  424. package/dist/ssr/getCSSFromTree.js +0 -33
  425. package/dist/ssr/index.js +0 -441
  426. package/dist/ssr/replaceWhenTags.js +0 -37
  427. package/dist/ssr/setHeadTagsInHTML.js +0 -84
  428. package/dist/validation/index.js +0 -10
  429. package/dist/validation/index.test.js +0 -463
  430. package/dist/validation/inputWithSchema/index.js +0 -105
  431. package/dist/validation/lib/constants.js +0 -162
  432. package/dist/validation/lib/getValueFromObject.js +0 -12
  433. package/dist/validation/lib/getValueFromObject.test.js +0 -7
  434. package/dist/validation/lib/isArrayPath.js +0 -6
  435. package/dist/validation/lib/throwError.js +0 -6
  436. package/dist/validation/lib/typeValidators.js +0 -38
  437. package/dist/validation/lib/validateType.js +0 -33
  438. package/dist/validation/schema/index.js +0 -44
  439. package/dist/websockets/emitWebsocketEvent.js +0 -12
  440. package/dist/websockets/index.js +0 -12
  441. package/notes +0 -1
@@ -1,28 +0,0 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
5
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6
- <title>${subject}</title>
7
- ${globalCSS}
8
- ${componentCSS}
9
- </head>
10
- <body>
11
- <table role="presentation" border="0" cellpadding="0" cellspacing="0" class="body">
12
- <tr>
13
- <td class="container">
14
- <div class="content">
15
- <table role="presentation" border="0" cellpadding="0" cellspacing="0">
16
- <tr>
17
- <td>
18
- <span class="preheader" style="color: transparent; display: none; height: 0; max-height: 0; max-width: 0; opacity: 0; overflow: hidden; mso-hide: all; visibility: hidden; width: 0;">${preheader}</span>
19
- <div id="email"></div>
20
- </td>
21
- </tr>
22
- </table>
23
- </div>
24
- </td>
25
- </tr>
26
- </table>
27
- </body>
28
- </html>
@@ -1,13 +0,0 @@
1
- import ui from "@joystick.js/ui";
2
- const ResetPassword = ui.component({
3
- render: ({ props }) => {
4
- return `
5
- <p>A password reset was requested for this email address (${props.emailAddress}). If you requested this reset, click the link below to reset your password:</p>
6
- <p><a href="${props.url}">Reset Password</a></p>
7
- `;
8
- }
9
- });
10
- var reset_password_default = ResetPassword;
11
- export {
12
- reset_password_default as default
13
- };
@@ -1,27 +0,0 @@
1
- import chalk from "chalk";
2
- var validateSMTPSettings_default = (settings = null) => {
3
- if (!settings) {
4
- console.warn(chalk.redBright(`Invalid SMTP settings: config.smtp not defined in settings.${process.env.NODE_ENV}.js`));
5
- return false;
6
- }
7
- if (settings && !settings.host) {
8
- console.warn(chalk.redBright(`Invalid SMTP settings: config.smtp.host not defined in settings.${process.env.NODE_ENV}.js`));
9
- return false;
10
- }
11
- if (settings && !settings.port) {
12
- console.warn(chalk.redBright(`Invalid SMTP settings: config.smtp.port not defined in settings.${process.env.NODE_ENV}.js`));
13
- return false;
14
- }
15
- if (settings && !settings.username) {
16
- console.warn(chalk.redBright(`Invalid SMTP settings: config.smtp.username not defined in settings.${process.env.NODE_ENV}.js`));
17
- return false;
18
- }
19
- if (settings && !settings.password) {
20
- console.warn(chalk.redBright(`Invalid SMTP settings: config.smtp.password not defined in settings.${process.env.NODE_ENV}.js`));
21
- return false;
22
- }
23
- return true;
24
- };
25
- export {
26
- validateSMTPSettings_default as default
27
- };
@@ -1,9 +0,0 @@
1
- import { HTML_ENTITY_MAP } from "./constants.js";
2
- var escapeHTML_default = (string = "") => {
3
- return String(string).replace(/[&<>"'`=]/g, function(match) {
4
- return HTML_ENTITY_MAP[match];
5
- });
6
- };
7
- export {
8
- escapeHTML_default as default
9
- };
@@ -1,13 +0,0 @@
1
- import escapeHTML from "./escapeHTML.js";
2
- var escapeKeyValuePair_default = (target = {}) => {
3
- const parameters = Object.entries(target || {});
4
- for (let i = 0; i < parameters?.length; i += 1) {
5
- const [key, value] = parameters[i];
6
- delete target[key];
7
- target[escapeHTML(key)] = escapeHTML(value);
8
- }
9
- return target;
10
- };
11
- export {
12
- escapeKeyValuePair_default as default
13
- };
@@ -1,12 +0,0 @@
1
- import getErrorObject from "./getErrorObject";
2
- var formatAPIError_default = (exception = {}, location = "", code = 0) => {
3
- return {
4
- code,
5
- error: exception,
6
- message: exception?.message || exception?.reason || exception,
7
- location
8
- };
9
- };
10
- export {
11
- formatAPIError_default as default
12
- };
@@ -1,8 +0,0 @@
1
- const formatErrorString = (location = "", error) => {
2
- const message = typeof error === "object" ? error.reason || error.message || error : error;
3
- return `${process.env.NODE_ENV === "development" ? `[${location}] ` : ""}${message}`;
4
- };
5
- var formatErrorString_default = formatErrorString;
6
- export {
7
- formatErrorString_default as default
8
- };
@@ -1,14 +0,0 @@
1
- import dayjs from "dayjs";
2
- var generateCookie_default = (tokenExpiresAt = null) => {
3
- const cookie = {
4
- secure: process.env.NODE_ENV !== "development",
5
- httpOnly: true
6
- };
7
- if (tokenExpiresAt) {
8
- cookie.expires = dayjs(tokenExpiresAt).toDate();
9
- }
10
- return cookie;
11
- };
12
- export {
13
- generateCookie_default as default
14
- };
@@ -1,13 +0,0 @@
1
- const characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890".split("");
2
- var generateId_default = (length = 16) => {
3
- let id = "";
4
- let i = 0;
5
- while (i < length) {
6
- id += characters[Math.floor(Math.random() * (characters.length - 1))];
7
- i += 1;
8
- }
9
- return id;
10
- };
11
- export {
12
- generateId_default as default
13
- };
@@ -1,15 +0,0 @@
1
- import fs from "fs";
2
- import path from "path";
3
- import os from "os";
4
- import generateId from "./generateId.js";
5
- var generateMachineId_default = () => {
6
- const home = os.homedir();
7
- if (!fs.existsSync(`${home}/.cheatcode/MACHINE_ID`)) {
8
- fs.mkdirSync(path.dirname(`${home}/.cheatcode/MACHINE_ID`), { recursive: true });
9
- fs.writeFileSync(`${home}/.cheatcode/MACHINE_ID`, generateId(32));
10
- }
11
- ;
12
- };
13
- export {
14
- generateMachineId_default as default
15
- };
@@ -1,10 +0,0 @@
1
- import fs from "fs";
2
- var getBuildPath_default = () => {
3
- if (["development", "test"].includes(process.env.NODE_ENV) || fs.existsSync(".joystick/build")) {
4
- return ".joystick/build/";
5
- }
6
- return "";
7
- };
8
- export {
9
- getBuildPath_default as default
10
- };
@@ -1,9 +0,0 @@
1
- var getErrorObject_default = (error = {}) => {
2
- return Object.getOwnPropertyNames(error).reduce((errorObject, key) => {
3
- errorObject[key] = error[key];
4
- return errorObject;
5
- }, {});
6
- };
7
- export {
8
- getErrorObject_default as default
9
- };
@@ -1,8 +0,0 @@
1
- import os from "os";
2
- const isWindows = os.platform() === "win32";
3
- var getPlatformSafeFilePath_default = (path = "") => {
4
- return isWindows ? path.replace(/[a-zA-Z]:\\\\/, "file://") : path;
5
- };
6
- export {
7
- getPlatformSafeFilePath_default as default
8
- };
@@ -1,8 +0,0 @@
1
- import os from "os";
2
- const isWindows = os.platform() === "win32";
3
- var getPlatformSafePath_default = (path = "") => {
4
- return isWindows ? path.replace("/", "\\") : path;
5
- };
6
- export {
7
- getPlatformSafePath_default as default
8
- };
@@ -1,19 +0,0 @@
1
- import fs from "fs";
2
- var getSSLCertificates_default = (ssl = null) => {
3
- const pushCertificatePath = "/lib/push/certs/cert.pem";
4
- const pushKeyPath = "/lib/push/certs/key.pem";
5
- const certPath = process.env.IS_PUSH_DEPLOYED ? pushCertificatePath : ssl?.cert || null;
6
- const keyPath = process.env.IS_PUSH_DEPLOYED ? pushKeyPath : ssl?.key || null;
7
- const certExists = fs.existsSync(certPath);
8
- const keyExists = fs.existsSync(keyPath);
9
- if (["development", "test"].includes(process.env.NODE_ENV) || !certExists || !keyExists) {
10
- return null;
11
- }
12
- return {
13
- cert: fs.readFileSync(certPath),
14
- key: fs.readFileSync(keyPath)
15
- };
16
- };
17
- export {
18
- getSSLCertificates_default as default
19
- };
@@ -1,7 +0,0 @@
1
- import supportedHTTPMethods from "./supportedHTTPMethods";
2
- var isValidHTTPMethod_default = (method = "") => {
3
- return supportedHTTPMethods.includes(method);
4
- };
5
- export {
6
- isValidHTTPMethod_default as default
7
- };
@@ -1,11 +0,0 @@
1
- var isValidJSONString_default = (JSONString = "") => {
2
- try {
3
- JSON.parse(JSONString);
4
- } catch (error) {
5
- return false;
6
- }
7
- return true;
8
- };
9
- export {
10
- isValidJSONString_default as default
11
- };
@@ -1,14 +0,0 @@
1
- import { fileURLToPath } from "url";
2
- import { dirname } from "path";
3
- var nodeUrlPolyfills_default = {
4
- __filename: (url = "") => {
5
- return fileURLToPath(url);
6
- },
7
- __dirname: (url = "") => {
8
- const currentFilePath = fileURLToPath(url);
9
- return dirname(currentFilePath);
10
- }
11
- };
12
- export {
13
- nodeUrlPolyfills_default as default
14
- };
@@ -1,18 +0,0 @@
1
- import { isObject } from "../validation/lib/typeValidators";
2
- import camelPascalToSnake from "./camelPascalToSnake";
3
- const objectToSQLKeys = (objectToConvert = {}, target = []) => {
4
- const keyValuePairs = Object.entries(objectToConvert);
5
- keyValuePairs.forEach(([key, value]) => {
6
- if (isObject(value)) {
7
- target.push(camelPascalToSnake(key));
8
- objectToSQLKeys(value, target);
9
- } else {
10
- target.push(camelPascalToSnake(key));
11
- }
12
- });
13
- return target.flatMap((value) => value).join(", ");
14
- };
15
- var objectToSQLKeysString_default = objectToSQLKeys;
16
- export {
17
- objectToSQLKeysString_default as default
18
- };
@@ -1,16 +0,0 @@
1
- import { isObject } from "../validation/lib/typeValidators";
2
- const objectToSQLValues = (objectToConvert = {}, target = []) => {
3
- const keyValuePairs = Object.entries(objectToConvert);
4
- keyValuePairs.forEach(([_key, value]) => {
5
- if (isObject(value)) {
6
- objectToSQLValues(value, target);
7
- } else {
8
- target.push(`'${value}'`);
9
- }
10
- });
11
- return target.flatMap((value) => value).join(", ");
12
- };
13
- var objectToSQLValuesString_default = objectToSQLValues;
14
- export {
15
- objectToSQLValuesString_default as default
16
- };
@@ -1,12 +0,0 @@
1
- var debounce_default = (callback, wait) => {
2
- let timeoutId = null;
3
- return (...args) => {
4
- clearTimeout(timeoutId);
5
- timeoutId = setTimeout(() => {
6
- callback.apply(null, args);
7
- }, wait);
8
- };
9
- };
10
- export {
11
- debounce_default as default
12
- };
@@ -1,61 +0,0 @@
1
- import fs from "node:fs";
2
- import debounce from "./debounce.js";
3
- class ObsceneDB {
4
- constructor(options = {}) {
5
- this.options = options;
6
- if (!fs.existsSync(this.options.file)) {
7
- fs.writeFileSync(this.options.file, JSON.stringify(this.options.collections || {}));
8
- }
9
- this.db = JSON.parse(fs.readFileSync(this.options.file, "utf-8"));
10
- this.writeToDisk = debounce(this._writeToDisk.bind(this), 300);
11
- }
12
- _writeToDisk() {
13
- fs.writeFile(this.options?.file, JSON.stringify(this.db), () => {
14
- });
15
- }
16
- collection(name = "") {
17
- if (this?.db && !this?.db[name]) {
18
- this.db[name] = [];
19
- this.writeToDisk();
20
- }
21
- }
22
- collectionExists(name = "") {
23
- return this?.db && !!this?.db[name];
24
- }
25
- find(collection = "", filter_function = null, options = {}) {
26
- const existingCollection = this.db[collection];
27
- if (existingCollection) {
28
- const sortedOptions = options?.sortBy && typeof options.sortBy === "function" ? options.sortBy(existingCollection) : existingCollection;
29
- return !options?.limit ? sortedOptions.filter(filter_function) : sortedOptions.filter(filter_function)?.slice(0, options?.limit);
30
- }
31
- return [];
32
- }
33
- findOne(collection = "", filter_function = null, options = {}) {
34
- const [result = null] = this.find(collection, filter_function, { ...options, limit: 1 });
35
- return result;
36
- }
37
- insert(collection = "", data = {}) {
38
- const existingCollection = this.db[collection];
39
- if (existingCollection) {
40
- existingCollection.push(data);
41
- this.writeToDisk();
42
- return true;
43
- }
44
- this.db[collection] = [data];
45
- this.writeToDisk();
46
- return true;
47
- }
48
- remove(collection = "", filter_function = null) {
49
- const existingCollection = this.db[collection];
50
- if (existingCollection) {
51
- this.db[collection] = existingCollection.filter(filter_function);
52
- this.writeToDisk();
53
- return true;
54
- }
55
- return false;
56
- }
57
- }
58
- var obscenedb_default = ObsceneDB;
59
- export {
60
- obscenedb_default as default
61
- };
@@ -1,9 +0,0 @@
1
- var parseDatabasesFromEnvironment_default = (databases = "") => {
2
- if (databases && typeof databases === "string") {
3
- return JSON.parse(databases);
4
- }
5
- return {};
6
- };
7
- export {
8
- parseDatabasesFromEnvironment_default as default
9
- };
@@ -1,7 +0,0 @@
1
- import chalk from "chalk";
2
- var rainbowRoad_default = () => {
3
- return `${chalk.red("=")}${chalk.green("=")}${chalk.blue("=")}${chalk.red("=")}${chalk.green("=")}${chalk.blue("=")}`;
4
- };
5
- export {
6
- rainbowRoad_default as default
7
- };
@@ -1,24 +0,0 @@
1
- import { resolve } from "path";
2
- import { readdir } from "fs/promises";
3
- async function* getFiles(directory) {
4
- const directoryFiles = await readdir(directory, { withFileTypes: true });
5
- for (const directoryFile of directoryFiles) {
6
- const res = resolve(directory, directoryFile.name);
7
- if (directoryFile.isDirectory()) {
8
- yield* getFiles(res);
9
- } else {
10
- yield res;
11
- }
12
- }
13
- }
14
- async function readDirectory(path = "") {
15
- const files = [];
16
- for await (const file of getFiles(path)) {
17
- files.push(file);
18
- }
19
- return files;
20
- }
21
- var readDirectory_default = readDirectory;
22
- export {
23
- readDirectory_default as default
24
- };
@@ -1,8 +0,0 @@
1
- import os from "os";
2
- const isWindows = os.platform() === "win32";
3
- var replaceBackslashesWithForwardSlashes_default = (path = "") => {
4
- return isWindows ? path.replace(/\\/g, "/") : path;
5
- };
6
- export {
7
- replaceBackslashesWithForwardSlashes_default as default
8
- };
@@ -1,8 +0,0 @@
1
- import os from "os";
2
- const isWindows = os.platform() === "win32";
3
- var replaceFileProtocol_default = (path = "") => {
4
- return isWindows ? path.replace(/[a-zA-Z]:/gi, "") : path;
5
- };
6
- export {
7
- replaceFileProtocol_default as default
8
- };
@@ -1,8 +0,0 @@
1
- import os from "os";
2
- const isWindows = os.platform() === "win32";
3
- var replaceForwardSlashesWithBackslashes_default = (path = "") => {
4
- return isWindows ? path.replace(/\//, "\\") : path;
5
- };
6
- export {
7
- replaceForwardSlashesWithBackslashes_default as default
8
- };
@@ -1,8 +0,0 @@
1
- var serializeQueryParameters_default = (queryParameters = {}) => {
2
- return Object.entries(queryParameters).map(([key, value]) => {
3
- return `${key}=${value}`;
4
- })?.join("&");
5
- };
6
- export {
7
- serializeQueryParameters_default as default
8
- };
File without changes
@@ -1,16 +0,0 @@
1
- import dayjs from "dayjs";
2
- var setCookie_default = (res = {}, cookieName = "", cookieValue = "", expiresAt = null) => {
3
- if (!res || !cookieName)
4
- return null;
5
- const cookieOptions = {
6
- secure: process.env.NODE_ENV !== "development",
7
- httpOnly: true
8
- };
9
- if (expiresAt) {
10
- cookieOptions.expires = dayjs(expiresAt).toDate();
11
- }
12
- res.cookie(cookieName, cookieValue, cookieOptions);
13
- };
14
- export {
15
- setCookie_default as default
16
- };
@@ -1,4 +0,0 @@
1
- var supportedHTTPMethods_default = ["get", "post", "put", "delete"];
2
- export {
3
- supportedHTTPMethods_default as default
4
- };
@@ -1,13 +0,0 @@
1
- import dayjs from "dayjs";
2
- var unsetCookie_default = (cookieName = "", res = {}) => {
3
- if (!cookieName || !res)
4
- return null;
5
- res.cookie(cookieName, null, {
6
- secure: process.env.NODE_ENV !== "development",
7
- httpOnly: true,
8
- expires: dayjs().toDate()
9
- });
10
- };
11
- export {
12
- unsetCookie_default as default
13
- };
@@ -1,55 +0,0 @@
1
- import dayjs from "dayjs";
2
- import TuskDB from "@tuskdb/node";
3
- const captureLog = (callback = null) => {
4
- process.stdout.write = (data) => {
5
- if (callback) {
6
- callback("stdout", data);
7
- }
8
- };
9
- process.stderr.write = (data) => {
10
- if (callback) {
11
- callback("stderr", data);
12
- }
13
- };
14
- process.on("uncaughtException", (error) => {
15
- if (callback) {
16
- callback("uncaughtException", error);
17
- }
18
- });
19
- };
20
- const writeLogsToDisk = () => {
21
- const db = new TuskDB({
22
- file: {
23
- development: "logs.json",
24
- production: "/root/logs.json"
25
- }[process.env.NODE_ENV || "development"],
26
- collections: {
27
- logs: []
28
- }
29
- });
30
- captureLog((source = "", data = "") => {
31
- switch (source) {
32
- case "stdout":
33
- return db.collection("logs").insertOne({
34
- error: false,
35
- timestamp: dayjs().format(),
36
- data
37
- });
38
- case "stderr":
39
- case "uncaughtException":
40
- return db.collection("logs").insertOne({
41
- error: true,
42
- timestamp: dayjs().format(),
43
- data
44
- });
45
- default:
46
- return;
47
- }
48
- });
49
- };
50
- var logs_default = () => {
51
- return writeLogsToDisk();
52
- };
53
- export {
54
- logs_default as default
55
- };
@@ -1,5 +0,0 @@
1
- import load from "./load";
2
- var settings_default = (() => load())();
3
- export {
4
- settings_default as default
5
- };
@@ -1,30 +0,0 @@
1
- import isValidJSONString from "../lib/isValidJSONString";
2
- const defaultSettings = {
3
- config: {},
4
- keys: {
5
- global: {},
6
- public: {},
7
- private: {}
8
- }
9
- };
10
- var load_default = () => {
11
- try {
12
- const settingsExist = !!process.env.JOYSTICK_SETTINGS;
13
- const settings = `${process.env.JOYSTICK_SETTINGS}`.replace(/\\/g, "");
14
- const settingsAreValid = settingsExist && isValidJSONString(settings);
15
- if (!settingsExist) {
16
- return defaultSettings;
17
- }
18
- if (!settingsAreValid) {
19
- console.warn(`Could not parse settings. Please verify that your settings-${process.env.NODE_ENV} exports a valid JavaScript object.`);
20
- return defaultSettings;
21
- }
22
- const parsedSettings = JSON.parse(settings);
23
- return parsedSettings || defaultSettings;
24
- } catch (exception) {
25
- console.warn(exception);
26
- }
27
- };
28
- export {
29
- load_default as default
30
- };