Clarify which parts of the Relay spec are required or optional
- Dominant language
- Rust
- Stars
- 19k
- Forks
- 1.9k
- PR merge metrics
- No merged PRs in 30d
Description
I think the wording in the [Relay spec](https://relay.dev/docs/en/graphql-server-specification.html) ([`GraphQL-ServerSpecification.md@d9c93d7`](https://github.com/facebook/relay/blob/d9c93d7143f04407111011f72d023ce596293d8e/docs/GraphQL-ServerSpecification.md)) could be a bit more clear about what must be implemented vs. what is just a recommendation, and what are the implications of ignoring a recommendation. That would be useful for people like myself who are not familiar with the Relay client and possibly just wonder about the schema design.
After some research, I think that very little is actually required by Relay, not even the `Node` interface (which shocked me 😄). I think that only the `id` fields containing unique values are a hard requirement, at least that's my takeaway from [this helpful thread](https://www.reddit.com/r/graphql/comments/hv32fo/implementing_relay_spec_on_the_server_what_are/) on Reddit (thanks @AndrewIngram!).
I'm not a Relay user so probably won't be able to submit a useful pull request but wanted to leave this piece of feedback here.
Contributor guide
Assessment
This issue has not been assessed yet.