refactor(cmd-api-server,core,core-api): use fastify, drop express #3598
Labels
Breaking_V1
Changes that can only be made with the release of v2 due to them being breaking changes.
P3
Priority 3: Medium
Significant_Change
Applying this label triggers the more stringent review of the maintainers and the 2+1 PR rule.
Triage_Needed
Triage if the issue is/still relevant, bug report is valid, arch/design details etc.
Milestone
Description
Express v5 just came out: https://expressjs.com/2024/10/15/v5-release.html
but it still doesn't support HTTP 2 so I'd say it's best for us to jump over to the Fastify bandwagon because it has proven itself already (we are already using it in the API server to serve ConnectRPC HTTP 2 traffic)
So this task is about taking it all the way and using Fastify for everything.
This involves modifying the core-api/core utility methods/types that are currently dependent on express types. This will be a massive breaking change so we need to schedule this for 3.0.0 instead of a minor or patch release of 2.x.
In the meantime what we can still (probably) do is identify a subset of the places in the code that can be refactored without breaking changes to not use the Express type signatures. (We can create our own type signatures with precision so that they only include a copy of the relevant parts of the Express types/method signatures).
Acceptance Criteria
express
and@types/express
are completely eliminated from the codebaseThe text was updated successfully, but these errors were encountered: