Description
Based on some old discussion (not sure where anymore so can’t provide links) we decided to use __id
for global object IDs in our schema.
Recently, an initial change to the name validation started throwing errors for fields starting with a dunderscore. This was then turned into a warning so legacy schemas wouldn’t immediately fail to load. But then this recent change turned the warnings into hard errors again.
While I completely understand that this name is not in line with the spec, graphql-js is < v1 which according to semver means anything can change, and in principle throwing an error makes sense; the problem is that I’d rather not have to make very hard breaking changes to our schema (and break current iOS app versions) until either:
- we are going to make sweeping changes anyways (we’re currently experimenting with stitching schemas from backend services, which could lead to a great time to introduce a v2 of our schema)
- there are technical reasons for graphql-js to no longer being able to support fields with dunderscore prefixes
I think the previous logged warning was big enough that people wouldn’t adopt new fields in their schema that use a dunderscore prefix.
PS: I’m mostly making this case for others in the community, I have no problem simply disabling the check in our apps.