Skip to content
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

merge graphql-tools-fork into v5 #1307

Merged
merged 249 commits into from
Mar 27, 2020
Merged

merge graphql-tools-fork into v5 #1307

merged 249 commits into from
Mar 27, 2020

Conversation

yaacovCR
Copy link
Collaborator

@yaacovCR yaacovCR commented Mar 26, 2020

  • If this PR is a new feature, reference an issue where a consensus about the design was reached: in progress, see v5 Roadmap #1306.
  • Make sure all of the significant new logic is covered by tests
  • Rebase your changes on next so that they can be merged easily
  • Make sure all tests and linter rules pass
  • Update CHANGELOG.md with your change: only subset of changes are in CHANGELOG.

yaacovCR and others added 30 commits March 26, 2020 15:00
graphql-subscriptions 1.1.0 only adds listeners after first call to next(), see apollographql/graphql-subscriptions#148
Use new relocatedError function to update the original GraphQLErrors
with the new path. Addresses ardatan#743, ardatan#1037, ardatan#1046,
apollographql/apollo-server#1582.
Refactoring in v5.1.0 introduced a regression when nullable root fields returned
null without errors.
BREAKING CHANGE: This change allows enums and custom scalars to be used as arguments
within merged schemas. It also fixes seralization and deserialization
more generally within merged schemas. If an implementation is available
for a custom scalar within a merged schema (i.e., the schema is local),
the internal representation will be available for use with stitching.
Previously, the merged schema internally used the serialized version.
Closes #10. Renamed resultObject to result to remind code/coders that the result may be a scalrar, not an object, and may be falsy without being equivalent to null.
…hema to take remote schema configurations as parameters

This removes the need for makeRemoteExecutableSchema, removing an unnecessary layer of schema delegation.

This change introduces a RemoteGraphQLSchema type which consists of a GraphQLSchema object annotated with link, fetcher, or dispatcher properties that can be used by delegateToSchema to access the remote schema. The dispatcher function takes the graphql context eventually passed to delegateToSchema as an argument and returns a link or fetcher function.
…mer property to properly return errors from transformed queries.
Provides building blocks to allow transforming object types by wrapping a field with a new object type or by extracting subfields from a field of a certain object type into the parent:

 = Adds new ExtendSchema transformer to extend the wrapping schema within transformSchema with new fields.
 = Adds new functions that create resolvers that can wrap, extract, and rename merged fields, for use within the ExtendSchema transformer
 = Adds new MapFields transformer to allow transformation of field nodes within a request by object type and field name.
kamilkisiela pushed a commit that referenced this pull request Mar 27, 2020
kamilkisiela pushed a commit that referenced this pull request Mar 31, 2020
kamilkisiela pushed a commit that referenced this pull request Apr 2, 2020
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.

6 participants