apollographql / apollographql/apollo-server
Call for maintainers: apollo-server-micro
- Dominant language
- TypeScript
- Stars
- 14k
- Forks
- 2k
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 2
Description
As described in [the roadmap](https://github.com/apollographql/apollo-server/blob/main/ROADMAP.md), Apollo Server 4 will shift from the model of "9 web framework integrations maintained by a team who only uses one of them and nope, you can't create your own" to "a stable web framework integration API that anyone can use for their favorite web framework".
As part of this, the Apollo Server core team is no longer planning to maintain `apollo-server-micro`. We think users of Micro are best served if their framework integration is maintained by a team of people who use Micro every day.
This is where you come in! Do you love Micro? Do you use it with Apollo Server? Would you like to be part of a team of community members who maintain `apollo-server-micro`?
If so, chime in below! We'd love to find a group of people who will maintain the Apollo Server 4 version of `apollo-server-micro`, and to help us maintain the section of the Apollo Server docs that shows how to use Apollo Server with Micro.
We expect that maintaining this package will be more straightforward than maintaining an Apollo Server integration today, because its only responsibility will be translating Micro's HTTP request and response objects to the formats used by Apollo Server's new API.
At the time that this issue is opened, we are actively looking for interested collaborators; however, the API you'll be implementing isn't yet ready. We can use this issue to get a team together who can get started at some point between an initial alpha release of the new `@apollo/server` package and the final v4.0.0 release.
Some Micro-specific notes:
- apollo-server-micro doesn't currently support all features that other Apollo Server integrations support (setting CORS headers, drainServer, etc). This means this is a nice opportunity to bring it to feature parity with other integrations, although some of that will be done in the opposite way where some of these features will no longer be the responsibility of Apollo Server at all.
- As far as we understand, the vast majority of people using apollo-server-micro are not actually using it with Micro, but are using it with NextJS, and are doing so because some sample apps in the NextJS repository do so. I have attempted to change the examples to use apollo-server-express (because it supports more features than Micro and works fine in NextJS) and upgrade the examples to AS3 but they have not [merged my PR](https://github.com/vercel/next.js/pull/30082). I am honestly quite curious to learn if anybody actually uses Micro itself with Apollo Server; if not it might be that this just isn't needed any longer. (NextJS users should be able to use `@apollo/server` directly in AS4 with no special integration, just like Express users.)
Contributor guide
Research direction
The issue names ROADMAP.md and the Apollo Server 4 integration API as starting references; read the roadmap, then follow the API once it is available. Done is not defined yet: this issue seeks maintainers for a future apollo-server-micro implementation and related documentation, so its scope and entry points still need to be established.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nextjs, typescript
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100