On this page

@graphql-mesh/compose-cli

Changelog for @graphql-mesh/compose-cli: every release with its changes and the pull requests behind them.

1.8.2

Patch Changes

  • Updated dependencies [c7f0f3f, c7f0f3f]:
    • @graphql-mesh/types@0.107.1
    • @graphql-mesh/utils@0.107.1
    • @graphql-mesh/fusion-composition@0.11.2

1.8.1

Patch Changes

  • Updated dependencies [c47a0c0]:
    • @graphql-mesh/fusion-composition@0.11.1

1.8.0

Patch Changes

  • Updated dependencies [ab73b38, 51b15f4]:
    • @graphql-mesh/types@0.107.0
    • @graphql-mesh/utils@0.107.0
    • @graphql-mesh/fusion-composition@0.11.0

1.7.0

Patch Changes

1.6.2

Patch Changes

  • Updated dependencies [969a1da, 29d4acf, f2f715f]:
    • @graphql-mesh/include@0.4.2
    • @graphql-mesh/fusion-composition@0.9.2

1.6.1

Patch Changes

1.6.0

Patch Changes

  • Updated dependencies [b7def27]:
    • @graphql-mesh/types@0.105.0
    • @graphql-mesh/utils@0.105.0
    • @graphql-mesh/fusion-composition@0.9.0
    • @graphql-mesh/include@0.4.0

1.5.34

Patch Changes

1.5.33

Patch Changes

1.5.32

Patch Changes

  • Updated dependencies [9e23b1f]:
    • @graphql-mesh/fusion-composition@0.8.48

1.5.31

Patch Changes

1.5.30

Patch Changes

1.5.29

Patch Changes

1.5.28

Patch Changes

  • d745894 Thanks @ardatan! - Copy the implementation instead of importing it from graphql-js

  • Updated dependencies [d745894]:

    • @graphql-mesh/fusion-composition@0.8.44

1.5.27

Patch Changes

  • #9396 5904514 Thanks @dependabot! - dependencies updates:

  • #9398 bc4b5d0 Thanks @ardatan! - Add validation for transforms such as Federation Transform to provide better error messages when the configuration is incorrect. This includes suggestions for field names and argument names when they are not found in the schema. Additionally, improve error messages when applying transforms to subgraphs.

    This also adds validation for @merge and @resolveTo directives to ensure that the referenced fields and arguments exist in the subgraph schemas, providing suggestions when they do not.

  • Updated dependencies [5904514, bc4b5d0]:

    • @graphql-mesh/include@0.3.36
    • @graphql-mesh/fusion-composition@0.8.43

1.5.26

Patch Changes

1.5.25

Patch Changes

  • Updated dependencies [5c4b93b, 45bb6de, 46d8eed]:
    • @graphql-mesh/fusion-composition@0.8.41
    • @graphql-mesh/include@0.3.34
    • @graphql-mesh/utils@0.104.33

1.5.24

Patch Changes

  • Updated dependencies [94fbfbd]:
    • @graphql-mesh/string-interpolation@0.5.16
    • @graphql-mesh/utils@0.104.32
    • @graphql-mesh/fusion-composition@0.8.40
    • @graphql-mesh/include@0.3.33

1.5.23

Patch Changes

  • Updated dependencies [339c32c]:
    • @graphql-mesh/string-interpolation@0.5.15
    • @graphql-mesh/utils@0.104.31
    • @graphql-mesh/fusion-composition@0.8.39
    • @graphql-mesh/include@0.3.32

1.5.22

Patch Changes

  • Updated dependencies [3ad6a00]:
    • @graphql-mesh/string-interpolation@0.5.14
    • @graphql-mesh/utils@0.104.30
    • @graphql-mesh/fusion-composition@0.8.38
    • @graphql-mesh/include@0.3.31

1.5.21

Patch Changes

  • Updated dependencies [13af2ff]:
    • @graphql-mesh/string-interpolation@0.5.13
    • @graphql-mesh/utils@0.104.29
    • @graphql-mesh/fusion-composition@0.8.37
    • @graphql-mesh/include@0.3.30

1.5.20

Patch Changes

  • Updated dependencies [300aea0, 300aea0, 300aea0]:
    • @graphql-mesh/fusion-composition@0.8.36
    • @graphql-mesh/types@0.104.25
    • @graphql-mesh/utils@0.104.28
    • @graphql-mesh/include@0.3.29

1.5.19

Patch Changes

  • Updated dependencies [94c37cd, 17630d2]:
    • @graphql-mesh/fusion-composition@0.8.35

1.5.18

Patch Changes

  • Updated dependencies [2c80833, 2c80833, 2c80833]:
    • @graphql-mesh/fusion-composition@0.8.34
    • @graphql-mesh/types@0.104.24
    • @graphql-mesh/utils@0.104.27
    • @graphql-mesh/include@0.3.28

1.5.17

Patch Changes

  • Updated dependencies [5d38d11]:
    • @graphql-mesh/string-interpolation@0.5.12
    • @graphql-mesh/utils@0.104.26
    • @graphql-mesh/fusion-composition@0.8.33
    • @graphql-mesh/include@0.3.27

1.5.16

Patch Changes

1.5.15

Patch Changes

1.5.14

Patch Changes

  • Updated dependencies [457549e]:
    • @graphql-mesh/fusion-composition@0.8.31

1.5.13

Patch Changes

  • Updated dependencies [e42819b, a442cbe, a442cbe, a442cbe, 080aca9]:
    • @graphql-mesh/fusion-composition@0.8.30
    • @graphql-mesh/types@0.104.22
    • @graphql-mesh/utils@0.104.24
    • @graphql-mesh/include@0.3.25

1.5.12

Patch Changes

1.5.11

Patch Changes

  • Updated dependencies [d213cd9, d213cd9, d213cd9]:
    • @graphql-mesh/fusion-composition@0.8.28
    • @graphql-mesh/types@0.104.21
    • @graphql-mesh/utils@0.104.23
    • @graphql-mesh/include@0.3.23

1.5.10

Patch Changes

1.5.9

Patch Changes

  • Updated dependencies [0028f3b]:
    • @graphql-mesh/string-interpolation@0.5.11
    • @graphql-mesh/utils@0.104.21
    • @graphql-mesh/fusion-composition@0.8.26
    • @graphql-mesh/include@0.3.21

1.5.8

Patch Changes

1.5.7

Patch Changes

  • Updated dependencies [30e8e32]:
    • @graphql-mesh/string-interpolation@0.5.10
    • @graphql-mesh/utils@0.104.19
    • @graphql-mesh/fusion-composition@0.8.24
    • @graphql-mesh/include@0.3.19

1.5.6

Patch Changes

  • Updated dependencies [3878067, d420cb2]:
    • @graphql-mesh/fusion-composition@0.8.23

1.5.5

Patch Changes

1.5.4

Patch Changes

  • Updated dependencies [3987b80, 3987b80]:
    • @graphql-mesh/types@0.104.17
    • @graphql-mesh/utils@0.104.17
    • @graphql-mesh/fusion-composition@0.8.21
    • @graphql-mesh/include@0.3.17

1.5.3

Patch Changes

  • Updated dependencies [bb42d37, bb42d37]:
    • @graphql-mesh/types@0.104.16
    • @graphql-mesh/utils@0.104.16
    • @graphql-mesh/fusion-composition@0.8.20
    • @graphql-mesh/include@0.3.16

1.5.2

Patch Changes

  • Updated dependencies [b077f20]:
    • @graphql-mesh/types@0.104.15
    • @graphql-mesh/utils@0.104.15
    • @graphql-mesh/fusion-composition@0.8.19
    • @graphql-mesh/include@0.3.15

1.5.1

Patch Changes

  • Updated dependencies [1db3c6b]:
    • @graphql-mesh/types@0.104.14
    • @graphql-mesh/utils@0.104.14
    • @graphql-mesh/fusion-composition@0.8.18
    • @graphql-mesh/include@0.3.14

1.5.0

Minor Changes

  • #8851 9ed6940 Thanks @ardatan! - Add introspectionOptions to loadGraphQLHTTPSubgraph with some defaults. Previously, it was not possible to configure the introspection query options. By default it was ignoring deprecated input fields and not including descriptions. Now it includes descriptions and deprecated input fields by default. And you can still override the defaults by providing your own options.

    import { loadGraphQLHTTPSubgraph } from '@graphql-mesh/compose-cli'
    
    loadGraphQLHTTPSubgraph('my-subgraph', {
      source: 'http://my-subgraph/graphql',
      introspectionOptions: {
        descriptions: true,
        specifiedByUrl: false,
        directiveIsRepeatable: false,
        schemaDescription: false,
        inputValueDeprecation: true,
        oneOf: false // New in GraphQL 16
      }
    })

1.4.18

Patch Changes

1.4.17

Patch Changes

  • 8c1456d Thanks @ardatan! - Fix issues with missing query type and extends modifier

  • Updated dependencies [8c1456d, ffec6e7]:

    • @graphql-mesh/fusion-composition@0.8.16
    • @graphql-mesh/utils@0.104.12
    • @graphql-mesh/include@0.3.12
    • @graphql-mesh/types@0.104.12

1.4.16

Patch Changes

  • Updated dependencies [d61faf0]:
    • @graphql-mesh/utils@0.104.11
    • @graphql-mesh/fusion-composition@0.8.15
    • @graphql-mesh/include@0.3.11
    • @graphql-mesh/types@0.104.11

1.4.15

Patch Changes

  • Updated dependencies [7852ccd, 7852ccd]:
    • @graphql-mesh/utils@0.104.10
    • @graphql-mesh/fusion-composition@0.8.14
    • @graphql-mesh/include@0.3.10
    • @graphql-mesh/types@0.104.10

1.4.14

Patch Changes

  • Updated dependencies [0c18fe1]:
    • @graphql-mesh/types@0.104.9
    • @graphql-mesh/utils@0.104.9
    • @graphql-mesh/fusion-composition@0.8.13
    • @graphql-mesh/include@0.3.9

1.4.13

Patch Changes

  • #8720 f63a9d7 Thanks @cheub! - ignoreSemanticConventions option was ignored when you compose subgraphs into a supergraph.

  • Updated dependencies [fb6e935, fb6e935, fb6e935, 76df3d1]:

    • @graphql-mesh/types@0.104.8
    • @graphql-mesh/utils@0.104.8
    • @graphql-mesh/fusion-composition@0.8.12
    • @graphql-mesh/include@0.3.8

1.4.12

Patch Changes

1.4.11

Patch Changes

  • Updated dependencies [e2666bc]:
    • @graphql-mesh/utils@0.104.6
    • @graphql-mesh/fusion-composition@0.8.10
    • @graphql-mesh/include@0.3.6
    • @graphql-mesh/types@0.104.6

1.4.10

Patch Changes

  • Updated dependencies [9d61d75]:
    • @graphql-mesh/utils@0.104.5
    • @graphql-mesh/fusion-composition@0.8.9
    • @graphql-mesh/include@0.3.5
    • @graphql-mesh/types@0.104.5

1.4.9

Patch Changes

  • Updated dependencies [6b4c546]:
    • @graphql-mesh/types@0.104.4
    • @graphql-mesh/utils@0.104.4
    • @graphql-mesh/fusion-composition@0.8.8
    • @graphql-mesh/include@0.3.4

1.4.8

Patch Changes

  • Updated dependencies [74672d0]:
    • @graphql-mesh/fusion-composition@0.8.7

1.4.7

Patch Changes

1.4.6

Patch Changes

  • Updated dependencies [3528ddb]:
    • @graphql-mesh/fusion-composition@0.8.5

1.4.5

Patch Changes

  • Updated dependencies [3d33f2c, b432f1d]:
    • @graphql-mesh/fusion-composition@0.8.4

1.4.4

Patch Changes

  • Updated dependencies [cedadc5]:
    • @graphql-mesh/fusion-composition@0.8.3

1.4.3

Patch Changes

  • Updated dependencies [1b5d072]:
    • @graphql-mesh/utils@0.104.2
    • @graphql-mesh/fusion-composition@0.8.2
    • @graphql-mesh/include@0.3.2
    • @graphql-mesh/types@0.104.2

1.4.2

Patch Changes

1.4.1

Patch Changes

  • Updated dependencies [b6c083c, f416982]:
    • @graphql-mesh/utils@0.104.1
    • @graphql-mesh/fusion-composition@0.8.1
    • @graphql-mesh/include@0.3.1
    • @graphql-mesh/types@0.104.1

1.4.0

Patch Changes

  • Updated dependencies [4528794, 4528794]:
    • @graphql-mesh/utils@0.104.0
    • @graphql-mesh/fusion-composition@0.8.0
    • @graphql-mesh/include@0.3.0
    • @graphql-mesh/types@0.104.0

1.3.15

Patch Changes

  • Updated dependencies [903124f]:
    • @graphql-mesh/utils@0.103.21
    • @graphql-mesh/fusion-composition@0.7.27
    • @graphql-mesh/include@0.2.20
    • @graphql-mesh/types@0.103.21

1.3.14

Patch Changes

1.3.13

Patch Changes

  • Updated dependencies [d9cf1d3]:
    • @graphql-mesh/types@0.103.19
    • @graphql-mesh/utils@0.103.19
    • @graphql-mesh/fusion-composition@0.7.25
    • @graphql-mesh/include@0.2.18

1.3.12

Patch Changes

1.3.11

Patch Changes

  • Updated dependencies [eee582a]:
    • @graphql-mesh/utils@0.103.17
    • @graphql-mesh/fusion-composition@0.7.23
    • @graphql-mesh/include@0.2.16
    • @graphql-mesh/types@0.103.17

1.3.10

Patch Changes

  • #8375 b44f8b7 Thanks @ardatan! - More clear key-value pairs in the logs

  • Updated dependencies [b44f8b7]:

    • @graphql-mesh/types@0.103.16
    • @graphql-mesh/utils@0.103.16
    • @graphql-mesh/fusion-composition@0.7.22
    • @graphql-mesh/include@0.2.15

1.3.9

Patch Changes

  • Updated dependencies [b5c05c4]:
    • @graphql-mesh/types@0.103.15
    • @graphql-mesh/utils@0.103.15
    • @graphql-mesh/fusion-composition@0.7.21
    • @graphql-mesh/include@0.2.14

1.3.8

Patch Changes

  • Updated dependencies [fc44a1e]:
    • @graphql-mesh/types@0.103.14
    • @graphql-mesh/utils@0.103.14
    • @graphql-mesh/fusion-composition@0.7.20
    • @graphql-mesh/include@0.2.13

1.3.7

Patch Changes

1.3.6

Patch Changes

  • Updated dependencies [5180b06, c54e361, f1b5e8e, 78c202e]:
    • @graphql-mesh/utils@0.103.12
    • @graphql-mesh/types@0.103.12
    • @graphql-mesh/fusion-composition@0.7.18
    • @graphql-mesh/string-interpolation@0.5.8
    • @graphql-mesh/include@0.2.11

1.3.5

Patch Changes

  • Updated dependencies [3fc1f3e, 4011203]:
    • @graphql-mesh/types@0.103.11
    • @graphql-mesh/utils@0.103.11
    • @graphql-mesh/fusion-composition@0.7.17
    • @graphql-mesh/include@0.2.10

1.3.4

Patch Changes

1.3.3

Patch Changes

  • Updated dependencies [b750a41]:
    • @graphql-mesh/utils@0.103.10
    • @graphql-mesh/fusion-composition@0.7.16
    • @graphql-mesh/include@0.2.9
    • @graphql-mesh/types@0.103.10

1.3.2

Patch Changes

  • Updated dependencies [10ba2c4]:
    • @graphql-mesh/utils@0.103.9
    • @graphql-mesh/fusion-composition@0.7.15
    • @graphql-mesh/include@0.2.8
    • @graphql-mesh/types@0.103.9

1.3.1

Patch Changes

1.3.0

Minor Changes

Patch Changes

1.2.14

Patch Changes

  • 979530c Thanks @ardatan! - Support string interpolation on `endpoint` and `source`

1.2.13

Patch Changes

1.2.12

Patch Changes

  • 8c11020 Thanks @ardatan! - Support `extend` keyword in SDL with `loadGraphQLHTTPSubgraph`

1.2.11

Patch Changes

  • Updated dependencies [5883d66]:
    • @graphql-mesh/fusion-composition@0.7.11

1.2.10

Patch Changes

  • Updated dependencies [6a4d978]:
    • @graphql-mesh/fusion-composition@0.7.10

1.2.9

Patch Changes

  • Updated dependencies [a4942c3]:
    • @graphql-mesh/fusion-composition@0.7.9

1.2.8

Patch Changes

  • Updated dependencies [b35fb59]:
    • @graphql-mesh/fusion-composition@0.7.8

1.2.7

Patch Changes

  • e92d4f8 Thanks @ardatan! - Show parse errors correctly when a string passed to `additionalTypeDefs`

  • Updated dependencies [9f9f6fe, 750ce54, 9f9f6fe, 9f9f6fe]:

    • @graphql-mesh/include@0.2.4
    • @graphql-mesh/fusion-composition@0.7.7
    • @graphql-mesh/utils@0.103.5
    • @graphql-mesh/types@0.103.5

1.2.6

Patch Changes

  • Updated dependencies [8fcfe3f]:
    • @graphql-mesh/types@0.103.4
    • @graphql-mesh/utils@0.103.4
    • @graphql-mesh/fusion-composition@0.7.6

1.2.5

Patch Changes

  • Updated dependencies [6360755]:
    • @graphql-mesh/utils@0.103.3
    • @graphql-mesh/fusion-composition@0.7.5
    • @graphql-mesh/types@0.103.3

1.2.4

Patch Changes

  • Updated dependencies [bfd8929]:
    • @graphql-mesh/utils@0.103.2
    • @graphql-mesh/fusion-composition@0.7.4
    • @graphql-mesh/types@0.103.2

1.2.3

Patch Changes

  • Updated dependencies [8154187]:
    • @graphql-mesh/fusion-composition@0.7.3

1.2.2

Patch Changes

  • Updated dependencies [6ea841c]:
    • @graphql-mesh/fusion-composition@0.7.2

1.2.1

Patch Changes

1.2.0

Patch Changes

  • Updated dependencies [0e49907, 9873b33]:
    • @graphql-mesh/utils@0.103.0
    • @graphql-mesh/fusion-composition@0.7.0
    • @graphql-mesh/types@0.103.0

1.1.9

Patch Changes

1.1.8

Patch Changes

1.1.7

Patch Changes

  • 56e7b60 Thanks @ardatan! - Pass ignoreSemanticConventions to the composition

1.1.6

Patch Changes

  • Updated dependencies [4da6db4]:
    • @graphql-mesh/include@0.2.3

1.1.5

Patch Changes

  • Updated dependencies [de41fc2, de41fc2, de41fc2]:
    • @graphql-mesh/fusion-composition@0.6.5
    • @graphql-mesh/types@0.102.11
    • @graphql-mesh/utils@0.102.11

1.1.4

Patch Changes

  • Updated dependencies [997b81c, 997b81c, 997b81c]:
    • @graphql-mesh/fusion-composition@0.6.4
    • @graphql-mesh/types@0.102.10
    • @graphql-mesh/utils@0.102.10

1.1.3

Patch Changes

  • Updated dependencies [fad4d27]:
    • @graphql-mesh/fusion-composition@0.6.3
    • @graphql-mesh/utils@0.102.9
    • @graphql-mesh/types@0.102.9

1.1.2

Patch Changes

  • Updated dependencies [518c42c, 518c42c, 518c42c]:
    • @graphql-mesh/fusion-composition@0.6.2
    • @graphql-mesh/types@0.102.8
    • @graphql-mesh/utils@0.102.8

1.1.1

Patch Changes

1.1.0

Minor Changes

Patch Changes

  • Updated dependencies [c8b1309, c8b1309]:
    • @graphql-mesh/fusion-composition@0.6.0

1.0.4

Patch Changes

  • Updated dependencies [bf588d3]:
    • @graphql-mesh/utils@0.102.6
    • @graphql-mesh/fusion-composition@0.5.4
    • @graphql-mesh/types@0.102.6

1.0.3

Patch Changes

  • Updated dependencies [e9483d6]:
    • @graphql-mesh/fusion-composition@0.5.3

1.0.2

Patch Changes

  • Updated dependencies [adc3293]:
    • @graphql-mesh/fusion-composition@0.5.2

1.0.1

Patch Changes

  • Updated dependencies [f1ce73e]:
    • @graphql-mesh/include@0.2.2

1.0.0

Major Changes

Patch Changes

  • Updated dependencies [0443063]:
    • @graphql-mesh/include@0.2.1

0.10.2

Patch Changes

0.10.1

Patch Changes

  • 81c25d3 Thanks @ardatan! - DX improvements, less noisy logs by default

  • Updated dependencies [28cd8b0]:

    • @graphql-mesh/fusion-composition@0.5.1

0.10.0

Minor Changes

Patch Changes

0.9.5

Patch Changes

  • Updated dependencies [5146df0]:
    • @graphql-mesh/fusion-composition@0.4.5

0.9.4

Patch Changes

  • Updated dependencies [edbc074, edbc074]:
    • @graphql-mesh/types@0.102.4
    • @graphql-mesh/utils@0.102.4
    • @graphql-mesh/fusion-composition@0.4.4

0.9.3

Patch Changes

  • Updated dependencies [14ec31f, 14ec31f]:
    • @graphql-mesh/types@0.102.3
    • @graphql-mesh/utils@0.102.3
    • @graphql-mesh/fusion-composition@0.4.3

0.9.2

Patch Changes

  • Updated dependencies [5d95aad]:
    • @graphql-mesh/utils@0.102.2
    • @graphql-mesh/fusion-composition@0.4.2
    • @graphql-mesh/types@0.102.2

0.9.1

Patch Changes

  • Updated dependencies [e49a7e6, 102d970]:
    • @graphql-mesh/utils@0.102.1
    • @graphql-mesh/fusion-composition@0.4.1
    • @graphql-mesh/types@0.102.1

0.9.0

Patch Changes

  • Updated dependencies [db41f96]:
    • @graphql-mesh/types@0.102.0
    • @graphql-mesh/utils@0.102.0
    • @graphql-mesh/fusion-composition@0.4.0

0.8.0

Minor Changes

  • #7494 0594ffd Thanks @enisdenjo! - Support for --native-import flag which will use the native import function instead of jiti for importing configs

Patch Changes

0.7.0

Patch Changes

0.6.9

Patch Changes

  • Updated dependencies [a1bfc49]:
    • @graphql-mesh/types@0.99.7
    • @graphql-mesh/utils@0.99.7
    • @graphql-mesh/fusion-composition@0.1.9

0.6.8

Patch Changes

  • Updated dependencies [6c67e77, 6c67e77, 6c67e77]:
    • @graphql-mesh/types@0.99.6
    • @graphql-mesh/utils@0.99.6
    • @graphql-mesh/fusion-composition@0.1.8

0.6.7

Patch Changes

0.6.6

Patch Changes

0.6.5

Patch Changes

  • Updated dependencies [33c23e8]:
    • @graphql-mesh/utils@0.99.5
    • @graphql-mesh/fusion-composition@0.1.6
    • @graphql-mesh/types@0.99.5

0.6.4

Patch Changes

  • Updated dependencies [7b474af]:
    • @graphql-mesh/fusion-composition@0.1.5

0.6.3

Patch Changes

  • Updated dependencies [597e790, 597e790]:
    • @graphql-mesh/utils@0.99.4
    • @graphql-mesh/fusion-composition@0.1.4
    • @graphql-mesh/types@0.99.4

0.6.2

Patch Changes

  • Updated dependencies [5e5dec5, 5e5dec5]:
    • @graphql-mesh/utils@0.99.3
    • @graphql-mesh/fusion-composition@0.1.3
    • @graphql-mesh/types@0.99.3

0.6.1

Patch Changes

  • Updated dependencies [4bc495c, 4bc495c]:
    • @graphql-mesh/types@0.99.2
    • @graphql-mesh/utils@0.99.2
    • @graphql-mesh/fusion-composition@0.1.2

0.6.0

Minor Changes

  • #7266 26deb92 Thanks @ardatan! - BREAKING: Remove root-level transforms, please use source-level transforms instead

Patch Changes

  • #7272 a486cab Thanks @beeequeue! - loadGraphQLHTTPSubgraph: Added schemaHeaders to introspection requests

  • #7253 2b8e52f Thanks @ardatan! - Fix the bug; When a non-nullable field is added through additionalTypeDefs in the compose config, then the gateway fails to resolve it even if a resolver defined in additionalResolvers;

    export const composeConfig = defineComposeConfig({
      subgraphs: [
        {
          sourceHandler: loadOpenAPISubgraph('Wiki', {
            source: 'https://api.apis.guru/v2/specs/wikimedia.org/1.0.0/swagger.yaml',
            endpoint: 'https://wikimedia.org/api/rest_v1'
          })
        }
      ],
      additionalTypeDefs: /* GraphQL */ `
        extend type pageview_project {
          banana: String
          apple: String!
        }
      `
    })
    
    export const serveConfig = defineServeConfig({
      additionalResolvers: {
        pageview_project: {
          banana() {
            return '🍌'
          },
          apple() {
            return '🍎' // This is ignored
          }
        }
      }
    })
  • ae8dbdc Thanks @enisdenjo! - Reject config files that import modules which are missing

  • Updated dependencies [e3714fb, 7800514, 7800514]:

    • @graphql-mesh/fusion-composition@0.1.1
    • @graphql-mesh/types@0.99.1
    • @graphql-mesh/utils@0.99.1

0.5.0

Minor Changes

  • #7257 798ed17 Thanks @enisdenjo! - Support mesh.config.ts or mesh.config.mts or mesh.config.cts or mesh.config.js or mesh.config.mjs or mesh.config.cjs configuration files

  • #7261 a8e3f00 Thanks @enisdenjo! - Use jiti instead of tsx for importig config files

Patch Changes

0.4.2

Patch Changes

0.4.1

Patch Changes

  • #7145 7544594 Thanks @ardatan! - dependencies updates:

  • #7145 7544594 Thanks @Author, @User! - New Federation Composition Approach for the new Mesh v1 alpha; (If you are using Mesh v0 legacy, ignore this changelog)

    Now Mesh Compose produces a superset of Federated Supergraph.

    • Drop any options and implementation related to the old fusiongraph
      • The output is a valid supergraph that can be consumed by any Federation router. But if it is not Mesh Serve, the subgraph should still be served via Mesh Serve then consumed by that Federation router. If it is Mesh Serve, no additional server is needed because Mesh Serve already knows the additional directives etc of the transports
    • Compose the subgraphs using @theguild/federation-composition package
      • So benefit from the validation rules of Federation in Mesh Compose
    • Ability to consume existing federated subgraphs
      • Since the composition is now Federation, we can accept any federated subgraph
    • Implement Federation transform to transform any subgraph to a federated subgraph by adding Federation directives (v2 only) . This is on user’s own because they add the directives manually. And for __resolveReference, we use @merge directive to mark a root field as an entity resolver for Federation
    • Use additional @source directive to consume transforms on the subgraph execution (field renames etc)
    • Use additional @resolveTo directive to consume additional stitched resolvers
    • Use additional @transport directive to choose and configure a specific transport for subgraphs
    • Handle unsupported additional directives with another set of additional directives on Query for example directives on unions, schema definitions, enum values etc and then @extraUnionDirective added with missing directives for unions then on the runtime these directives are added back to the union for the subgraph execution of the transports.

    Basically Mesh Compose uses Federation spec for composition, validation and runtime BUT the output is a superset with these additional directives imported via @composeDirective;

    • @merge (Taken from Stitching Directives) If a custom entity resolver is defined for a root field like below, the gateway will pick it up as an entity resolver;
    type Query {
       fooById(id: ID!): Foo @merge(keyField: 'id', keyArg: 'id', subgraph: Foo)
    }
    • @resolveTo (Taken from v0) This allows to delegate to a field in any subgraph just like Schema Extensions in old Schema Stitching approach;
        extend type Book {
    
            @resolveTo(
              sourceName: "authors"
              sourceTypeName: "Query"
              sourceFieldName: "authors"
              keyField: "authorId"
              keysArg: "ids"
            )
        }
    • @source Taken from Fusion This allows us to know how the original definition is in the subgraph. If this directive exists, the runtime applies the transforms from Schema Stitching during the subgraph execution. This directive can exist in arguments, fields, types etc.
    type Query {
     @source(type: "MyUser") # This means `User` is actually `MyUser` in the actual subgraph
    }
    
    type User @source(name: "MyUser") {
      id: ID
      name: String
    }
    • @transport Taken from Fusion This allows us to choose a specific transport (rest, mysql, graphql-ws, graphql-http etc) for the subgraph execution with some configuration. In the runtime, the gateway loads the transports and passes the subgraph schema with annotations if needed to get an executor to execute queries against that subgraph.
    schema @transport(subgraph: "API", kind: "rest", location: "http://0.0.0.0:<api_port>") {
      query: Query
      mutation: Mutation
      subscription: Subscription
    }
    • @extraSchemaDefinitionDirective By default, it is not possible to add directives from subgraph to the supergraph but it is possible to do the same thing on types or fields. So we add this directive to Query for the directives we want to add to the schema. Then the runtime picks those per subgraph to put the directives back to their original places;
    type Query @extraSchemaDefinitionDirective(
      directives: {transport: [{subgraph: "petstore", kind: "rest", location: "http://0.0.0.0:<petstore_port>/api/v3"}]}
    )  {
    • @extraEnumValueDirective and @extraTypeDirective Same for enum values and unions etc that are not supported by the composition library

    Thanks to these directives, subgraphs can be published individually to Hive for example then the supergraph stored there can be handled by Mesh Gateway since the composition is the same. All the additions etc are done on the subgraph level. For the Fed gateways except Mesh Serve, subgraphs can be served individually by Mesh Serve again while they are consumed by any gw like Apollo Router Shareable is enabled by default for non-federated subgraphs

    Documentation PR has details for users; https://github.com/ardatan/graphql-mesh/pull/7109

  • Updated dependencies [7544594, f985978, 7544594]:

    • @graphql-mesh/fusion-composition@0.0.7
    • @graphql-mesh/utils@0.98.9
    • @graphql-mesh/types@0.98.9

0.4.0

Minor Changes

Patch Changes

0.3.7

Patch Changes

  • Updated dependencies []:
    • @graphql-mesh/types@0.98.7
    • @graphql-mesh/utils@0.98.7

0.3.6

Patch Changes

0.3.5

Patch Changes

  • Updated dependencies [c4d2249]:
    • @graphql-mesh/utils@0.98.5
    • @graphql-mesh/types@0.98.5

0.3.4

Patch Changes

  • Updated dependencies [fb59244]:
    • @graphql-mesh/types@0.98.4
    • @graphql-mesh/utils@0.98.4

0.3.3

Patch Changes

  • Updated dependencies [c47b2aa]:
    • @graphql-mesh/types@0.98.3
    • @graphql-mesh/utils@0.98.3

0.3.2

Patch Changes

  • 96dd11d Thanks @ardatan! - Bump GraphQL Tools versions

  • Updated dependencies [96dd11d]:

    • @graphql-mesh/fusion-composition@0.0.4
    • @graphql-mesh/types@0.98.2
    • @graphql-mesh/utils@0.98.2

0.3.1

Patch Changes

  • Updated dependencies [6044b7f]:
    • @graphql-mesh/types@0.98.1
    • @graphql-mesh/utils@0.98.1

0.3.0

Minor Changes

  • #6862 31828ad Thanks @enisdenjo! - Better CLI, supporting arguments and adding help in the shell

  • #6862 31828ad Thanks @enisdenjo! - Rename target option to output in order to be more clear that it’s the output file.

    import { GraphQLObjectType, GraphQLSchema, GraphQLString } from 'graphql';
    import { defineConfig } from '@graphql-mesh/compose-cli';
    
    export const composeConfig = defineConfig({
    - target: 'fusiongraph.graphql',
    + output: 'fusiongraph.graphql',
      subgraphs: [
        {
          sourceHandler: () => ({
            name: 'helloworld',
            schema$: new GraphQLSchema({
              query: new GraphQLObjectType({
                name: 'Query',
                fields: {
                  hello: {
                    type: GraphQLString,
                    resolve: () => 'world',
                  },
                },
              }),
            }),
          }),
        },
      ],
    });
  • #6779 6399add Thanks @enisdenjo! - use tsx node loader instead of ts-node

  • #6862 31828ad Thanks @enisdenjo! - Rename runComposeCLI to just run and change the supported options

  • #6779 6399add Thanks @enisdenjo! - write composed schema to stdout by default when no target is specified

Patch Changes

0.2.5

Patch Changes

  • Updated dependencies [52f74e7]:
    • @graphql-mesh/types@0.97.5
    • @graphql-mesh/utils@0.97.5

0.2.4

Patch Changes

  • Updated dependencies [e2fb7ed, e2fb7ed, ff33394]:
    • @graphql-mesh/utils@0.97.4
    • @graphql-mesh/types@0.97.4

0.2.3

Patch Changes

  • Updated dependencies [57f4a60]:
    • @graphql-mesh/types@0.97.3
    • @graphql-mesh/utils@0.97.3

0.2.2

Patch Changes

  • Updated dependencies [7a712ab]:
    • @graphql-mesh/types@0.97.2
    • @graphql-mesh/utils@0.97.2

0.2.1

Patch Changes

0.2.0

Patch Changes

0.1.1

Patch Changes

  • Updated dependencies [0f274ef]:
    • @graphql-mesh/utils@0.96.6
    • @graphql-mesh/types@0.96.6

0.1.0

Minor Changes

0.0.2

Patch Changes

  • Updated dependencies [4b3ea1d]:
    • @graphql-mesh/types@0.96.5
    • @graphql-mesh/utils@0.96.5

0.0.1

Patch Changes

  • #6541 a7984e5 Thanks @ardatan! - New Fusion packages

  • Updated dependencies [ae7b085, a7984e5]:

    • @graphql-mesh/types@0.96.4
    • @graphql-mesh/fusion-composition@0.0.1
    • @graphql-mesh/utils@0.96.4