-
-
Notifications
You must be signed in to change notification settings - Fork 816
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
typescript@4.7
readiness (refine generic typings via extends
)
#4382
Conversation
🦋 Changeset detectedLatest commit: cf00ff8 The changes in this PR will be included in the next version bump. This PR includes changesets to release 28 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
This pull request is being automatically deployed with Vercel (learn more). 🔍 Inspect: https://vercel.com/theguild/graphql-tools/FkhYnh7xkSnFGkwXpd6db7U6FGKt [Deployment for cf00ff8 failed] |
typescript@4.7.0-beta
typescript@4.7
readiness (refine generic typings via extends
)
Thank you @trevor-scheer! |
@ardatan done! Thanks 😄 |
Thanks @trevor-scheer 🙏 |
…rs (#6940) Similar to ardatan/graphql-tools#4382, but these didn't turn up in the 4.7 upgrade. Likely related to microsoft/TypeScript#49489. Solution is to constrain our generics appropriately. <!-- First, 🌠 thank you 🌠 for taking the time to consider a contribution to Apollo! Here are some important details to follow: * ⏰ Your time is important To save your precious time, if the contribution you are making will take more than an hour, please make sure it has been discussed in an issue first. This is especially true for feature requests! * 💡 Features Feature requests can be created and discussed within a GitHub Issue. Be sure to search for existing feature requests (and related issues!) prior to opening a new request. If an existing issue covers the need, please upvote that issue by using the 👍 emote, rather than opening a new issue. * 🔌 Integrations Apollo Server has many web-framework integrations including Express, Koa, Hapi and more. When adding a new feature, or fixing a bug, please take a peak and see if other integrations are also affected. In most cases, the fix can be applied to the other frameworks as well. Please note that, since new web-frameworks have a high maintenance cost, pull-requests for new web-frameworks should be discussed with a project maintainer first. * 🕷 Bug fixes These can be created and discussed in this repository. When fixing a bug, please _try_ to add a test which verifies the fix. If you cannot, you should still submit the PR but we may still ask you (and help you!) to create a test. * 📖 Contribution guidelines Follow https://github.com/apollographql/apollo-server/blob/main/CONTRIBUTING.md when submitting a pull request. Make sure existing tests still pass, and add tests for all new behavior. * ✏️ Explain your pull request Describe the big picture of your changes here to communicate to what your pull request is meant to accomplish. Provide 🔗 links 🔗 to associated issues! We hope you will find this to be a positive experience! Open source contribution can be intimidating and we hope to alleviate that pain as much as possible. Without following these guidelines, you may be missing context that can help you succeed with your contribution, which is why we encourage discussion first. Ultimately, there is no guarantee that we will be able to merge your pull-request, but by following these guidelines we can try to avoid disappointment. -->
Description
This PR was initially intended to be a reproduction of build errors caused by upgrading the TS version (to
typescript@4.7.0-beta
). This is now intended to be merged as-is, having resolved the build errors caused by upgrading totypescript@4.7.0-beta
(followed by reverting the upgrade with no breakage).The changes introduced in this PR bring this repo to
typescript@4.7
compatible while maintaining the existing typescript version for now. In doing so, a lot of the generic typings have been refined, so this seems like a win-win.I've gone through and resolved the build errors (seemed to mostly all be of the class of error mentioned in microsoft/TypeScript#48366). This seems ready to go if the maintainers agree with these changes.
Related #4381
Type of change
Please delete options that are not relevant.
This is possibly breaking if my changes affect the public API and if users are misusing the generics. To that end I would call this a patch/bug fix, but it's worth noting. Maybe this change is deserving of a changeset?
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
typescript@4.7.0-beta
onmain
, note build failurestypescript@4.7.0-beta
on this branch, build succeedsTest Environment:
@graphql-tools/...
:latest
v16.5.0
Checklist: