Skip to content

Upgrade dependencies and local dev setup - #166

Merged
coder13 merged 17 commits into
masterfrom
dep-upgrade
Jul 9, 2026
Merged

Upgrade dependencies and local dev setup#166
coder13 merged 17 commits into
masterfrom
dep-upgrade

Conversation

@coder13

@coder13 coder13 commented Jul 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • merge the mongoose upgrade work into the shared dependency-upgrade branch
  • remove unused direct dependencies and patch small server runtime dependencies
  • add Docker Compose services for local MongoDB and Redis
  • fix local startup when the optional announcements file is missing
  • move the client path to Node 16 with compatible Sass/lint dependency updates

Verification

  • client npm ci on Node 16
  • client lint, tests, and production build on Node 16
  • server lint and no-op server tests on Node 16
  • app smoke-tested locally with Express, Socket.IO, MongoDB, Redis, and client dev server
  • browser smoke test renders without the dev error overlay
  • root Cypress smoke passes on Node 20 with writable Cypress cache/config redirected to /tmp

coder13 and others added 17 commits July 8, 2026 14:37
Move the server to Mongoose 6.13.9 to clear the direct Mongoose audit findings. Remove obsolete Mongoose 5 connection options and set strictQuery explicitly to preserve existing query behavior.
Bumps [qs](https://github.com/ljharb/qs) to 6.15.3 and updates ancestor dependency [cypress](https://github.com/cypress-io/cypress). These dependencies need to be updated together.


Updates `qs` from 6.14.2 to 6.15.3
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](ljharb/qs@v6.14.2...v6.15.3)

Updates `cypress` from 13.17.0 to 15.18.1
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](cypress-io/cypress@v13.17.0...v15.18.1)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.15.3
  dependency-type: indirect
- dependency-name: cypress
  dependency-version: 15.18.1
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Drop unused client and server package entries so deprecated and vulnerable packages are no longer installed directly. This removes the server socket.io-logger/flat audit path without changing application code.
Update Express, sessions, Passport, OAuth, fetch, Moment, and Morgan to reduce server production audit exposure. Adjust logout for Passport's callback-based API and remove unused direct cookie/semver dependencies.
Move server UUID imports off the removed uuid/v4 path and update the direct server dependency to uuid 11. Client UUID remains unchanged because uuid 11 syntax is not parseable by the current Jest/Webpack 4 setup.
Add a root compose file for MongoDB and Redis so contributors can start the backing services without installing them directly. Update the README development flow to use Compose and call out default-port conflicts.
Return an empty successful response when the optional server announcements file is absent. This prevents the client from showing a development error overlay during local startup.
Move the client CI job and local Node version to Node 16. Update node-sass and sass-loader for Node 16 compatibility, refresh the client lockfile with npm 8, and fix the stricter React lint findings exposed by the dependency update.
Add a test-only auth path guarded by LETSCUBE_TEST_AUTH so Cypress can log in without external WCA OAuth. Expand the Cypress CI job to boot MongoDB, Redis, the server, the socket server, and the client before running a browser test that creates a room through the frontend.
Move the local/client CI runtime to Node 18. Update node-sass and sass-loader for Node 18 compatibility, and run Webpack 4 start/build with the legacy OpenSSL provider required on Node 17+.
Replace npm lockfiles with Yarn classic locks across the root, client, and server package roots. Update CI, Netlify, and Husky commands to use Yarn, and pin Cheerio for Enzyme compatibility under Node 18.
Netlify is not part of the active deployment path for this app, but its deploy-preview checks still report on PRs. Skip deploy-preview builds in both Netlify configs so dependency upgrade PRs are gated by GitHub Actions instead, and ignore local Netlify link metadata.
Move client and server under root Yarn classic workspaces with a single lockfile. Add Turbo for root lint, test, and build orchestration, update CI to install once from the root, and document the new workspace commands.
Update local, CI, and Netlify Node pins to 22.17.0. Replace node-sass with Dart Sass so the client install and build work on Node 22 without engine ignores.
Expand Cypress full-stack checks for unauthenticated lobby/API behavior, login, room reload/listing, and chat socket roundtrips.

Add a server unit test for socket room mapping.
@coder13
coder13 merged commit 3f9edae into master Jul 9, 2026
6 checks passed
@coder13 coder13 mentioned this pull request Jul 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant