@joystick.js/node-canary 0.0.0-canary.42 → 0.0.0-canary.420

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 (444) 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 -52
  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 +248 -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 +36 -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 +82 -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 -18
  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/index.test.js +0 -123
  338. package/dist/app/accounts/roles/userHasRole.js +0 -7
  339. package/dist/app/accounts/runUserQuery.js +0 -15
  340. package/dist/app/accounts/sendEmailVerification.js +0 -65
  341. package/dist/app/accounts/setAuthenticationCookie.js +0 -11
  342. package/dist/app/accounts/setPassword.js +0 -45
  343. package/dist/app/accounts/unsetAuthenticationCookie.js +0 -11
  344. package/dist/app/accounts/verifyEmail.js +0 -46
  345. package/dist/app/databases/getTargetDatabase.js +0 -10
  346. package/dist/app/databases/getTargetDatabaseConnection.js +0 -19
  347. package/dist/app/databases/getTargetDatabaseProvider.js +0 -10
  348. package/dist/app/databases/mongodb/buildConnectionString.js +0 -22
  349. package/dist/app/databases/mongodb/buildQueryParameters.js +0 -14
  350. package/dist/app/databases/mongodb/index.js +0 -40
  351. package/dist/app/databases/mongodb/queries/accounts.js +0 -266
  352. package/dist/app/databases/mongodb/queries/queues.js +0 -111
  353. package/dist/app/databases/postgresql/addColumnToTable.js +0 -6
  354. package/dist/app/databases/postgresql/createAccountsIndexes.js +0 -21
  355. package/dist/app/databases/postgresql/createAccountsTables.js +0 -39
  356. package/dist/app/databases/postgresql/createDatabase.js +0 -0
  357. package/dist/app/databases/postgresql/index.js +0 -55
  358. package/dist/app/databases/postgresql/queries/accounts.js +0 -186
  359. package/dist/app/databases/postgresql/queries/queues.js +0 -211
  360. package/dist/app/databases/queryMap.js +0 -17
  361. package/dist/app/databases/typesMap.js +0 -7
  362. package/dist/app/getAPIContext.js +0 -25
  363. package/dist/app/getAPIURLComponent.js +0 -6
  364. package/dist/app/getBrowserSafeRequest.js +0 -14
  365. package/dist/app/getOutput.js +0 -74
  366. package/dist/app/handleProcessErrors.js +0 -73
  367. package/dist/app/index.test.js +0 -575
  368. package/dist/app/initExpress.js +0 -41
  369. package/dist/app/middleware/bodyParser.js +0 -16
  370. package/dist/app/middleware/hmr/client.js +0 -113
  371. package/dist/app/middleware/index.js +0 -89
  372. package/dist/app/middleware/render.js +0 -213
  373. package/dist/app/middleware/requestMethods.js +0 -19
  374. package/dist/app/registerGetters.js +0 -45
  375. package/dist/app/registerSetters.js +0 -45
  376. package/dist/app/runGetter.js +0 -103
  377. package/dist/app/runSetter.js +0 -103
  378. package/dist/app/runUploader.js +0 -143
  379. package/dist/app/sanitizeAPIResponse.js +0 -27
  380. package/dist/app/utils/process.js +0 -193
  381. package/dist/app/validateSession.js +0 -16
  382. package/dist/app/validateUploaderOptions.js +0 -53
  383. package/dist/app/validateUploads.js +0 -102
  384. package/dist/email/render.js +0 -50
  385. package/dist/email/send.js +0 -55
  386. package/dist/email/send.test.js +0 -37
  387. package/dist/email/templates/base.css +0 -194
  388. package/dist/email/templates/base.html +0 -28
  389. package/dist/email/templates/reset-password.js +0 -14
  390. package/dist/email/validateSMTPSettings.js +0 -27
  391. package/dist/lib/escapeHTML.js +0 -9
  392. package/dist/lib/escapeKeyValuePair.js +0 -13
  393. package/dist/lib/formatAPIError.js +0 -12
  394. package/dist/lib/formatErrorString.js +0 -8
  395. package/dist/lib/generateCookie.js +0 -14
  396. package/dist/lib/generateId.js +0 -13
  397. package/dist/lib/generateMachineId.js +0 -15
  398. package/dist/lib/getBuildPath.js +0 -10
  399. package/dist/lib/getErrorObject.js +0 -9
  400. package/dist/lib/getPlatformSafeFilePath.js +0 -8
  401. package/dist/lib/getPlatformSafePath.js +0 -8
  402. package/dist/lib/getSSLCertificates.js +0 -19
  403. package/dist/lib/isValidHTTPMethod.js +0 -7
  404. package/dist/lib/isValidJSONString.js +0 -11
  405. package/dist/lib/nodeUrlPolyfills.js +0 -14
  406. package/dist/lib/objectToSQLKeysString.js +0 -18
  407. package/dist/lib/objectToSQLValuesString.js +0 -16
  408. package/dist/lib/obscenedb/debounce.js +0 -12
  409. package/dist/lib/obscenedb/index.js +0 -61
  410. package/dist/lib/parseDatabasesFromEnvironment.js +0 -9
  411. package/dist/lib/rainbowRoad.js +0 -7
  412. package/dist/lib/readDirectory.js +0 -24
  413. package/dist/lib/replaceBackslashesWithForwardSlashes.js +0 -8
  414. package/dist/lib/replaceFileProtocol.js +0 -8
  415. package/dist/lib/replaceForwardSlashesWithBackslashes.js +0 -8
  416. package/dist/lib/serializeQueryParameters.js +0 -8
  417. package/dist/lib/serverAvailable.js +0 -0
  418. package/dist/lib/setCookie.js +0 -16
  419. package/dist/lib/supportedHTTPMethods.js +0 -4
  420. package/dist/lib/unsetCookie.js +0 -13
  421. package/dist/push/logs/index.js +0 -55
  422. package/dist/settings/index.js +0 -5
  423. package/dist/settings/load.js +0 -30
  424. package/dist/ssr/compileCSS.js +0 -85
  425. package/dist/ssr/findComponentInTree.js +0 -29
  426. package/dist/ssr/formatCSS.js +0 -6
  427. package/dist/ssr/getCSSFromTree.js +0 -33
  428. package/dist/ssr/index.js +0 -441
  429. package/dist/ssr/replaceWhenTags.js +0 -37
  430. package/dist/ssr/setHeadTagsInHTML.js +0 -84
  431. package/dist/validation/index.js +0 -10
  432. package/dist/validation/index.test.js +0 -463
  433. package/dist/validation/inputWithSchema/index.js +0 -105
  434. package/dist/validation/lib/constants.js +0 -162
  435. package/dist/validation/lib/getValueFromObject.js +0 -12
  436. package/dist/validation/lib/getValueFromObject.test.js +0 -7
  437. package/dist/validation/lib/isArrayPath.js +0 -6
  438. package/dist/validation/lib/throwError.js +0 -6
  439. package/dist/validation/lib/typeValidators.js +0 -38
  440. package/dist/validation/lib/validateType.js +0 -33
  441. package/dist/validation/schema/index.js +0 -44
  442. package/dist/websockets/emitWebsocketEvent.js +0 -12
  443. package/dist/websockets/index.js +0 -12
  444. package/notes +0 -1
@@ -1,22 +0,0 @@
1
- import buildQueryParameters from "./buildQueryParameters";
2
- import serializeQueryParameters from "../../../lib/serializeQueryParameters";
3
- var buildConnectionString_default = (connection = {}) => {
4
- let connectionString = "mongodb://";
5
- if (connection && (connection.username || connection.password)) {
6
- connectionString = `${connectionString}${connection.username || connection.password ? `${connection.username || ""}${!!connection.username && !!connection.password ? ":" : ""}${connection.password || ""}@` : ""}`;
7
- }
8
- if (connection && connection.hosts && Array.isArray(connection.hosts)) {
9
- connectionString = `${connectionString}${connection.hosts.map((host) => `${host.hostname}:${host.port}`).join(",")}`;
10
- }
11
- if (connection && connection.database) {
12
- connectionString = `${connectionString}/${connection.database}`;
13
- }
14
- const queryParameters = buildQueryParameters(connection);
15
- if (Object.keys(queryParameters)?.length > 0) {
16
- connectionString = `${connectionString}?${serializeQueryParameters(queryParameters)}`;
17
- }
18
- return connectionString;
19
- };
20
- export {
21
- buildConnectionString_default as default
22
- };
@@ -1,14 +0,0 @@
1
- import availableQueryParameters from "./availableQueryParameters";
2
- var buildQueryParameters_default = (connection = {}) => {
3
- const queryParameters = {};
4
- for (let i = 0; i < availableQueryParameters.length; i += 1) {
5
- const availableParameter = availableQueryParameters[i];
6
- if (connection && connection[availableParameter]) {
7
- queryParameters[availableParameter] = connection[availableParameter];
8
- }
9
- }
10
- return queryParameters;
11
- };
12
- export {
13
- buildQueryParameters_default as default
14
- };
@@ -1,40 +0,0 @@
1
- import { MongoClient } from "mongodb";
2
- import chalk from "chalk";
3
- import mongoUri from "mongo-uri-tool";
4
- import fs from "fs";
5
- import buildConnectionString from "./buildConnectionString";
6
- var mongodb_default = async (settings = {}, databasePort = 2610) => {
7
- const connection = settings?.connection || {
8
- hosts: [
9
- { hostname: "127.0.0.1", port: databasePort }
10
- ],
11
- database: "app",
12
- replicaSet: `joystick_${databasePort}`
13
- };
14
- const connectionString = buildConnectionString(connection);
15
- const parsedURI = mongoUri.parseUri(connectionString);
16
- try {
17
- const connectionOptions = {
18
- useNewUrlParser: true,
19
- useUnifiedTopology: true,
20
- ssl: !process.env.NODE_ENV?.includes("development"),
21
- ...settings?.options || {}
22
- };
23
- if (settings?.options?.ca) {
24
- connectionOptions.ca = fs.readFileSync(settings?.options?.ca);
25
- }
26
- const client = await MongoClient.connect(connectionString, connectionOptions);
27
- const db = client.db(parsedURI.db);
28
- return db;
29
- } catch (exception) {
30
- console.warn(chalk.yellowBright(`
31
- Failed to connect to MongoDB. Please double-check connection settings and try again.
32
-
33
- Error from MongoDB:
34
-
35
- ${chalk.redBright(exception?.message)}`));
36
- }
37
- };
38
- export {
39
- mongodb_default as default
40
- };
@@ -1,266 +0,0 @@
1
- import generateId from "../../../../lib/generateId";
2
- import dayjs from "dayjs";
3
- var accounts_default = {
4
- existingUser: async (input = {}) => {
5
- let existingUserWithEmailAddress;
6
- let existingUserWithUsername;
7
- if (input?.emailAddress) {
8
- existingUserWithEmailAddress = await process.databases._users?.collection("users").findOne({ emailAddress: input.emailAddress });
9
- }
10
- if (input?.username) {
11
- existingUserWithUsername = await process.databases._users?.collection("users").findOne({ username: input.username });
12
- }
13
- return existingUserWithEmailAddress || existingUserWithUsername ? {
14
- existingEmailAddress: existingUserWithEmailAddress?.emailAddress,
15
- existingUsername: existingUserWithUsername?.username
16
- } : null;
17
- },
18
- createUser: async (input = {}) => {
19
- const userId = generateId();
20
- await process.databases._users?.collection("users").insertOne({ _id: userId, ...input });
21
- return userId;
22
- },
23
- user: async (input) => {
24
- if (input?.emailAddress) {
25
- const user = await process.databases._users?.collection("users").findOne({ emailAddress: input.emailAddress });
26
- return user;
27
- }
28
- if (input?.username) {
29
- const user = await process.databases._users?.collection("users").findOne({ username: input.username });
30
- return user;
31
- }
32
- if (input?._id) {
33
- const user = await process.databases._users?.collection("users").findOne({ _id: input._id });
34
- return user;
35
- }
36
- return null;
37
- },
38
- deleteOldSessions: async (input = {}) => {
39
- const user = await process.databases._users?.collection("users").findOne({
40
- _id: input?.userId
41
- });
42
- if (user) {
43
- const sessions = user?.sessions?.filter((session) => {
44
- return dayjs(session?.tokenExpiresAt).isAfter(dayjs().utc().format());
45
- });
46
- await process.databases._users?.collection("users").updateOne({
47
- _id: input.userId
48
- }, {
49
- $set: {
50
- sessions
51
- }
52
- });
53
- }
54
- },
55
- addSession: async (input = {}) => {
56
- await process.databases._users?.collection("users").updateOne({
57
- _id: input.userId
58
- }, {
59
- $addToSet: {
60
- sessions: input.session
61
- }
62
- });
63
- },
64
- userWithLoginToken: async (input) => {
65
- const user = await process.databases._users?.collection("users").findOne({
66
- "sessions.token": input?.token
67
- });
68
- return user;
69
- },
70
- createVerifyEmailToken: async (input) => {
71
- const token = generateId();
72
- await process.databases._users?.collection("users").updateOne({
73
- _id: input?.userId
74
- }, {
75
- $addToSet: {
76
- verifyEmailTokens: {
77
- userId: input?.userId,
78
- token
79
- }
80
- }
81
- });
82
- return token;
83
- },
84
- userWithVerifyEmailToken: async (input) => {
85
- const user = await process.databases._users?.collection("users").findOne({
86
- "verifyEmailTokens.token": input?.token
87
- });
88
- return user;
89
- },
90
- markEmailVerifiedAt: async (input) => {
91
- const user = await process.databases._users?.collection("users").findOne({
92
- _id: input?.userId
93
- });
94
- await process.databases._users?.collection("users").updateOne({
95
- _id: input?.userId
96
- }, {
97
- $set: {
98
- emailVerified: true,
99
- emailVerifiedAt: new Date().toISOString(),
100
- verifyEmailTokens: user?.verifyEmailTokens?.filter((verifyEmailToken) => {
101
- return verifyEmailToken?.token === input?.token;
102
- })
103
- }
104
- });
105
- return true;
106
- },
107
- addPasswordResetToken: (input = {}) => {
108
- return process.databases._users?.collection("users").updateOne({
109
- emailAddress: input.emailAddress
110
- }, {
111
- $addToSet: {
112
- passwordResetTokens: {
113
- token: input.token,
114
- requestedAt: new Date().toISOString()
115
- }
116
- }
117
- });
118
- },
119
- userWithResetToken: async (input) => {
120
- const user = await process.databases._users?.collection("users").findOne({
121
- "passwordResetTokens.token": input["passwordResetTokens.token"]
122
- });
123
- return user;
124
- },
125
- setNewPassword: async (input = {}) => {
126
- return process.databases._users?.collection("users").updateOne({
127
- _id: input?.userId
128
- }, {
129
- $set: {
130
- password: input?.hashedPassword
131
- }
132
- });
133
- },
134
- removeResetToken: async (input = {}) => {
135
- const user = await process.databases._users?.collection("users").findOne({ _id: input?.userId });
136
- await process.databases._users?.collection("users").updateOne({
137
- _id: input?.userId
138
- }, {
139
- $set: {
140
- passwordResetTokens: user?.passwordResetTokens?.filter(({ token }) => {
141
- return token !== input?.token;
142
- })
143
- }
144
- });
145
- return process.databases._users?.collection("users").findOne({ _id: input?.userId });
146
- },
147
- addRole: async (input = {}) => {
148
- const existingRole = input?.role ? await process.databases._users?.collection("roles").findOne({ role: input?.role }) : null;
149
- if (!existingRole && input?.role) {
150
- await process.databases._users?.collection("roles").insertOne({
151
- _id: generateId(),
152
- role: input?.role
153
- });
154
- return {
155
- _id: input?.userId,
156
- action: "add",
157
- role: input?.role,
158
- ok: true,
159
- error: null
160
- };
161
- }
162
- return {
163
- action: "add",
164
- role: input?.role,
165
- ok: false,
166
- error: input?.role ? `Role already exists: ${input?.role}.` : `Must pass a name for role to add.`
167
- };
168
- },
169
- removeRole: async (input = {}) => {
170
- const existingRole = input?.role ? await process.databases._users?.collection("roles").findOne({ role: input?.role }) : null;
171
- if (existingRole) {
172
- await process.databases._users?.collection("users").updateMany({
173
- roles: { $in: [input?.role] }
174
- }, {
175
- $pull: {
176
- roles: input?.role
177
- }
178
- });
179
- await process.databases._users?.collection("roles").deleteOne({
180
- role: input?.role
181
- });
182
- return {
183
- _id: input?.userId,
184
- action: "remove",
185
- role: input?.role,
186
- ok: true,
187
- error: null
188
- };
189
- }
190
- return {
191
- action: "add",
192
- role: input?.role,
193
- ok: false,
194
- error: `Could not find an existing role with the name ${input?.role}.`
195
- };
196
- },
197
- listRoles: async (input = {}) => {
198
- const roles = await process.databases._users?.collection("roles").find().toArray();
199
- return (roles || []).map(({ role }) => role);
200
- },
201
- grantRole: async (input = {}) => {
202
- const user = await process.databases._users?.collection("users").findOne({ _id: input?.userId });
203
- if (user) {
204
- await process.databases._users?.collection("users").updateOne({ _id: input?.userId }, {
205
- $addToSet: {
206
- roles: input?.role
207
- }
208
- });
209
- const existingRole = await process.databases._users?.collection("roles").findOne({ role: input?.role });
210
- if (!existingRole) {
211
- await process.databases._users?.collection("roles").insertOne({
212
- _id: generateId(),
213
- role: input?.role
214
- });
215
- }
216
- return {
217
- _id: input?.userId,
218
- action: "grant",
219
- role: input?.role,
220
- ok: true,
221
- error: null
222
- };
223
- }
224
- return {
225
- _id: input?.userId,
226
- action: "grant",
227
- role: input?.role,
228
- ok: false,
229
- error: `User not found with the _id ${input?.userId}.`
230
- };
231
- },
232
- revokeRole: async (input = {}) => {
233
- const user = await process.databases._users?.collection("users").findOne({ _id: input?.userId });
234
- if (user && user.roles) {
235
- await process.databases._users?.collection("users").updateOne({ _id: input?.userId }, {
236
- $pull: {
237
- roles: input?.role
238
- }
239
- });
240
- return {
241
- _id: input?.userId,
242
- action: "revoke",
243
- role: input?.role,
244
- ok: true,
245
- error: null
246
- };
247
- }
248
- return {
249
- _id: input?.userId,
250
- action: "revoke",
251
- role: input?.role,
252
- ok: false,
253
- error: `User not found with the _id ${input?.userId}.`
254
- };
255
- },
256
- userHasRole: async (input = {}) => {
257
- const user = await process.databases._users?.collection("users").findOne({ _id: input?.userId });
258
- if (user && user.roles) {
259
- return user?.roles?.includes(input?.role);
260
- }
261
- return false;
262
- }
263
- };
264
- export {
265
- accounts_default as default
266
- };
@@ -1,111 +0,0 @@
1
- import dayjs from "dayjs";
2
- var queues_default = {
3
- addJob: function(jobToAdd = {}) {
4
- const db = process.databases._queues?.collection(`queue_${this.queue.name}`);
5
- return db.insertOne(jobToAdd);
6
- },
7
- countJobs: function(status = "") {
8
- const db = process.databases._queues?.collection(`queue_${this.queue.name}`);
9
- return db.countDocuments({ status });
10
- },
11
- deleteJob: function(jobId = "") {
12
- const db = process.databases._queues?.collection(`queue_${this.queue.name}`);
13
- return db.deleteOne({ _id: jobId });
14
- },
15
- getJobs: function(query = {}) {
16
- const db = process.databases._queues?.collection(`queue_${this.queue.name}`);
17
- return db.find(query).toArray();
18
- },
19
- getNextJobToRun: async function() {
20
- const db = process.databases._queues?.collection(`queue_${this.queue.name}`);
21
- const nextJob = await db.findOneAndUpdate({
22
- $or: [
23
- {
24
- status: "pending",
25
- nextRunAt: { $lte: dayjs().format() },
26
- lockedBy: { $exists: false }
27
- },
28
- {
29
- status: "pending",
30
- nextRunAt: { $lte: dayjs().format() },
31
- lockedBy: null
32
- }
33
- ]
34
- }, {
35
- $set: {
36
- status: "running",
37
- startedAt: dayjs().format(),
38
- lockedBy: this.machineId
39
- }
40
- }, {
41
- sort: {
42
- nextRunAt: 1
43
- }
44
- });
45
- return nextJob?.value;
46
- },
47
- initializeDatabase: function() {
48
- const db = process.databases._queues?.collection(`queue_${this.queue.name}`);
49
- db.createIndex({ status: 1 });
50
- db.createIndex({ status: 1, nextRunAt: 1 });
51
- if (this.queue.options?.cleanup?.completedAfterSeconds) {
52
- db.createIndex({ completedAt: 1 }, { expireAfterSeconds: this?.queue?.options?.cleanup?.completedAfterSeconds });
53
- }
54
- if (this.queue.options?.cleanup?.failedAfterSeconds) {
55
- db.createIndex({ failedAt: 1 }, { expireAfterSeconds: this?.queue?.options?.cleanup?.failedAfterSeconds });
56
- }
57
- },
58
- requeueJob: function(jobId = "", nextRunAt = null) {
59
- const db = process.databases._queues?.collection(`queue_${this.queue.name}`);
60
- return db.updateOne({ _id: jobId }, {
61
- $set: {
62
- status: "pending",
63
- nextRunAt
64
- },
65
- $unset: {
66
- lockedBy: ""
67
- }
68
- });
69
- },
70
- setJobsForMachineIncomplete: function() {
71
- const db = process.databases._queues?.collection(`queue_${this.queue.name}`);
72
- return db.updateMany({ status: "running", lockedBy: this.machineId }, {
73
- $set: {
74
- status: "incomplete"
75
- }
76
- });
77
- },
78
- setJobCompleted: function(jobId = "") {
79
- const db = process.databases._queues?.collection(`queue_${this.queue.name}`);
80
- return db.updateOne({ _id: jobId }, {
81
- $set: {
82
- status: "completed",
83
- completedAt: dayjs().format()
84
- }
85
- });
86
- },
87
- setJobFailed: function(jobId = "", error = "") {
88
- const db = process.databases._queues?.collection(`queue_${this.queue.name}`);
89
- return db.updateOne({ _id: jobId }, {
90
- $set: {
91
- status: "failed",
92
- failedAt: dayjs().format(),
93
- error
94
- }
95
- });
96
- },
97
- setJobsForMachinePending: function() {
98
- const db = process.databases._queues?.collection(`queue_${this.queue.name}`);
99
- return db.updateMany({ status: { $in: ["pending", "running"] }, lockedBy: this.machineId }, {
100
- $set: {
101
- status: "pending"
102
- },
103
- $unset: {
104
- lockedBy: ""
105
- }
106
- });
107
- }
108
- };
109
- export {
110
- queues_default as default
111
- };
@@ -1,6 +0,0 @@
1
- var addColumnToTable_default = (table = "", columnName = "", columnSchema = "") => {
2
- return process.databases._users?.query(`ALTER TABLE ${table} ADD COLUMN ${columnName} ${columnSchema}`);
3
- };
4
- export {
5
- addColumnToTable_default as default
6
- };
@@ -1,21 +0,0 @@
1
- const createUniqueIndex = async (indexName = "", tableName = "", tableColumns = []) => {
2
- return process.databases._users?.query(`CREATE UNIQUE INDEX IF NOT EXISTS ${indexName} ON ${tableName}(${tableColumns.join(", ")})`);
3
- };
4
- const createIndex = async (indexName = "", tableName = "", tableColumns = []) => {
5
- return process.databases._users?.query(`CREATE INDEX IF NOT EXISTS ${indexName} ON ${tableName}(${tableColumns.join(", ")})`);
6
- };
7
- var createAccountsIndexes_default = async () => {
8
- await createIndex("user_by_email", "users", ["email_address"]);
9
- await createIndex("user_by_username", "users", ["username"]);
10
- await createIndex("user_by_user_id", "users", ["user_id"]);
11
- await createIndex("user_session_by_token", "users_sessions", ["token"]);
12
- await createIndex("user_password_reset_token_by_token", "users_password_reset_tokens", ["token"]);
13
- await createIndex("user_password_reset_token_by_user_id_token", "users_password_reset_tokens", ["user_id", "token"]);
14
- await createIndex("user_role", "users_roles", ["role"]);
15
- await createIndex("user_roles_by_user_id_role", "users_roles", ["user_id", "role"]);
16
- await createIndex("role", "roles", ["role"]);
17
- await createUniqueIndex("user_roles", "users_roles", ["user_id", "role"]);
18
- };
19
- export {
20
- createAccountsIndexes_default as default
21
- };
@@ -1,39 +0,0 @@
1
- const createTable = async (table = "", tableColumns = []) => {
2
- return process.databases._users?.query(`CREATE TABLE IF NOT EXISTS ${table} (${tableColumns.join(", ")})`);
3
- };
4
- var createAccountsTables_default = async () => {
5
- await createTable("users", [
6
- "id bigserial primary key",
7
- "user_id text",
8
- "email_address text",
9
- "password text",
10
- "username text",
11
- "language text"
12
- ]);
13
- await createTable("users_sessions", [
14
- "id bigserial primary key",
15
- "user_id text",
16
- "token text",
17
- "token_expires_at text"
18
- ]);
19
- await createTable("users_password_reset_tokens", [
20
- "id bigserial primary key",
21
- "user_id text",
22
- "token text",
23
- "requested_at text"
24
- ]);
25
- await createTable("users_verify_email_tokens", [
26
- "id bigserial primary key",
27
- "user_id text",
28
- "token text"
29
- ]);
30
- await createTable("roles", ["id bigserial primary key", "role text"]);
31
- await createTable("users_roles", [
32
- "id bigserial primary key",
33
- "user_id text",
34
- "role text"
35
- ]);
36
- };
37
- export {
38
- createAccountsTables_default as default
39
- };
File without changes
@@ -1,55 +0,0 @@
1
- import postgresql from "pg";
2
- import chalk from "chalk";
3
- import os from "os";
4
- const { Pool } = postgresql;
5
- var postgresql_default = async (settings = {}, databasePort = 2610) => {
6
- const connection = settings?.connection || {
7
- hosts: [
8
- { hostname: "127.0.0.1", port: databasePort }
9
- ],
10
- database: "app",
11
- username: (os.userInfo() || {}).username || "",
12
- password: ""
13
- };
14
- try {
15
- const host = connection.hosts && connection.hosts[0];
16
- const pool = new Pool({
17
- user: connection?.username || "",
18
- database: connection?.database,
19
- password: connection?.password || "",
20
- host: host?.hostname,
21
- port: host?.port,
22
- ...settings?.options || {}
23
- });
24
- return {
25
- pool,
26
- query: (...args) => {
27
- return pool.query(...args).then((response) => {
28
- return response?.rows || [];
29
- }).catch((error) => {
30
- console.log(chalk.redBright(`
31
- Failed SQL Statement:
32
- `));
33
- console.log(args[0]);
34
- console.log(`
35
- `);
36
- console.log(chalk.redBright(`
37
- Failed Values:
38
- `));
39
- console.log(args[1]);
40
- throw error;
41
- });
42
- }
43
- };
44
- } catch (exception) {
45
- console.warn(chalk.yellowBright(`
46
- Failed to connect to PostgreSQL. Please double-check connection settings and try again.
47
-
48
- Error from PostgreSQL:
49
-
50
- ${chalk.redBright(exception?.message)}`));
51
- }
52
- };
53
- export {
54
- postgresql_default as default
55
- };