Skip to content

Latest commit

 

History

History
1741 lines (1261 loc) · 55.3 KB

CHANGELOG.md

File metadata and controls

1741 lines (1261 loc) · 55.3 KB

@graphql-tools/stitch

9.1.2

Patch Changes

  • 6d26702 Thanks @ardatan! - Respect interface types as computed field types

9.1.1

Patch Changes

  • c5df958 Thanks @ardatan! - Prevent infinite loop while visiting over the computed field types

9.1.0

Minor Changes

  • #5162 27b6f49 Thanks @asodeur! - Adding the ability to return non-scalar types from computed fields. Computed fields can now return object types (local or stitched), interfaces, unions, or enums.

9.0.5

Patch Changes

9.0.4

Patch Changes

9.0.3

Patch Changes

9.0.2

Patch Changes

  • cda328c3 Thanks @ardatan! - Support for multiple key entrypoints for an object, and avoid sending whole object if possible

9.0.1

Patch Changes

9.0.0

Major Changes

Patch Changes

  • Updated dependencies [8fba6cc1, 944a68e8, 944a68e8, 944a68e8]:
    • @graphql-tools/delegate@10.0.0
    • @graphql-tools/batch-delegate@9.0.0
    • @graphql-tools/executor@1.0.0
    • @graphql-tools/schema@10.0.0
    • @graphql-tools/merge@9.0.0
    • @graphql-tools/utils@10.0.0
    • @graphql-tools/wrap@10.0.0

8.7.50

Patch Changes

8.7.49

Patch Changes

  • #5220 8e80b689 Thanks @ardatan! - Performance improvements

  • Updated dependencies [8e80b689]:

    • @graphql-tools/batch-delegate@8.4.27
    • @graphql-tools/delegate@9.0.35

8.7.48

Patch Changes

  • 1c95368a Thanks @ardatan! - Use ranged versions for dependencies

  • Updated dependencies [1c95368a]:

    • @graphql-tools/batch-delegate@8.4.25
    • @graphql-tools/schema@9.0.18
    • @graphql-tools/merge@8.4.1
    • @graphql-tools/wrap@9.4.2
    • @graphql-tools/delegate@9.0.31

8.7.47

Patch Changes

  • Updated dependencies [c8d5e0df]:
    • @graphql-tools/wrap@9.4.1
    • @graphql-tools/delegate@9.0.30
    • @graphql-tools/batch-delegate@8.4.24

8.7.46

Patch Changes

  • Updated dependencies [68c158d2]:
    • @graphql-tools/wrap@9.4.0

8.7.45

Patch Changes

  • Updated dependencies [f26392a6]:
    • @graphql-tools/delegate@9.0.29
    • @graphql-tools/batch-delegate@8.4.23
    • @graphql-tools/wrap@9.3.9

8.7.44

Patch Changes

  • Updated dependencies [1913bf91]:
    • @graphql-tools/batch-delegate@8.4.22

8.7.43

Patch Changes

  • Updated dependencies [04e3ecb9]:
    • @graphql-tools/merge@8.4.0
    • @graphql-tools/schema@9.0.17
    • @graphql-tools/wrap@9.3.8

8.7.42

Patch Changes

  • Updated dependencies [492220cb]:
    • @graphql-tools/delegate@9.0.28
    • @graphql-tools/batch-delegate@8.4.21
    • @graphql-tools/wrap@9.3.7

8.7.41

Patch Changes

  • Updated dependencies [30bd4d0c, 30bd4d0c]:
    • @graphql-tools/batch-delegate@8.4.20
    • @graphql-tools/delegate@9.0.27
    • @graphql-tools/wrap@9.3.6

8.7.40

Patch Changes

  • Updated dependencies [b09ea282, b09ea282, 85659bca, b5c8f640]:
    • @graphql-tools/batch-delegate@8.4.19
    • @graphql-tools/delegate@9.0.26
    • @graphql-tools/wrap@9.3.5
    • @graphql-tools/utils@9.2.1
    • @graphql-tools/merge@8.3.18
    • @graphql-tools/schema@9.0.16

8.7.39

Patch Changes

  • Updated dependencies [a94217e9, 62d074be]:
    • @graphql-tools/utils@9.2.0
    • @graphql-tools/batch-delegate@8.4.18
    • @graphql-tools/delegate@9.0.25
    • @graphql-tools/merge@8.3.17
    • @graphql-tools/schema@9.0.15
    • @graphql-tools/wrap@9.3.4

8.7.38

Patch Changes

  • Updated dependencies [772b948a]:
    • @graphql-tools/delegate@9.0.24
    • @graphql-tools/batch-delegate@8.4.17
    • @graphql-tools/wrap@9.3.3

8.7.37

Patch Changes

  • Updated dependencies [8555c5c5]:
    • @graphql-tools/merge@8.3.16
    • @graphql-tools/schema@9.0.14
    • @graphql-tools/batch-delegate@8.4.16
    • @graphql-tools/delegate@9.0.23
    • @graphql-tools/wrap@9.3.2

8.7.36

Patch Changes

  • fdb3e4c4 Thanks @ardatan! - Fix enum value transformation with stitchSchemas

  • Updated dependencies [fdb3e4c4]:

    • @graphql-tools/wrap@9.3.1

8.7.35

Patch Changes

  • Updated dependencies [a4d36fcc, a4d36fcc, a4d36fcc, 499365aa, e3ec35ed]:
    • @graphql-tools/delegate@9.0.22
    • @graphql-tools/schema@9.0.13
    • @graphql-tools/wrap@9.3.0
    • @graphql-tools/utils@9.1.4
    • @graphql-tools/batch-delegate@8.4.15
    • @graphql-tools/merge@8.3.15

8.7.34

Patch Changes

  • Updated dependencies [13177794]:
    • @graphql-tools/delegate@9.0.21
    • @graphql-tools/batch-delegate@8.4.14
    • @graphql-tools/wrap@9.2.23

8.7.33

Patch Changes

  • Updated dependencies [55e24643]:
    • @graphql-tools/wrap@9.2.22

8.7.32

Patch Changes

  • Updated dependencies [eb6cd8b6, eb6cd8b6]:
    • @graphql-tools/delegate@9.0.20
    • @graphql-tools/wrap@9.2.21
    • @graphql-tools/batch-delegate@8.4.13

8.7.31

Patch Changes

  • Updated dependencies [904fe770, 904fe770]:
    • @graphql-tools/utils@9.1.3
    • @graphql-tools/delegate@9.0.19
    • @graphql-tools/batch-delegate@8.4.12
    • @graphql-tools/merge@8.3.14
    • @graphql-tools/schema@9.0.12
    • @graphql-tools/wrap@9.2.20

8.7.30

Patch Changes

  • Updated dependencies [13c24883, b5e6459f]:
    • @graphql-tools/delegate@9.0.18
    • @graphql-tools/utils@9.1.2
    • @graphql-tools/batch-delegate@8.4.11
    • @graphql-tools/wrap@9.2.19
    • @graphql-tools/merge@8.3.13
    • @graphql-tools/schema@9.0.11

8.7.29

Patch Changes

  • Updated dependencies [02126e63]:
    • @graphql-tools/wrap@9.2.18

8.7.28

Patch Changes

  • Updated dependencies [7aa610ae]:
    • @graphql-tools/wrap@9.2.17

8.7.27

Patch Changes

8.7.26

Patch Changes

  • Updated dependencies [5bd8c0dc]:
    • @graphql-tools/wrap@9.2.16

8.7.25

Patch Changes

  • Updated dependencies [e3f81ea5]:
    • @graphql-tools/wrap@9.2.15

8.7.24

Patch Changes

  • Updated dependencies [df81034c]:
    • @graphql-tools/wrap@9.2.14

8.7.23

Patch Changes

  • Updated dependencies [7411a5e7]:
    • @graphql-tools/utils@9.1.1
    • @graphql-tools/batch-delegate@8.4.10
    • @graphql-tools/delegate@9.0.17
    • @graphql-tools/merge@8.3.12
    • @graphql-tools/schema@9.0.10
    • @graphql-tools/wrap@9.2.13

8.7.22

Patch Changes

  • Updated dependencies []:
    • @graphql-tools/delegate@9.0.16
    • @graphql-tools/batch-delegate@8.4.9
    • @graphql-tools/wrap@9.2.12

8.7.21

Patch Changes

  • Updated dependencies [1270b75a, c0639dd0]:
    • @graphql-tools/wrap@9.2.11
    • @graphql-tools/utils@9.1.0
    • @graphql-tools/batch-delegate@8.4.8
    • @graphql-tools/delegate@9.0.15
    • @graphql-tools/merge@8.3.11
    • @graphql-tools/schema@9.0.9

8.7.20

Patch Changes

  • Updated dependencies [a58cd6d3]:
    • @graphql-tools/wrap@9.2.10

8.7.19

Patch Changes

  • Updated dependencies [d83b1960]:
    • @graphql-tools/utils@9.0.1
    • @graphql-tools/batch-delegate@8.4.7
    • @graphql-tools/delegate@9.0.14
    • @graphql-tools/merge@8.3.10
    • @graphql-tools/schema@9.0.8
    • @graphql-tools/wrap@9.2.9

8.7.18

Patch Changes

  • Updated dependencies []:
    • @graphql-tools/delegate@9.0.13
    • @graphql-tools/batch-delegate@8.4.6
    • @graphql-tools/wrap@9.2.8

8.7.17

Patch Changes

  • Updated dependencies []:
    • @graphql-tools/delegate@9.0.12
    • @graphql-tools/batch-delegate@8.4.5
    • @graphql-tools/wrap@9.2.7

8.7.16

Patch Changes

  • #4796 80836fa7 Thanks @saihaj! - update collectFields to support collecting deffered values

  • Updated dependencies [80836fa7, 8f6d3efc, 80836fa7, 80836fa7, 80836fa7]:

    • @graphql-tools/utils@9.0.0
    • @graphql-tools/delegate@9.0.11
    • @graphql-tools/batch-delegate@8.4.4
    • @graphql-tools/merge@8.3.9
    • @graphql-tools/schema@9.0.7
    • @graphql-tools/wrap@9.2.6

8.7.15

Patch Changes

  • Updated dependencies [f7daf777, c1d01f3d]:
    • @graphql-tools/utils@8.13.1
    • @graphql-tools/wrap@9.2.5
    • @graphql-tools/batch-delegate@8.4.3
    • @graphql-tools/delegate@9.0.10
    • @graphql-tools/merge@8.3.8
    • @graphql-tools/schema@9.0.6

8.7.14

Patch Changes

  • Updated dependencies [df5848b8, df5848b8, df5848b8, df5848b8]:
    • @graphql-tools/delegate@9.0.9
    • @graphql-tools/utils@8.13.0
    • @graphql-tools/batch-delegate@8.4.2
    • @graphql-tools/wrap@9.2.4
    • @graphql-tools/merge@8.3.7
    • @graphql-tools/schema@9.0.5

8.7.13

Patch Changes

  • Updated dependencies [0402894d]:
    • @graphql-tools/delegate@9.0.8
    • @graphql-tools/batch-delegate@8.4.1
    • @graphql-tools/wrap@9.2.3

8.7.12

Patch Changes

  • Updated dependencies [614a5622, 00c4a1a4]:
    • @graphql-tools/batch-delegate@8.4.0
    • @graphql-tools/delegate@9.0.7
    • @graphql-tools/wrap@9.2.2

8.7.11

Patch Changes

  • Updated dependencies [c21a895a]:
    • @graphql-tools/wrap@9.2.1

8.7.10

Patch Changes

  • Updated dependencies [43c736bd, 43c736bd]:
    • @graphql-tools/utils@8.12.0
    • @graphql-tools/wrap@9.2.0
    • @graphql-tools/batch-delegate@8.3.9
    • @graphql-tools/delegate@9.0.6
    • @graphql-tools/merge@8.3.6
    • @graphql-tools/schema@9.0.4

8.7.9

Patch Changes

  • Updated dependencies [dd8886d1]:
    • @graphql-tools/wrap@9.1.0

8.7.8

Patch Changes

  • Updated dependencies [71cb4fae, 403ed450]:
    • @graphql-tools/utils@8.11.0
    • @graphql-tools/batch-delegate@8.3.8
    • @graphql-tools/delegate@9.0.5
    • @graphql-tools/merge@8.3.5
    • @graphql-tools/schema@9.0.3
    • @graphql-tools/wrap@9.0.6

8.7.7

Patch Changes

  • Updated dependencies [4fe3d9c0, 4e4fac0a]:
    • @graphql-tools/utils@8.10.1
    • @graphql-tools/wrap@9.0.5
    • @graphql-tools/batch-delegate@8.3.7
    • @graphql-tools/delegate@9.0.4
    • @graphql-tools/merge@8.3.4
    • @graphql-tools/schema@9.0.2

8.7.6

Patch Changes

8.7.5

Patch Changes

  • 0555a972 Thanks @ardatan! - Bump versions

  • Updated dependencies [0555a972]:

    • @graphql-tools/delegate@9.0.3
    • @graphql-tools/wrap@9.0.3
    • @graphql-tools/batch-delegate@8.3.5

8.7.4

Patch Changes

  • #4648 29ee7542 Thanks @ardatan! - Do not call Transform.transformSchema more than once

  • Updated dependencies [29ee7542]:

    • @graphql-tools/delegate@9.0.2
    • @graphql-tools/wrap@9.0.2
    • @graphql-tools/batch-delegate@8.3.4

8.7.3

Patch Changes

  • Updated dependencies [2609d71f]:
    • @graphql-tools/utils@8.10.0
    • @graphql-tools/merge@8.3.3
    • @graphql-tools/schema@9.0.1
    • @graphql-tools/batch-delegate@8.3.3
    • @graphql-tools/delegate@9.0.1
    • @graphql-tools/wrap@9.0.1

8.7.2

Patch Changes

  • #4624 e3167edc Thanks @n1ru4l! - Fix CommonJS TypeScript resolution with moduleResolution node16 or nodenext

  • Updated dependencies [8cc8721f, e3167edc, d8dc67aa]:

    • @graphql-tools/schema@9.0.0
    • @graphql-tools/batch-delegate@8.3.2
    • @graphql-tools/delegate@9.0.0
    • @graphql-tools/merge@8.3.2
    • @graphql-tools/utils@8.9.1
    • @graphql-tools/wrap@9.0.0

8.7.1

Patch Changes

  • Updated dependencies [2a3b45e3]
    • @graphql-tools/utils@8.9.0
    • @graphql-tools/batch-delegate@8.3.1
    • @graphql-tools/delegate@8.8.1
    • @graphql-tools/merge@8.3.1
    • @graphql-tools/schema@8.5.1
    • @graphql-tools/wrap@8.5.1

8.7.0

Minor Changes

  • d76a299c: Support TypeScript module resolution.

Patch Changes

  • Updated dependencies [a0abbbcd]
  • Updated dependencies [d76a299c]
    • @graphql-tools/utils@8.8.0
    • @graphql-tools/batch-delegate@8.3.0
    • @graphql-tools/delegate@8.8.0
    • @graphql-tools/merge@8.3.0
    • @graphql-tools/schema@8.5.0
    • @graphql-tools/wrap@8.5.0

8.6.14

Patch Changes

  • Updated dependencies [6df204de]
  • Updated dependencies [4914970b]
    • @graphql-tools/delegate@8.7.12
    • @graphql-tools/schema@8.4.0
    • @graphql-tools/utils@8.7.0
    • @graphql-tools/batch-delegate@8.2.21
    • @graphql-tools/wrap@8.4.21
    • @graphql-tools/merge@8.2.15

8.6.13

Patch Changes

  • 041c5ba1: Use caret range for the tslib dependency
  • Updated dependencies [041c5ba1]
    • @graphql-tools/batch-delegate@8.2.20
    • @graphql-tools/delegate@8.7.11
    • @graphql-tools/merge@8.2.14
    • @graphql-tools/schema@8.3.14
    • @graphql-tools/utils@8.6.13
    • @graphql-tools/wrap@8.4.20

8.6.12

Patch Changes

  • Updated dependencies [7c3b2797]
  • Updated dependencies [da7ad43b]
    • @graphql-tools/wrap@8.4.19
    • @graphql-tools/utils@8.6.12
    • @graphql-tools/batch-delegate@8.2.19
    • @graphql-tools/delegate@8.7.10
    • @graphql-tools/merge@8.2.13
    • @graphql-tools/schema@8.3.13

8.6.11

Patch Changes

  • Updated dependencies [c0762ee3]
    • @graphql-tools/utils@8.6.11
    • @graphql-tools/batch-delegate@8.2.18
    • @graphql-tools/delegate@8.7.9
    • @graphql-tools/merge@8.2.12
    • @graphql-tools/schema@8.3.12
    • @graphql-tools/wrap@8.4.18

8.6.10

Patch Changes

  • Updated dependencies [0fc510cb]
    • @graphql-tools/utils@8.6.10
    • @graphql-tools/batch-delegate@8.2.17
    • @graphql-tools/delegate@8.7.8
    • @graphql-tools/merge@8.2.11
    • @graphql-tools/schema@8.3.11
    • @graphql-tools/wrap@8.4.17

8.6.9

Patch Changes

  • Updated dependencies [31a33e2b]
    • @graphql-tools/utils@8.6.9
    • @graphql-tools/batch-delegate@8.2.16
    • @graphql-tools/delegate@8.7.7
    • @graphql-tools/merge@8.2.10
    • @graphql-tools/schema@8.3.10
    • @graphql-tools/wrap@8.4.16

8.6.8

Patch Changes

  • Updated dependencies [26e4b464]
    • @graphql-tools/delegate@8.7.6
    • @graphql-tools/batch-delegate@8.2.15
    • @graphql-tools/wrap@8.4.15

8.6.7

Patch Changes

  • Updated dependencies [cb238877]
    • @graphql-tools/utils@8.6.8
    • @graphql-tools/batch-delegate@8.2.14
    • @graphql-tools/delegate@8.7.5
    • @graphql-tools/merge@8.2.9
    • @graphql-tools/schema@8.3.9
    • @graphql-tools/wrap@8.4.14

8.6.6

Patch Changes

  • 0bbb1769: Refine generic typings using extends X when appropriate

    Typescript 4.7 has stricter requirements around generics which is explained well in the related PR: microsoft/TypeScript#48366

    These changes resolve the errors that these packages will face when attempting to upgrade to TS 4.7 (still in beta at the time of writing this). Landing these changes now will allow other TS libraries which depend on these packages to experiment with TS 4.7 in the meantime.

  • Updated dependencies [0bbb1769]

    • @graphql-tools/delegate@8.7.4
    • @graphql-tools/utils@8.6.7
    • @graphql-tools/wrap@8.4.13
    • @graphql-tools/batch-delegate@8.2.13
    • @graphql-tools/merge@8.2.8
    • @graphql-tools/schema@8.3.8

8.6.5

Patch Changes

  • Updated dependencies [fe9402af]
    • @graphql-tools/batch-delegate@8.2.12
    • @graphql-tools/delegate@8.7.3
    • @graphql-tools/wrap@8.4.12

8.6.4

Patch Changes

  • Updated dependencies [904c0847]
    • @graphql-tools/utils@8.6.6
    • @graphql-tools/batch-delegate@8.2.11
    • @graphql-tools/delegate@8.7.2
    • @graphql-tools/merge@8.2.7
    • @graphql-tools/schema@8.3.7
    • @graphql-tools/wrap@8.4.11

8.6.3

Patch Changes

  • Updated dependencies [722abad7]
    • @graphql-tools/schema@8.3.6
    • @graphql-tools/batch-delegate@8.2.10
    • @graphql-tools/delegate@8.7.1
    • @graphql-tools/wrap@8.4.10

8.6.2

Patch Changes

  • Updated dependencies [d8fd6b94]
    • @graphql-tools/delegate@8.7.0
    • @graphql-tools/batch-delegate@8.2.9
    • @graphql-tools/wrap@8.4.9

8.6.1

Patch Changes

  • Updated dependencies [be2c02d7]
    • @graphql-tools/utils@8.6.5
    • @graphql-tools/batch-delegate@8.2.8
    • @graphql-tools/delegate@8.6.1
    • @graphql-tools/merge@8.2.6
    • @graphql-tools/schema@8.3.5
    • @graphql-tools/wrap@8.4.8

8.6.0

Minor Changes

  • c40e801f: feat: forward gateway operation's name to subschema executors

Patch Changes

  • Updated dependencies [c40e801f]
  • Updated dependencies [d36d530b]
    • @graphql-tools/delegate@8.6.0
    • @graphql-tools/utils@8.6.4
    • @graphql-tools/batch-delegate@8.2.7
    • @graphql-tools/wrap@8.4.7
    • @graphql-tools/merge@8.2.5
    • @graphql-tools/schema@8.3.4

8.5.2

Patch Changes

  • 0c0c6857: fix - align versions
  • Updated dependencies [0c0c6857]
    • @graphql-tools/batch-delegate@8.2.6
    • @graphql-tools/delegate@8.5.4
    • @graphql-tools/merge@8.2.4
    • @graphql-tools/schema@8.3.3
    • @graphql-tools/wrap@8.4.6

8.5.1

Patch Changes

  • 3da3d66c: fix - align versions
  • Updated dependencies [3da3d66c]
    • @graphql-tools/batch-delegate@8.2.5
    • @graphql-tools/wrap@8.4.5
    • @graphql-tools/utils@8.6.3

8.5.0

Minor Changes

  • 70081f8f: enhance(stitch): support promises in key functions

Patch Changes

  • Updated dependencies [70081f8f]
  • Updated dependencies [70081f8f]
    • @graphql-tools/delegate@8.5.3

8.4.4

Patch Changes

  • 18341363: feat(visitResult): ignore if field not present in visited object
  • Updated dependencies [18341363]
    • @graphql-tools/batch-delegate@8.2.4
    • @graphql-tools/delegate@8.5.1
    • @graphql-tools/merge@8.2.3
    • @graphql-tools/schema@8.3.2
    • @graphql-tools/wrap@8.4.2
    • @graphql-tools/utils@8.6.2

8.4.3

Patch Changes

  • Updated dependencies [51315610]
    • @graphql-tools/batch-delegate@8.2.3
    • @graphql-tools/delegate@8.4.3
    • @graphql-tools/utils@8.5.4

8.4.2

Patch Changes

  • Updated dependencies [5482c99a]
    • @graphql-tools/batch-delegate@8.2.2

8.4.1

Patch Changes

  • 981eef80: enhance: remove isPromise and cleanup file-upload handling
  • 4bfb3428: enhance: use ^ for tslib dependency
  • Updated dependencies [981eef80]
  • Updated dependencies [4bfb3428]
    • @graphql-tools/wrap@8.3.1
    • @graphql-tools/batch-delegate@8.2.1
    • @graphql-tools/delegate@8.4.1
    • @graphql-tools/merge@8.2.1
    • @graphql-tools/schema@8.3.1
    • @graphql-tools/utils@8.5.1

8.4.0

Minor Changes

  • 149afddb: fix: getting ready for GraphQL v16

Patch Changes

  • Updated dependencies [149afddb]
    • @graphql-tools/batch-delegate@8.2.0
    • @graphql-tools/delegate@8.3.0
    • @graphql-tools/merge@8.2.0
    • @graphql-tools/schema@8.3.0
    • @graphql-tools/utils@8.4.0
    • @graphql-tools/wrap@8.2.0

8.3.1

Patch Changes

  • d4918a78: fix(commentDescriptions): handle descriptions and comments correctly during merge
  • Updated dependencies [d4918a78]
    • @graphql-tools/merge@8.1.1
    • @graphql-tools/utils@8.2.2

8.3.0

Minor Changes

  • c5b0719c: feat: GraphQL v16 support
  • c5b0719c: enhance(utils): move memoize functions to utils
  • c5b0719c: enhance(utils): copy collectFields from graphql-js@16 for backwards compat

Patch Changes

  • Updated dependencies [c5b0719c]
  • Updated dependencies [c5b0719c]
  • Updated dependencies [c5b0719c]
  • Updated dependencies [c5b0719c]
  • Updated dependencies [c5b0719c]
    • @graphql-tools/delegate@8.2.0
    • @graphql-tools/utils@8.2.0
    • @graphql-tools/batch-delegate@8.1.0
    • @graphql-tools/merge@8.1.0
    • @graphql-tools/schema@8.2.0
    • @graphql-tools/wrap@8.1.0

8.2.1

Patch Changes

  • c8c13ed1: enhance: remove TypeMap and small improvements
  • Updated dependencies [c8c13ed1]
    • @graphql-tools/batch-delegate@8.0.12
    • @graphql-tools/delegate@8.1.1
    • @graphql-tools/merge@8.0.3
    • @graphql-tools/utils@8.1.2

8.2.0

Minor Changes

  • 631b11bd: refactor(delegationPlanner): introduce static version of our piecemeal planner

    ...which, although undocumented, can be accessed within the StitchingInfo object saved in a stitched schema's extensions.

    Also improves memoization technique slightly across the board.

Patch Changes

  • e50852e6: use version ranges instead of a fixed version for the graphql-tools package versions
  • Updated dependencies [631b11bd]
  • Updated dependencies [e50852e6]
    • @graphql-tools/delegate@8.1.0
    • @graphql-tools/batch-delegate@8.0.11
    • @graphql-tools/merge@8.0.2
    • @graphql-tools/schema@8.1.2
    • @graphql-tools/wrap@8.0.13

8.1.2

Patch Changes

  • Updated dependencies [2c807ddb]
    • @graphql-tools/utils@8.1.1
    • @graphql-tools/batch-delegate@8.0.10
    • @graphql-tools/delegate@8.0.10
    • @graphql-tools/merge@8.0.1
    • @graphql-tools/schema@8.1.1
    • @graphql-tools/wrap@8.0.12

8.1.1

Patch Changes

  • 9a13357c: Fix nested type merges with repeated children ignore all but first occurrence
  • Updated dependencies [9a13357c]
    • @graphql-tools/delegate@8.0.9
    • @graphql-tools/batch-delegate@8.0.9
    • @graphql-tools/wrap@8.0.11

8.1.0

Minor Changes

  • 67691b78: - schemaExtensions option has been added to mergeSchemas, makeExecutableSchema and stitchSchemas configurations

    Breaking Changes;

    • Move mergeSchemas and MergeSchemasConfig from @graphql-tools/merge to @graphql-tools/schema package to prevent circular dependency between them.
    • mergeSchemasAsync has been removed.
    • Move NamedDefinitionNode, resetComments, collectComment, pushComment and printComment from @graphql-tools/merge to @graphql-tools/utils.

Patch Changes

  • Updated dependencies [b9684631]
  • Updated dependencies [a5fb77a4]
  • Updated dependencies [9ede806a]
  • Updated dependencies [67691b78]
    • @graphql-tools/utils@8.1.0
    • @graphql-tools/merge@8.0.0
    • @graphql-tools/schema@8.1.0
    • @graphql-tools/batch-delegate@8.0.8
    • @graphql-tools/delegate@8.0.8
    • @graphql-tools/wrap@8.0.10

8.0.8

Patch Changes

  • Updated dependencies [d47dcf42]
    • @graphql-tools/delegate@8.0.7
    • @graphql-tools/batch-delegate@8.0.7
    • @graphql-tools/wrap@8.0.7

8.0.7

Patch Changes

  • Updated dependencies [ded29f3d]
    • @graphql-tools/delegate@8.0.6
    • @graphql-tools/batch-delegate@8.0.6
    • @graphql-tools/wrap@8.0.6

8.0.6

Patch Changes

  • Updated dependencies [7fdef335]
    • @graphql-tools/delegate@8.0.5
    • @graphql-tools/batch-delegate@8.0.5
    • @graphql-tools/wrap@8.0.5

8.0.5

Patch Changes

  • Updated dependencies [4992b472]
    • @graphql-tools/merge@7.0.0
    • @graphql-tools/schema@8.0.3

8.0.4

Patch Changes

  • Updated dependencies [04830049]
    • @graphql-tools/utils@8.0.2
    • @graphql-tools/batch-delegate@8.0.4
    • @graphql-tools/delegate@8.0.4
    • @graphql-tools/merge@6.2.17
    • @graphql-tools/schema@8.0.2
    • @graphql-tools/wrap@8.0.4

8.0.3

Patch Changes

  • Updated dependencies [b823dbaf]
    • @graphql-tools/utils@8.0.1
    • @graphql-tools/batch-delegate@8.0.3
    • @graphql-tools/delegate@8.0.3
    • @graphql-tools/merge@6.2.16
    • @graphql-tools/schema@8.0.1
    • @graphql-tools/wrap@8.0.3

8.0.2

Patch Changes

  • Updated dependencies [d93945fa]
    • @graphql-tools/delegate@8.0.2
    • @graphql-tools/batch-delegate@8.0.2
    • @graphql-tools/wrap@8.0.2

8.0.1

Patch Changes

  • c36defbe: fix(delegate): fix ESM import
  • Updated dependencies [c36defbe]
    • @graphql-tools/delegate@8.0.1
    • @graphql-tools/batch-delegate@8.0.1
    • @graphql-tools/wrap@8.0.1

8.0.0

Major Changes

  • 7d3e3006: BREAKING CHANGE

  • dae6dc7b: refactor: ExecutionParams type replaced by Request type

    rootValue property is now a part of the Request type.

    When delegating with delegateToSchema, rootValue can be set multiple ways:

    • when using a custom executor, the custom executor can utilize a rootValue in whichever custom way it specifies.
    • when using the default executor (execute/subscribe from graphql-js): -- rootValue can be passed to delegateToSchema via a named option -- rootValue can be included within a subschemaConfig -- otherwise, rootValue is inferred from the originating schema

    When using wrapSchema/stitchSchemas, a subschemaConfig can specify the createProxyingResolver function which can pass whatever rootValue it wants to delegateToSchema as above.

  • 74581cf3: fix(getDirectives): preserve order around repeatable directives

    BREAKING CHANGE: getDirectives now always return an array of individual DirectiveAnnotation objects consisting of name and args properties.

    New useful function getDirective returns an array of objects representing any args for each use of a single directive (returning the empty object {} when a directive is used without arguments).

    Note: The getDirective function returns an array even when the specified directive is non-repeatable. This is because one use of this function is to throw an error if more than one directive annotation is used for a non repeatable directive!

    When specifying directives in extensions, one can use either the old or new format.

  • c0ca3190: BREAKING CHANGE

    • Remove Subscriber and use only Executor
      • Now Executor can receive AsyncIterable and subscriptions will also be handled by Executor. This is a future-proof change for defer, stream and live queries

Minor Changes

  • 1b0ce2ae: @ardatanfeat(stitch): add helpers for Relay

Patch Changes

  • 91155ab6: Fixed issue with stitchSchemas function returning info object with left.subschema and right.subschema referencing the same object
  • Updated dependencies [af9a78de]
  • Updated dependencies [7d3e3006]
  • Updated dependencies [7d3e3006]
  • Updated dependencies [9c26b847]
  • Updated dependencies [7d3e3006]
  • Updated dependencies [d53e3be5]
  • Updated dependencies [7d3e3006]
  • Updated dependencies [dae6dc7b]
  • Updated dependencies [6877b913]
  • Updated dependencies [7d3e3006]
  • Updated dependencies [c42e811d]
  • Updated dependencies [7d3e3006]
  • Updated dependencies [8c8d4fc0]
  • Updated dependencies [7d3e3006]
  • Updated dependencies [c0ca3190]
  • Updated dependencies [7d3e3006]
  • Updated dependencies [aa43054d]
  • Updated dependencies [7d3e3006]
  • Updated dependencies [74581cf3]
  • Updated dependencies [c0ca3190]
  • Updated dependencies [7d3e3006]
  • Updated dependencies [982c8f53]
  • Updated dependencies [7d3e3006]
  • Updated dependencies [7d3e3006]
  • Updated dependencies [a31f9593]
  • Updated dependencies [7d3e3006]
    • @graphql-tools/utils@8.0.0
    • @graphql-tools/delegate@8.0.0
    • @graphql-tools/wrap@8.0.0
    • @graphql-tools/schema@8.0.0
    • @graphql-tools/batch-delegate@8.0.0
    • @graphql-tools/merge@6.2.15

7.5.3

Patch Changes

  • b48f944c: chore(stitch) export typescript package types + cleanup (#2918)

7.5.2

Patch Changes

  • 61da3e82: use value-or-promise to streamline working with sync values or async promises
  • Updated dependencies [61da3e82]
    • @graphql-tools/delegate@7.1.4
    • @graphql-tools/schema@7.1.4
    • @graphql-tools/wrap@7.0.6

7.5.1

Patch Changes

  • 6aed1714: Allows MergedTypeConfig to be written with an entryPoints array for multiple merged type entry points, each with their own fieldName and selectionSet:

    {
      schema: testSchema,
      merge: {
        Product: {
          entryPoints: [{
            selectionSet: '{ id }',
            fieldName: 'productById',
            key: ({ id, price, weight }) => ({ id, price, weight }),
            argsFromKeys: (key) => ({ key }),
          }, {
            selectionSet: '{ upc }',
            fieldName: 'productByUpc',
            key: ({ upc, price, weight }) => ({ upc, price, weight }),
            argsFromKeys: (key) => ({ key }),
          }],
        }
      }
    }

    These multiple entry points accommodate types with multiple keys across services that rely on a central service to join them, for example:

    • Catalog service: type Product { upc }
    • Vendors service: type Product { upc id }
    • Reviews service: type Product { id }

    Given this graph, the possible traversals require the Vendors service to provide entry points for each unique key format:

    • Catalog > Vendors > Reviews
    • Catalog < Vendors > Reviews
    • Catalog < Vendors < Reviews

    Is it highly recommended that you enable query batching for subschemas with multiple entry points.

  • Updated dependencies [6aed1714]

    • @graphql-tools/delegate@7.1.2

7.5.0

Minor Changes

  • 58fd4b28: feat(types): add TContext to stitchSchemas and executor

Patch Changes

  • Updated dependencies [58fd4b28]
  • Updated dependencies [43da6b59]
    • @graphql-tools/delegate@7.1.0
    • @graphql-tools/utils@7.7.0
    • @graphql-tools/merge@6.2.11

7.4.0

Minor Changes

  • 0194118f: Introduces a suite of stitched schema validations that enforce the integrity of merged schemas. This includes validations for:

    • Strict and safe null consistency (the later of which allows safe transitions in nullability).
    • Named type consistency with the option to whitelist proxiable scalar mappings.
    • Argument and input field name consistency.
    • Enum value consistency when used as an input value.

    Validations may be adjusted by setting validationLevel to off|warn|error globally or scoped for specific types and fields. In this initial v7 release, all validations are introduced at the warn threshold for backwards compatibility. Most of these validations will become automatic errors in v8. To enable validation errors now, set validationLevel: 'error'. Full configuration options look like this:

    const gatewaySchema = stitchSchemas({
      subschemas: [...],
      typeMergingOptions: {
        validationSettings: {
          validationLevel: 'error',
          strictNullComparison: false, // << gateway "String" may proxy subschema "String!"
          proxiableScalars: {
            ID: ['String'], // << gateway "ID" may proxy subschema "String"
          }
        },
        validationScopes: {
          // scope to specific element paths
          'User.id': {
            validationLevel: 'warn',
            strictNullComparison: true,
          },
        }
      },
    });

Patch Changes

  • Updated dependencies [0194118f]
    • @graphql-tools/merge@6.2.10

7.3.0

Minor Changes

  • 24926654: Deprecates the MergeTypeConfig.computedFields setting (with backwards-compatible warning) in favor of new computed field configuration written as:

    merge: {
      MyType: {
        fields: {
          myComputedField: {
            selectionSet: '{ weight }',
            computed: true,
          }
        }
      }
    }

    A field-level selectionSet specifies field dependencies while the computed setting structures the field in a way that assures it is always selected with this data provided. The selectionSet is intentionally generic to support possible future uses. This new pattern organizes all field-level configuration (including canonical) into a single structure.

Patch Changes

  • Updated dependencies [24926654]
    • @graphql-tools/delegate@7.0.10

7.2.1

Patch Changes

  • 3cf9104c: fix(stitch) canonical via transformed subschema

7.2.0

Minor Changes

  • d9b82a2e: enhance(stitch) canonical merged type and field definitions. Use the @canonical directive to promote preferred type and field descriptions into the combined gateway schema.

Patch Changes

  • d9b82a2e: fix(merge/stitch) consistent enum value merge
  • Updated dependencies [d9b82a2e]
  • Updated dependencies [d9b82a2e]
  • Updated dependencies [d9b82a2e]
    • @graphql-tools/merge@6.2.7
    • @graphql-tools/delegate@7.0.9

7.1.9

Patch Changes

  • 6a966bee: fix(stitch): add __typename for mutations

    fix related to #2349

7.1.8

Patch Changes

  • 6e50d9fc: enhance(stitching-directives): use keyField

    When using simple keys, i.e. when using the keyField argument to @merge, the keyField can be added implicitly to the types's key. In most cases, therefore, @key should not be required at all.

  • Updated dependencies [6e50d9fc]

    • @graphql-tools/utils@7.2.4

7.1.7

Patch Changes

7.1.6

Patch Changes

  • c84d2f8f: fix(stitch): always use defaultMergedResolver by default on gateway

7.1.5

Patch Changes

  • cd5da458: fix(stitch): type merging for nested root types

    Because root types do not usually require selectionSets, a nested root type proxied to a remote service may end up having an empty selectionSet, if the nested root types only includes fields from a different subservice.

    Empty selection sets return null, but, in this case, it should return an empty object. We can force this behavior by including the __typename field which exists on every schema.

    Addresses #2347.

    In the future, we may want to include short-circuiting behavior that when delegating to composite fields, if an empty selection set is included, an empty object is returned rather than null. This short-circuiting behavior would be complex for lists, as it would be unclear the length of the list...

  • Updated dependencies [cd5da458]

  • Updated dependencies [cd5da458]

  • Updated dependencies [cd5da458]

    • @graphql-tools/delegate@7.0.8
    • @graphql-tools/utils@7.1.6

7.1.4

Patch Changes

  • 21da6904: fix release
  • Updated dependencies [21da6904]
    • @graphql-tools/wrap@7.0.3
    • @graphql-tools/schema@7.1.2
    • @graphql-tools/utils@7.1.2

7.1.3

Patch Changes

  • b48a91b1: add ability to specify merge config within subschemas using directives
  • Updated dependencies [b48a91b1]
    • @graphql-tools/schema@7.1.1
    • @graphql-tools/utils@7.1.1

7.1.2

Patch Changes

  • 8db8f8dd: fix(typeMerging): support transformed type names when merging types

7.1.1

Patch Changes

  • 878c36b6: enhance(stitch): use mergeScalar from merge
  • 9c6a4409: enhance(stitch): avoid multiple iterations
  • Updated dependencies [878c36b6]
  • Updated dependencies [d40c0a84]
    • @graphql-tools/merge@6.2.6
    • @graphql-tools/delegate@7.0.6

7.1.0

Minor Changes

  • 4f5a4efe: enhance(schema): add some options to improve schema creation performance

Patch Changes

  • Updated dependencies [65ed780a]
  • Updated dependencies [4f5a4efe]
  • Updated dependencies [b79e3a6b]
    • @graphql-tools/schema@7.1.0
    • @graphql-tools/utils@7.1.0

7.0.4

Patch Changes

  • e50f80a3: enhance(stitch): custom merge resolvers
  • Updated dependencies [e50f80a3]
    • @graphql-tools/delegate@7.0.5

7.0.3

Patch Changes

  • 718eda30: fix(stitch): fix mergeExternalObject regressions

    v7 introduced a regression in the merging of ExternalObjects that causes type merging to fail when undergoing multiple rounds of merging.

  • Updated dependencies [718eda30]

    • @graphql-tools/delegate@7.0.2

7.0.2

Patch Changes

  • fcbc497b: fix(stitch): support type merging with abstract types (#2137)

7.0.1

Patch Changes

  • Updated dependencies [a9254491]
    • @graphql-tools/batch-delegate@7.0.0

7.0.0

Major Changes

  • be1a1575: ## Breaking Changes:

    Schema Generation and Decoration API (@graphql-tools/schema)

    • Resolver validation options should now be set to error, warn or ignore rather than true or false. In previous versions, some of the validators caused errors to be thrown, while some issued warnings. This changes brings consistency to validator behavior.

    • The allowResolversNotInSchema has been renamed to requireResolversToMatchSchema, to harmonize the naming convention of all the validators. The default setting of requireResolversToMatchSchema is error, matching the previous behavior.

    Schema Delegation (delegateToSchema & @graphql-tools/delegate)

    • The delegateToSchema return value has matured and been formalized as an ExternalObject, in which all errors are integrated into the GraphQL response, preserving their initial path. Those advanced users accessing the result directly will note the change in error handling. This also allows for the deprecation of unnecessary helper functions including slicedError, getErrors, getErrorsByPathSegment functions. Only external errors with missing or invalid paths must still be preserved by annotating the remote object with special properties. The new getUnpathedErrors function is therefore necessary for retrieving only these errors. Note also the new annotateExternalObject and mergeExternalObjects functions, as well as the renaming of handleResult to resolveExternalValue.

    • Transform types and the applySchemaTransforms are now relocated to the delegate package; applyRequestTransforms/applyResultTransforms functions have been deprecated, however, as this functionality has been replaced since v6 by the Transformer abstraction.

    • The transformRequest/transformResult methods are now provided additional delegationContext and transformationContext arguments -- these were introduced in v6, but previously optional.

    • The transformSchema method may wish to create additional delegating resolvers and so it is now provided the subschemaConfig and final (non-executable) transformedSchema parameters. As in v6, the transformSchema is kicked off once to produce the non-executable version, and then, if a wrapping schema is being generated, proxying resolvers are created with access to the (non-executable) initial result. In v7, the individual transformSchema methods also get access to the result of the first run, if necessary, they can create additional wrapping schema proxying resolvers.

    • applySchemaTransforms parameters have been updated to match and support the transformSchema parameters above.

    Remote Schemas & Wrapping (wrapSchema, makeRemoteExecutableSchema, and @graphql-tools/wrap)

    • wrapSchema and generateProxyingResolvers now only take a single options argument with named properties of type SubschemaConfig. The previously possible shorthand version with first argument consisting of a GraphQLSchema and second argument representing the transforms should be reworked as a SubschemaConfig object.

    • Similarly, the ICreateProxyingResolverOptions interface that provides the options for the createProxyingResolver property of SubschemaConfig options has been adjusted. The schema property previously could be set to a GraphQLSchema or a SubschemaConfig object. This property has been removed in favor of a subschemaConfig property that will always be a SubschemaConfig object. The transforms property has been removed; transforms should be included within the SubschemaConfig object.`

    • The format of the wrapping schema has solidified. All non-root fields are expected to use identical resolvers, either defaultMergedResolver or a custom equivalent, with root fields doing the hard work of proxying. Support for custom merged resolvers throught createMergedResolver has been deprecated, as custom merging resolvers conflicts when using stitching's type merging, where resolvers are expected to be identical across subschemas.

    • The WrapFields transform's wrappingResolver option has been removed, as this complicates multiple wrapping layers, as well as planned functionality to wrap subscription root fields in potentially multiple layers, as the wrapping resolvers may be different in different layers. Modifying resolvers can still be performed by use of an additional transform such as TransformRootFields or TransformObjectFields.

    • The ExtendSchema transform has been removed, as it is conceptually simpler just to use stitchSchemas with one subschema.

    • The ReplaceFieldsWithFragment, AddFragmentsByField, AddSelectionSetsByField, and AddMergedTypeSelectionSets transforms has been removed, as they are superseded by the AddSelectionSets and VisitSelectionSets transforms. The AddSelectionSets purposely takes parsed SDL rather than strings, to nudge end users to parse these strings at build time (when possible), rather than at runtime. Parsing of selection set strings can be performed using the parseSelectionSet function from @graphql-tools/utils.

    Schema Stitching (stitchSchemas & @graphql-tools/stitch)

    • stitchSchemas's mergeTypes option is now true by default! This causes the onTypeConflict option to be ignored by default. To use onTypeConflict to select a specific type instead of simply merging, simply set mergeTypes to false.

    • schemas argument has been deprecated, use subschemas, typeDefs, or types, depending on what you are stitching.

    • When using batch delegation in type merging, the argsFromKeys function is now set only via the argsFromKeys property. Previously, if argsFromKeys was absent, it could be read from args.

    • Support for fragment hints has been removed in favor of selection set hints.

    • stitchSchemas now processes all GraphQLSchema and SubschemaConfig subschema input into new Subschema objects, handling schema config directives such aso@computed as well as generating the final transformed schema, stored as the transformedSchema property, if transforms are used. Signatures of the onTypeConflict, fieldConfigMerger, and inputFieldConfigMerger have been updated to include metadata related to the original and transformed subschemas. Note the property name change for onTypeConflict from schema to subschema.

    Mocking (addMocksToSchema and @graphql-tools/mock)

    • Mocks returning objects with fields set as functions are now operating according to upstream graphql-js convention, i.e. these functions take three arguments, args, context, and info with parent available as this rather than as the first argument.

    Other Utilities (@graphql-tools/utils)

    • filterSchema's fieldFilter will now filter all fields across Object, Interface, and Input types. For the previous Object-only behavior, switch to the objectFieldFilter option.
    • Unused fieldNodes utility functions have been removed.
    • Unused typeContainsSelectionSet function has been removed, and typesContainSelectionSet has been moved to the stitch package.
    • Unnecessary Operation type has been removed in favor of OperationTypeNode from upstream graphql-js.
    • As above, applySchemaTransforms/applyRequestTransforms/applyResultTransforms have been removed from the utils package, as they are implemented elsewhere or no longer necessary.

    Related Issues

    • proxy all the errors: #1047, #1641
    • better error handling for merges #2016, #2062
    • fix typings #1614
    • disable implicit schema pruning #1817
    • mocks not working for functions #1807

Patch Changes

  • Updated dependencies [be1a1575]
    • @graphql-tools/delegate@7.0.0
    • @graphql-tools/schema@7.0.0
    • @graphql-tools/utils@7.0.0
    • @graphql-tools/wrap@7.0.0
    • @graphql-tools/merge@6.2.5
    • @graphql-tools/batch-delegate@6.2.5

6.2.4

Patch Changes

  • 32c3c4f8: enhance(HoistFields): allow arguments
  • 32c3c4f8: enhance(stitching): improve error message for unknown types
  • 533d6d53: Bump all packages to allow adjustments
  • Updated dependencies [32c3c4f8]
  • Updated dependencies [32c3c4f8]
  • Updated dependencies [32c3c4f8]
  • Updated dependencies [32c3c4f8]
  • Updated dependencies [533d6d53]
    • @graphql-tools/wrap@6.2.4
    • @graphql-tools/merge@6.2.4
    • @graphql-tools/utils@6.2.4
    • @graphql-tools/delegate@6.2.4
    • @graphql-tools/batch-delegate@6.2.4
    • @graphql-tools/schema@6.2.4