Skip to content

Consider turning validation of fields with dunderscore prefix back into warning. #1184

Closed
@alloy

Description

@alloy

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions