Skip to content

Add support for apollo federated schema#1

Open
leehambley wants to merge 70 commits intomasterfrom
add-support-for-apollo-federated-schema
Open

Add support for apollo federated schema#1
leehambley wants to merge 70 commits intomasterfrom
add-support-for-apollo-federated-schema

Conversation

@leehambley
Copy link
Copy Markdown
Owner

ℹ️ I don't expect this PR to go upstream. I have made it possible to parse "invalid" GraphQL syntax, see below:

The parser probably should parse "invalid" unions. The GraphQL spec provides a grammar which permits empty unions, and then a separate section which dictates that this is invalid. I have modified the parser to accept the same grammar as the GraphQL spec, but I have not added a check for "invalid" (i.e empty) unions.

Leonard Chin and others added 2 commits July 26, 2021 23:09
Since Ruby 3, hash passed as kwargs will be removed if empty.
This can result in a value of `{}` being converted to `nil`,
ultimately leading to a validation error.
@leehambley
Copy link
Copy Markdown
Owner Author

This PR in my fork of the GraphQL gem adds support for the two little fixes (and misc tidy-ups) to parse the federated schema #1

anujbiyani and others added 27 commits August 9, 2021 14:04
…rguments

track deprecated arguments alongside deprecated fields
Add multi-tenant support for subscriptions
Update wording of the `max_page_size` option to include database limit
Refinements have a very significant performance overhead.
The simple fact of refining a method, even if the refinement
is never used will make calls to that method 40% slower.

On rarely called methods in doesn't matter that much, but graphql-ruby
refine some common String methods, so any project including
the gem suffer from a significant performance penalty.

See this benchmark for more details:
https://gist.github.com/casperisfine/1c46f05cccfa945cd156f445f0d3d6fa
Avoid refining String when not necessary
Ensures numbers are parsed with base 10 in BigInt - Issue rmosolgo#3585
Relay 11 fix, remove request as a dependency
Robert Mosolgo and others added 29 commits September 3, 2021 09:52
Update position of keyword argument in doc example
Properly detect input objects for authorization
Ruby 3: Don't pass empty hash as kwargs
Add support for apollo client:codegen --target json files
> Default implementation returns the root object.

- Subscription#update returns root object by default
- Subscription#subscribe returns :no_response by default
So this line seems to be a typo for Subscription#subscirbe.
Fix typo for Subscription#subscribe documentation
Due to the error, this must be looks like this change
This commit aims to solve the issue rmosolgo#3619 - providing a query argument
of an incorrect type would yield a `NoMethodError` due to the incorrect
type argument to be allowed through to the lexer (which assumes it to be
a string).

As this parameter is, more often than not, feed from an external source
(e.g. a web request), this commit assumes a more defensive approach and
ensures that when the `GraphQL::Query` is initialized, the query string
is indeed of the correct type (a string).

As discussed in the issue, an `ArgumentError` is raised when a type
mismatch is identified.
Suggest using rails/globalid for object identification
…-weight

Add missing font-weight to guides
…y-request-exception

Assert that query is a string on GraphQL::Query#initialize
equals or any members

This still fails our exemplaray tests, but the error is now on the
repeatable keyword.
@leehambley leehambley force-pushed the add-support-for-apollo-federated-schema branch from 8f909db to a3b96f7 Compare October 11, 2021 11:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.