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

feat: Update graphql yoga to v3 #8250

Open
wants to merge 3 commits into
base: alpha
Choose a base branch
from

Conversation

ardatan
Copy link

@ardatan ardatan commented Oct 19, 2022

New Pull Request Checklist

Issue Description

Hi @parse-community team!

We recently released v3 of GraphQL Yoga with bunch of improvements and new features.
You can see the changelog and also the migration guide for all the changes done between v2 and v3.

Migration guide; https://www.the-guild.dev/graphql/yoga-server/v3/migration/migration-from-yoga-v2
Changelog; https://github.com/dotansimha/graphql-yoga/blob/v3/packages/graphql-yoga/CHANGELOG.md

Related issue: #8314
Closes: #8314

Approach

  • Replace @graphql-yoga/node with graphql-yoga
  • Remove cors middleware because graphql-yoga handles CORS already
  • Refactor server instantiation code because Yoga accepts schema factory functions as schema in v3

TODOs before merging

  • Add tests

@parse-github-assistant
Copy link

parse-github-assistant bot commented Oct 19, 2022

Thanks for opening this pull request!

  • 🎉 We are excited about your hands-on contribution!

@ardatan ardatan changed the title Update GraphQL Yoga to v3 feat: update graphql yoga to v3 Oct 19, 2022
@mtrezza
Copy link
Member

mtrezza commented Oct 20, 2022

Thanks for opening this PR

Even if it is Beta, it is production ready and we already started using it in production for months. It is still Beta because we think we might introduce some breaking changes in the API in the meanwhile :)

We'll wait until it is published as stable release before merge, but great that you opened the PR already so we can prepare.

@mtrezza
Copy link
Member

mtrezza commented Nov 10, 2022

Hi there, we are preparing the Parse Server 6 release this month. If this PR contains any breaking changes, this would be a good time to merge it. The next opportunity for merging breaking changes (without deprecation) will be end of 2023.

cc @Moumouls for this GraphQL PR

@Urigo
Copy link

Urigo commented Nov 10, 2022

@mtrezza we are very close to major, please wait for us so we can push this forward!
How long do we have to finish it until Parse Server 6?

@Urigo
Copy link

Urigo commented Nov 10, 2022

also, can you please approve the workflow so we can have a view into the current state?
thanks

@mtrezza
Copy link
Member

mtrezza commented Nov 10, 2022

Could you resolve the conflicting files, so I can run the workflow?
Planned deadline for PRs to merge for Parse Server 6 is Dec 1st. Do you have an ETA for the major release?

@parse-github-assistant
Copy link

I will reformat the title to use the proper commit message syntax.

@parse-github-assistant parse-github-assistant bot changed the title feat: update graphql yoga to v3 feat: Update graphql yoga to v3 Nov 11, 2022
@ardatan
Copy link
Author

ardatan commented Nov 11, 2022

@mtrezza Rebased the conflicts

Planned deadline for PRs to merge for Parse Server 6 is Dec 1st. Do you have an ETA for the major release?

I think we will probably release it before December 1st.

@mtrezza
Copy link
Member

mtrezza commented Nov 11, 2022

Let's coordinate then, you can keep us updated here or reach out to me directly via our Slack.
Could you open an issue that refers to this PR, so I can track it in our TODO list for Parse Server 6?

@mtrezza mtrezza added state:breaking Breaking change requires major version increment and `BREAKING CHANGE` commit message block:major Needs to be resolved before next major release; remove label afterwards labels Nov 11, 2022
@parse-github-assistant

This comment was marked as off-topic.

@parse-github-assistant parse-github-assistant bot removed the block:major Needs to be resolved before next major release; remove label afterwards label Nov 11, 2022
@mtrezza mtrezza added the block:beta Needs to be resolved before next release on beta branch; remove label afterwards label Nov 11, 2022
@parse-github-assistant

This comment was marked as off-topic.

@parse-github-assistant parse-github-assistant bot removed the block:beta Needs to be resolved before next release on beta branch; remove label afterwards label Nov 11, 2022
@Moumouls
Copy link
Member

@ardatan @mtrezza i'll take a look also to the changeling of yoga V3 before merging this 🚀

Thanks @ardatan for the pr :)

@mtrezza
Copy link
Member

mtrezza commented Nov 12, 2022

I've opened #8314 to track this for our Parse Server 6 release.

@ardatan
Copy link
Author

ardatan commented Nov 21, 2022

Is there anything we can help here to get this merged?

@mtrezza
Copy link
Member

mtrezza commented Nov 21, 2022

Resolving the conflict would be good

@ardatan
Copy link
Author

ardatan commented Nov 21, 2022

Done!

@mtrezza
Copy link
Member

mtrezza commented Dec 21, 2022

The package-lock.json file was created with an old version of npm,

The lockfile is v1; we have #8274 that will bump it to v2 on the alpha branch, but it's still in the works. You could either wait until the PR is merged, or use Node <=14 when you run npm i.

@mtrezza
Copy link
Member

mtrezza commented Dec 21, 2022

We are nearing the feature freeze of Parse Server 6. What's missing in this PR to merge it?

@mtrezza
Copy link
Member

mtrezza commented Dec 22, 2022

@ardatan We have merged the upgrade to lock-file version 2. Could you rebase this PR on the latest commit? This should solve the install issue.

@ardatan ardatan force-pushed the yoga-v3 branch 4 times, most recently from 45feb12 to d06a12d Compare December 22, 2022 15:48
package.json Show resolved Hide resolved
package.json Show resolved Hide resolved
package.json Show resolved Hide resolved
package.json Show resolved Hide resolved
@Moumouls
Copy link
Member

@ardatan @mtrezza with have some deep fails also related to the custom schema system, i will not be able to take a deep look until mid January, btw @mtrezza this PR should be okay to be in Parse V6 later since it will not introduce any breaking changes to interfaces exposed to Parse developers. It's just an internal refactoring as i can see

@mtrezza
Copy link
Member

mtrezza commented Dec 22, 2022

it will not introduce any breaking changes

Thanks for clarifying, I was going with @ardatan's comment, but he probably meant the internal API:

It is still Beta because we think we might introduce some breaking changes in the API in the meanwhile :)

So I'll remove the breaking label and I'll also remove this from the "planned changes" list of PS6.

@mtrezza mtrezza removed the state:breaking Breaking change requires major version increment and `BREAKING CHANGE` commit message label Dec 22, 2022
@mtrezza mtrezza mentioned this pull request Dec 22, 2022
3 tasks
@mtrezza
Copy link
Member

mtrezza commented Mar 16, 2023

What is the status of this PR? Can we get this ready for merge?

@ardatan
Copy link
Author

ardatan commented Mar 16, 2023

If you help us with failing tests, we'd love to proceed.

@mtrezza
Copy link
Member

mtrezza commented Mar 16, 2023

@parse-community/server heads up to GraphQL developers; this PR needs a helping hand to upgrade the GraphQL API

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Upgrade to GraphQL Yoga 3
4 participants