GraphQL public schema fails graphql-js 17 validation: deprecated implementation fields on non-deprecated interface fields #210385
Replies: 1 comment 1 reply
|
Thank you for your interest in contributing to our community! We currently only accept discussions created through the GitHub UI using our provided discussion templates. Please re-submit your discussion by navigating to the appropriate category and using the template provided. This discussion has been closed because it was not submitted through the expected format. If you believe this was a mistake, please reach out to the maintainers. |
1 reply
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.
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