Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(cmd-api-server): use fastify, drop express #3778

Open
jagpreetsinghsasan opened this issue Feb 19, 2025 · 0 comments
Open

refactor(cmd-api-server): use fastify, drop express #3778

jagpreetsinghsasan opened this issue Feb 19, 2025 · 0 comments
Labels
Breaking_V2 Changes that can only be made with the release of v3.0.0 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

Comments

@jagpreetsinghsasan
Copy link
Contributor

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

  1. All tests are still passing.
  2. express and @types/express are completely eliminated from the codebase
@jagpreetsinghsasan jagpreetsinghsasan added Breaking_V2 Changes that can only be made with the release of v3.0.0 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. labels Feb 19, 2025
@jagpreetsinghsasan jagpreetsinghsasan added this to the v3.0.0 milestone Feb 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Breaking_V2 Changes that can only be made with the release of v3.0.0 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.
Projects
None yet
Development

No branches or pull requests

1 participant