-
Notifications
You must be signed in to change notification settings - Fork 2k
gateway(feat): Allow complete SDL - follow-up to #4209 #4228
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gateway(feat): Allow complete SDL - follow-up to #4209 #4228
Conversation
This commit adds additional normalization to composition inputs in order to prevent duplicate directive errors when constructing the schema. The oversight from #4209 that's being corrected by this commit is to _also_ remove specified directive definitions (to be included by the composition work itself). Failure to remove them during composition results in duplicate definitions and graphql validation errors.
0f9d9dc
to
a97a502
Compare
What about common custom directives in federation schema? |
@tapaderster a good question! Composition actually already handles this, if you take a look at this #3536. Currently the type system directives are ignored by composition altogether (meaning they're supported, just implemented at the service level). See also #3464 for details on executable directives, which are also supported by the gateway but with some caveats. |
…-server#4209 (apollographql/apollo-server#4228) This commit adds additional normalization to composition inputs in order to prevent duplicate directive errors when constructing the schema. The oversight from apollographql/apollo-server#4209 that's being corrected by this PR is to also remove specified directive definitions (@deprecated, @Skip, @include, and @SpecifiedBy) from composition inputs. Failure to remove them during composition results in duplicate definitions and graphql validation errors if they are included in the composition inputs. Apollo-Orig-Commit-AS: apollographql/apollo-server@672fb1b
This PR adds additional normalization to composition inputs in order to prevent duplicate directive errors when constructing the schema.
The oversight from #4209 that's being corrected by this PR is to also remove specified directive definitions (
@deprecated
,@skip
,@include
, and@specifiedBy
) from composition inputs. Failure to remove them during composition results in duplicate definitions and graphql validation errors if they are included in the composition inputs.