eslint-plugin-graphql
eslint-plugin-graphql copied to clipboard
Support Relay __id
Hi 👋,
I have the below Relay GraphQL query:
fragment expandedCard on Board {
__id // Cannot query field "__id" on type "Board".eslint(graphql/template-strings)
}
However, ESLint rule graphql/template-strings complains about "FieldsOnCorrectType" because __id does not exist in the schema. However, The __id field is NOT something that GraphQL API needs to expose. Instead, it's an identifier that Relay automatically adds to identify the connection record. I guess it's valid for anyone who uses Relay. See this example.
After reading a few Github threads, I notice that __id is in the considering of being added to GraphQL spec but there is no consensus yet.
As a workaround, I can remove 'FieldsOnCorrectType' from the validators for Relay and build a custom ESLint rule for it. Just wondering if you can think of any other work around. Thanks 🙂
I am running into this issue as well. Is there a way to suppress this lint for a given field?
Hey @rbalicki2 👋
Unfortunately we are deprecating this library as its largely gone unmaintained in recent years. We are recommending the switch to graphql-eslint since its much more maintained and fully featured at this point. Apologies we haven't actually gone through the motions to archive this repo and deprecate in npm!