-
Notifications
You must be signed in to change notification settings - Fork 574
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
The future of GraphQL Yoga #449
Comments
Mentoning @DakshMiglani @maticzav @divyenduz @timsuchanek as the latest commiters to this repo - I thought that Prisma now have a huge financial support to don't let the open source projects die 😕 |
#439 related? |
@caseyduquettesc not only, all prisma packages has to be updated too: |
This is probably reason why apollographql/apollo-server#1505 (comment) doesnt work in graphql-yoga? By the way, i can't access |
In case somebody wants to migrate to Apollo Server v2, here's a reference. It uses the new Apollo errors and supports both |
@frandiox I really like that... solid work and thanks for sharing! |
Hey everyone, there have been a lot of questions and confusion around the future of Context & HistoryFor context, we have released Back then, we were striving to create the simplest solution for developers to get up-and-running with GraphQL. With GraphQL Yoga TodaySince the release of Apollo Server 2.0 which uses the same API as We have been scratching our heads over the past few weeks thinking hard about the future of As is obvious from the state of this repository, The Future of GraphQL YogaThere currently are a few urgent issues with As for the mid-/longterm future of the project, we'd love to hear your opinions and discuss them openly! Do you have ideas or wishes how Thanks 💚 |
I think Yoga, as is, still provides great value. For instance, it includes Apollo-Uploader out of the box for file uploads. The Express middleware API is miles better than Apollo 2.0. Going forward, I think there's room to be an opinionated Apollo Server. For instance, does anyone really care that you can use Apollo Server on top of Hapi? Choosing Express simplifies and streamlines everything. And I'd like to see more opinions incorporated like best practices for authentication and authorization. In other words, keep doing what made Yoga so great -- an opinionated, simpler API. As a business decision, Yoga may not make sense any longer, but from a developer standpoint, I think it has legs... or downward dogs. (Oh yoga puns) |
Agree with @LawJolla. Apollo Server 2.0+ is clearly aiming to be very usable by developers as their primary application framework, as opposed to a primitive. That means Yoga can only make sense if it fills a niche really really well. By becoming much more opinionated it will necessarily probably alienate some of its existing user-base. But I don't really see a way around that. Vague sketch of opinion areas Yoga could maybe have:
|
@jasonkuhrt great post, couldn't agree more. I'd like to expand on the folder / file structure suggestion. On one of my apps, I used an
I used However, once set up, I've found the pattern very useful and clear. I think a closer integration with and development of |
I believe if the efforts of maintaining Yoga were to move to creating extra plug and play features for Apollo Server, it would give more value to the GraphQL community. These extra Yoga features added to Apollo Server could be extra opt-in features. New developers wouldn't have to make the tough choice of choosing between Apollo Server or Yoga, and they would have a single framework that supports most of the features they want. I see the evolution of Apollo as becoming more modular when it refactored to 2.0, and this fits inline with the extra features Yoga could add. I understand that Prisma probably wants something to call their own, but having a fragmented library base is one of the pain points of Javascript development. |
@webberwang makes sense. At the same time if there can be a significant enough differentiation for Yoga, and it becomes amazing at its niche, then it would seem to by definition avoid the user pain and community fragmentation risks. I guess this thread has become about uncovering if such a product does/can exist. |
I found the port to Apollo very straight forward with virtually zero differences for my project. From this: import { GraphQLServer } from 'graphql-yoga';
const server = new GraphQLServer({
typeDefs: __dirname + '/schema/schema.graphql',
context: req => {
// using req.request
}
}); To this: import { ApolloServer } from 'apollo-server';
import { importSchema } from 'graphql-import';
import { parse } from 'graphql';
const server = new ApolloServer({
typeDefs: parse(importSchema(__dirname + '/schema/schema.graphql')),
context: ({ req }) => {
// `req.request` is now just `req`
}
}); I believe that Apollo2 offers all the simplicity that made me use |
Here is my take on porting to Apollo2, with prisma.
So I think effort should be put into migrating all the online prisma tutorial to using the Apollo2, including excellent howtographql site. |
Due to inactivity of this issue we have marked it |
Update: We started working on the foundation of Yoga 2 🎉 It's still very early but if you're interested feel free to get involved in the issues! 🕵️♀️ |
Due to inactivity of this issue we have marked it |
Due to inactivity of this issue we have marked it |
Hey 👋, It seems like this issue has been inactive for some time. In need for maintaining clear overview of the issues concerning the latest version of |
I migrate today to apollo server. |
@gotexis think of Prisma as your backend and GraphQL Yoga or Apollo Server on top of that. This is what your client will be accessing. If you go to your GraphQL Yoga/Apollo playground, the schema tab on the right is your |
This is a very informative thread, thanks guys! @schickling there has been little to no activity in the yoga2 repo since April, is this still in active development? Currently the only option is to migrate to Apollo Server 2, but ideally want to avoid multiple migrations if the suggestions here for what Yoga2 could provide becomes a reality |
Hey @bradleykhan in the coming weeks we will begin on a framework that realizes ideas alluded to in this thread. Can't give any precise timelines but do want to underscore a project will be getting underway. |
Ah lovely, thanks for the update! |
I still believe graphql-yoga still have the value. Please do update this project. This brings a big value . |
@riginoommen Check out https://github.com/prisma-labs/graphql-santa Note that it's still under active development and -- update |
I've spent a fair amount of time sifting through this now. Here's my two cents from the hours "booting up" on this stack. Fullstack example comparison Apollo vs PrismaThe apollo fullstack template is by far the most complete fullstack example out there. In my experience the Prisma fullstack template is broken, or very inconsistent. As someone relatively new the fullstack examples are my jumping off point and I'm extremely biased towards one that works well "out of the box". High level directionIt seems that Prisma1 was more focused on infrastructure (in addition to ORM functionality). The It seems to me that Prisma2 was a move to focus on the core offering: the ORM. I think this is a great move. Infrastructure is still being built by Prisma team, i.e. With this said, I imagine that projects like I realize this is a time of flux. One of the most frustrating things getting booted up is the multitude of examples using Prisma before the |
Update for anyone reading now, Nexus is the recommended complete GraphQL backend framework (https://www.prisma.io/docs/understand-prisma/prisma-in-your-stack) which comes with a plugin for Prisma2. Nexus originally was There's also an opinionated full-stack framework (with React frontend) called Blitz.js which also uses Prisma2. Update (9/30/2020) - seems Nexus is also being deprecated prisma-labs/graphql-framework-experiment#1432 |
Hey, @Urigo from The Guild here! You might know us from projects such as graphql-code-generator, envelop or graphql-tools. For a long time we thought that the Javascript ecosystem is still missing a lightweight cross-platform, but still highly customizable GraphQL Server. In the past the awesome Prisma team took on that great challenge and now we are happy to announce that we are continuing them and just released GraphQL Yoga 2.0 - Build fast, extensible, and batteries-included (Subscriptions, Serverless, File uploads support) GraphQL APIs in Node.js 🚀 We have been working a long time on version 2.0 and have been using it in our clients projects for a few months now and shared a couple of alpha cycles here. Please try Yoga out again, give us feedback and help us spread the word on the new release! |
It's been almost 4 weeks since release of
graphql-js
v14. There's plenty of PRs with deps update but the last commit on this repo was 26 days ago.I've tried to update the deps in my project but
graphql-yoga
is still in 0.13.x ecosystem which results in plenty of errors like this:I also get famous
Cannot use GraphQLSchema "[object GraphQLSchema]" from another module or realm.
error while trying to use the subscriptions.And it also rejects to compile
new GraphQLServer({ schema })
in TypeScript as there's a conflict ofGraphQLSchema
typings between 0.13 and 14.0 😕I would like to create a PR to fix that and upgrade the deps but someone has to merge it then 😄
The text was updated successfully, but these errors were encountered: