-
Notifications
You must be signed in to change notification settings - Fork 55
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
Upgrading to Apollo Server 3.x #100
Comments
Yeah, I saw the migration guide and I saw it contains a lot of breaking changes. By the way, would be good to upgrade to the latest Apollo Server but would be good for any help. Could you open a PR with your changes? |
I would love to help out. Ill create a PR with my changes later today, would probably need to clean it up since I mostly just focused on finding the pieces that broke and getting the tests to pass. |
@abdavid how is the progress from your side? Create a draft if you need hands |
@icebob, Is there an update regarding this, or a projected timeline? |
It's not in my timeline, but PR is accepted. |
@icebob there is an existing PR, can it be merged? |
Not yet, because the PR is not correct. |
So, now should we skip v3 and try upgrading all deps to be compatible with v4?? @icebob How can I help?? |
@jbool24 please check this PR #118 (comment) It already contains some work re migration to v4 |
@AndreMaz @jbool24 Not really sure if it is worth migrating to v4, just a quick glance at #118 and checking out the code locally it is in a quite broken state. To me it looks like a large amount of work needed to migrate to v4 or v3 for that matter. For me it would look like we would need to create an ApolloServer plugin and use the addPlugin interface Apollo supplies. Also we need to consider that graphql-upload is not compatible with the project anymore considering that it is purely in mjs now. I would argue that a re-implementation of graphql support for moleculer might be an easier approach. Also there has happened a lot with graphql. Like I mentioned before, adopting graphql yoga from The Guild could also improve some performance aspects while also improving DX. Yoga repo: https://github.com/dotansimha/graphql-yoga |
I've also created a package which eliminates apollo server entirely in favor of graphql-tools. It needs some polish still but it's working. I don't have a timeline for doing the additional work, but I think this path is better than relying on Apollo server. https://github.com/shawnmcknight/moleculer-graphql |
Thanks @shawnmcknight ! Ill test out replacing our current apollo variant with |
@shawnmcknight more or less a complete drop-in replacement, thanks for your awesome work. Though I get what you mean that it needs a little polish, some more optional types and more examples will go along way. |
Are there plans in motion to upgrade to latest Apollo server?
One of the main breaking changes revolve around subscriptions being refactored out. The migration guide outlines a possible way to continue to support subscriptions through
ws
with a workaround, but also states that client would have to be adjusted accordingly to make it work as I understand it.I did a quick refactor in my fork of this project to see how much would break, and while the subscription support has been removed and some of the exports from
apollo-core-server
has changed, I managed to get tests to pass (while still removing references to subscriptions though!)Thinking ahead would it be feasible to create a new major version of this module, documenting the breaking changes so that those that require the subscription support can stay in 2.x land, while those who do not get the bright and shiny 3.x, and start paving the way for 3.x that will get subscription support at some point?
Thoughts? @icebob
The text was updated successfully, but these errors were encountered: