GraphQL public schema fails graphql-js 17 validation: deprecated implementation fields on non-deprecated interface fields #210386
Unanswered
blimmer
asked this question in
Apps, API and Webhooks
Replies: 1 comment
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
🏷️ Discussion Type
Bug
💬 Feature/Topic Area
API
Body
GitHub's public GraphQL schema (https://docs.github.com/public/fpt/schema.docs.graphql) fails schema validation in graphql-js 17. Version 17 added a rule: if an interface field isn't deprecated, a type implementing that interface can't deprecate its copy of the field. GraphQL Code Generator and gql.tada both validate the schema they load, so on graphql 17 they reject GitHub's schema and stop.
With
graphql@17.0.2, the current schema has 8 errors:To reproduce:
All eight deprecated fields are past the removal dates in their deprecation reasons:
Project.idand the other Projects (classic) fields on 2025-04-01,databaseIdon 2024-07-01, and theTeamsubscription fields on 2026-07-01.Any of these would fix it:
@deprecatedfrom the implementing field and move the notice into the field's description.Someone else hit the same errors in July: 0no-co/gql.tada#574. For now we're working around it by turning off schema validation in codegen (
assumeValid: true).All reactions