deepstreamIO / deepstream.io

deepstream.io server
https://deepstreamio.github.io
MIT License
7.13k stars 382 forks source link

Upgrade dependencies #1135

Closed hugojosefson closed 10 months ago

hugojosefson commented 10 months ago

This builds upon https://github.com/deepstreamIO/deepstream.io/pull/1134 by @daanh432, which uses Node.js 18. In this PR, I upgrade (almost) all other dependencies, for security, and for trying to stay up-to-date.

For some dependencies, such as typescript v4 → v5, the amount of things to fix after such an upgrade was too great for me at the moment, so I stayed on the latest minor version I could successfully upgrade to.

Some minor, and some major, version upgrades to dependencies required small updates in code, which I included in each such upgrade commit together with the dependency version bump.

I successfully ran this command, at least after every major version upgrade commit, and at the end:

npm install \
&& npm run lint \
&& bash -euo pipefail ./scripts/tsc.sh \
&& npm test \
&& npm run e2e -- --fail-fast \
&& npm run e2e:uws -- --fail-fast \
&& bash scripts/package.sh true true \
&& node scripts/node-test.js \
&& node scripts/executable-test.js

That way, I feel confident this should work.

I have also tested the major upgrade of commander manually with the built executable ./build/deepstream, to make sure it sees the start command as the default and chooses the correct command when given another one.

I updated one test to make it work correctly in both Node.js 18 and Node.js 20, because the error message it checks for, becomes longer and more specific in Node.js 20.


Build is green on my fork's GitHub Actions: https://github.com/hugojosefson/deepstream.io/actions/runs/6591970600

jaime-ez commented 10 months ago

Awesome, I'll check the change and leave some comments

hugojosefson commented 10 months ago

Thank you @jaime-ez for taking the time to review and merge this!

jaime-ez commented 10 months ago

Thanks @daanh432 and @hugojosefson for your PRs! Awesome to see some actual work on the project from others. new release will be available soon, please test and inform any issues.

Cheers