Skip to content

Releases: ardatan/graphql-tools

May 02, 2024

02 May 16:50
ecc39c7
Compare
Choose a tag to compare

@graphql-tools/federation@1.1.34

Patch Changes

May 02, 2024

02 May 15:13
0d93831
Compare
Choose a tag to compare

@graphql-tools/federation@1.1.33

Patch Changes

  • 361052a Thanks @ardatan! - Small fix: check all final types to find orphan interfaces

May 02, 2024

02 May 14:46
a6f0490
Compare
Choose a tag to compare

@graphql-tools/delegate@10.0.9

Patch Changes

  • #6126 680351e Thanks @ardatan! - When there is a Node subschema, and others to resolve the rest of the entities by using a union resolver as in Federation like below, it was failing. This version fixes that issue.

    query {
      node(id: "1") {
        id # Fetches from Node
        ... on User {
          name # Fetches from User
        }
      }
    }
    type Query {
      node(id: ID!): Node
    }
    
    interface Node {
      id: ID!
    }
    
    type User implements Node {
      id: ID!
    }
    
    type Post implements Node {
      id: ID!
    }
    # User subschema
    scalar _Any
    type Query {
      _entities(representations: [_Any!]!): [_Entity]!
    }
    union _Entity = User
    interface Node {
      id: ID!
    }
    type User implements Node {
      id: ID!
      name: String!
    }
    # Post subschema
    scalar _Any
    union _Entity = Post
    type Query {
      _entities(representations: [_Any!]!): [_Entity]!
    }
    interface Node {
      id: ID!
    }
    type Post implements Node {
      id: ID!
      title: String!
    }

@graphql-tools/federation@1.1.32

Patch Changes

  • #6126 680351e Thanks @ardatan! - When there is a Node subschema, and others to resolve the rest of the entities by using a union resolver as in Federation like below, it was failing. This version fixes that issue.

    query {
      node(id: "1") {
        id # Fetches from Node
        ... on User {
          name # Fetches from User
        }
      }
    }
    type Query {
      node(id: ID!): Node
    }
    
    interface Node {
      id: ID!
    }
    
    type User implements Node {
      id: ID!
    }
    
    type Post implements Node {
      id: ID!
    }
    # User subschema
    scalar _Any
    type Query {
      _entities(representations: [_Any!]!): [_Entity]!
    }
    union _Entity = User
    interface Node {
      id: ID!
    }
    type User implements Node {
      id: ID!
      name: String!
    }
    # Post subschema
    scalar _Any
    union _Entity = Post
    type Query {
      _entities(representations: [_Any!]!): [_Entity]!
    }
    interface Node {
      id: ID!
    }
    type Post implements Node {
      id: ID!
      title: String!
    }
  • Updated dependencies [680351e]:

    • @graphql-tools/delegate@10.0.9
    • @graphql-tools/stitch@9.2.7

@graphql-tools/stitch@9.2.7

Patch Changes

  • #6126 680351e Thanks @ardatan! - When there is a Node subschema, and others to resolve the rest of the entities by using a union resolver as in Federation like below, it was failing. This version fixes that issue.

    query {
      node(id: "1") {
        id # Fetches from Node
        ... on User {
          name # Fetches from User
        }
      }
    }
    type Query {
      node(id: ID!): Node
    }
    
    interface Node {
      id: ID!
    }
    
    type User implements Node {
      id: ID!
    }
    
    type Post implements Node {
      id: ID!
    }
    # User subschema
    scalar _Any
    type Query {
      _entities(representations: [_Any!]!): [_Entity]!
    }
    union _Entity = User
    interface Node {
      id: ID!
    }
    type User implements Node {
      id: ID!
      name: String!
    }
    # Post subschema
    scalar _Any
    union _Entity = Post
    type Query {
      _entities(representations: [_Any!]!): [_Entity]!
    }
    interface Node {
      id: ID!
    }
    type Post implements Node {
      id: ID!
      title: String!
    }
  • Updated dependencies [680351e]:

    • @graphql-tools/delegate@10.0.9

May 02, 2024

02 May 09:47
1ebf5e5
Compare
Choose a tag to compare

@graphql-tools/federation@1.1.31

Patch Changes

  • 98b2795 Thanks @ardatan! - Improvements on unavailable field selection, and key object projection

  • Updated dependencies [98b2795]:

    • @graphql-tools/stitch@9.2.6

@graphql-tools/stitch@9.2.6

Patch Changes

  • 98b2795 Thanks @ardatan! - Improvements on unavailable field selection, and key object projection

May 02, 2024

02 May 09:19
6a1e02f
Compare
Choose a tag to compare

@graphql-tools/delegate@10.0.8

Patch Changes

@graphql-tools/federation@1.1.30

Patch Changes

  • 9238e14 Thanks @ardatan! - Improvements on field merging and extraction of unavailable fields

  • Updated dependencies [9238e14, 4ce3ffc]:

    • @graphql-tools/stitch@9.2.5
    • @graphql-tools/delegate@10.0.8

@graphql-tools/stitch@9.2.5

Patch Changes

  • 9238e14 Thanks @ardatan! - Improvements on field merging and extraction of unavailable fields

  • Updated dependencies [4ce3ffc]:

    • @graphql-tools/delegate@10.0.8

April 30, 2024

30 Apr 12:05
36913ee
Compare
Choose a tag to compare

@graphql-tools/merge@9.0.4

Patch Changes

  • #6111 a06dbd2 Thanks @lesleydreyer! - Fix directive merging when directive name is inherited from object prototype (i.e. toString)

@graphql-tools/stitch@9.2.4

Patch Changes

  • #6117 67a9c49 Thanks @ardatan! - Add field as an unavailable field only if it is not able to resolve by any other subschema;

    When the following query is sent to the gateway with the following subschemas, the gateway should resolve Category.details from A Subschema using Product resolver instead of trying to resolve by using non-existing Category resolver from A Subschema.

    Previously, the query planner decides to resolve Category.details after resolving Category from C Subschema. But it will be too late to resolve details because Category is not resolvable in A Subschema.

    So the requests for Category.details and the rest of Category should be different.

    So for the following query, we expect a full result;

    query {
      productFromA(id: "1") {
        id
        name
        category {
          id
          name
          details
        }
      }
    }
    # A Subschema
    type Query {
      productFromA(id: ID): Product
      # No category resolver is present
    }
    
    type Product {
      id: ID
      category: Category
    }
    
    type Category {
      details: CategoryDetails
    }
    # B Subschema
    type Query {
      productFromB(id: ID): Product
    }
    type Product {
      id: ID
      name: String
      category: Category
    }
    type Category {
      id: ID
    }
    # C Subschema
    type Query {
      categoryFromC(id: ID): Category
    }
    
    type Category {
      id: ID
      name: String
    }
  • Updated dependencies [a06dbd2]:

    • @graphql-tools/merge@9.0.4

April 29, 2024

29 Apr 15:33
9d79ba2
Compare
Choose a tag to compare

@graphql-tools/delegate@10.0.7

Patch Changes

@graphql-tools/federation@1.1.29

Patch Changes

  • #6109 074fad4 Thanks @ardatan! - Show responses in debug logging with DEBUG env var

  • Updated dependencies [074fad4, 074fad4]:

    • @graphql-tools/delegate@10.0.7
    • @graphql-tools/stitch@9.2.3

@graphql-tools/stitch@9.2.3

Patch Changes

  • #6109 074fad4 Thanks @ardatan! - Exclude fields with __typename while extracting missing fields for the type merging

  • Updated dependencies [074fad4]:

    • @graphql-tools/delegate@10.0.7

April 29, 2024

29 Apr 14:09
663130d
Compare
Choose a tag to compare

@graphql-tools/stitch@9.2.2

Patch Changes

April 29, 2024

29 Apr 12:19
7ef2ad7
Compare
Choose a tag to compare

@graphql-tools/stitch@9.2.1

Patch Changes

@graphql-tools/utils@10.2.0

Minor Changes

Patch Changes

  • #6105 5567347 Thanks @ardatan! - Handle fields in unmerged types as both isolated and non-isolated fields

April 26, 2024

26 Apr 23:42
7014a4a
Compare
Choose a tag to compare

@graphql-tools/prisma-loader@8.0.4

Patch Changes