facebook / facebook/relay

Clarify which parts of the Relay spec are required or optional

Open
#3,146 1 comment 1 reaction 0 assignees View on GitHub
docs wontfix
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.