* feat: disable uneecessary npm features
disables npm audit, fund and update-notifier for a few second startup speedup
* fix: make default actually defaults not forced values
* feat: upgrade on container changes
* feat: support changing build verb
* fix: use local volumes instead of bind mounts
* fix: save just the hash without any unexpected whitespace
* feat: use run with mount instead of copying for cross-platfomr builds
* ci: try with minimal cache
* ci: don't fetch all branches
* feat: bsic support for other package managers via PACKAGE_MANAGER env var
* refactor: better structured entrypoint
Co-authored-by: NavyStack <137406386+NavyStack@users.noreply.github.com>
* ci: properly cache the node_modules mount
* fix: syntax error
* refactor: fine tune docker-related files
* ci: docker image taging (time, latest)
* fix: remove the trailing slash for correct directory path
* docker: todo- use environment variables to create files
* docker: fix permissions
* docker: fix permissions
* docker: fix stage
* feat: auto-upgrade on package.json changes
* fix: don't profile-gate postgres
---------
Co-authored-by: NavyStack <137406386+NavyStack@users.noreply.github.com>
Co-authored-by: NavyStack <navystack@askfront.com>
* feat: testing suite integration for openapi spec
The testing suite now takes the openapi spec into account. It will
check each route defined, make a call to it, and compare the
response with the defined schema. Any mismatches will cause the
test to fail.
* fix(openapi): removed debug stuff from tests
* fix(openapi): fixed some tests
* fix(openapi): added additional check to tests, test fixes
* fix(openapi): better tests, fixed spec errors
* fix(openapi): bad conditional in test
* fix: oops
* fix(openapi): more tests fixing
* fix(openapi): more tests
* fix(openapi): fix some more tests
* fix: verbose'd an info log
* fix: topic pagination route returns schema-optimized pagination block
* fix(openapi): more test/spec fixes
* fix(openapi): accidentally sending in authenticated jar for anon routes
* fix(openapi): more test/spec fixes
* fix(openapi): more spec fixes
* fix: timestampReadable Invalid Date
* fix(openapi): more tests... almost there
* fix(openapi): more tests fixing
* fix(openapi): finally all tests passing
* fix(openapi): added reverse test to compare response to spec
... and fixed all the tests that broke
* fix: remove tests related to group covers, as route is gone
* fix(openapi): broken test on travis
* fix(openapi): broken test on travis
* fix(openapi): broken test on travis
* fix(openapi): object cache is not present for psql
* fix: tests
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
* feat: test psql without defineProperty
* feat: refactor psql
remove .bind calls, use module.pool.query directly
move requires to top of file
move promisify to bottom so .init etc are promisified
* feat: mongodb
move requires to bottom
* feat: redis
* WIP promisify
* promisify psql
* ability to skip some keys
* dont promisify client object
* remove async
* clone entire module so it has all properties
* add shim for node 6
* ignore sessionStore as well
* ignore pool on psql
* [test/database/list] Fix test list 4 being used in two different tests
* [database/postgres] PostgreSQL database driver
* [database/postgres] Make transactions work based on continuation scope.
* [database/postgres] Implement nested transactions
* eslint --fix
* Add database changes from earlier this week to the PostgreSQL driver.
* Fix typo
* Fix postgres.incrObjectFieldBy returning undefined instead of null when given NaN
* [database/postgres] Fix sortedSetsCard returning an array of strings.
* Update socket.io postgres adapter
* Fix PostgreSQL erroring when multiple updates are made to the same sorted set entry in a single operation.
Add a test case to catch this error.
* Fix lint errors.
* Only prune sessions on one instance in a cluster to avoid deadlocks.
They're caught and handled by the database server, but they spam the logs.
* Fix arguments.slice.
* [database/*] Allow databases other than Redis to provide pubsub for clustering if Redis is not present
* [pubsub] Delay messages sent before the database is ready until the database is ready.
* [pubsub] Restore old behavior of not using the database in non-clustered NodeBB instances.
See comment: https://github.com/NodeBB/NodeBB/pull/6233#issuecomment-357814968