On this page

@omnigraph/json-schema

Changelog for @omnigraph/json-schema: every release with its changes and the pull requests behind them.

0.112.4

Patch Changes

0.112.3

Patch Changes

  • #9649 1a6dc08 Thanks @copilot-swe-agent! - Fix: honor loader-level queryStringOptions as fallback in @httpOperation directives

    Previously, when a queryStringOptions was configured at the loader (source) level for OpenAPI or JSON Schema subgraphs, the generated @httpOperation directives did not inherit that option unless every individual operation explicitly set its own queryStringOptions. This meant that loader-level query-string serialization config (e.g. allowDots, arrayFormat) was silently ignored at execution time.

    What changed

    In addExecutionDirectivesToComposer, each operation now falls back to the loader-level queryStringOptions when the operation itself does not define one:

    queryStringOptions: 'queryStringOptions' in operationConfig
      ? operationConfig.queryStringOptions
      : queryStringOptions // ← new: inherit from loader level

    This aligns with the documented contract where loader-level options apply globally to all operations.

    Usage example

    OpenAPI – queryStringOptions set once for all operations:

    // mesh.config.ts
    import { defineConfig } from '@graphql-mesh/compose-cli'
    import { loadOpenAPISubgraph } from '@omnigraph/openapi'
    
    export const composeConfig = defineConfig({
      subgraphs: [
        {
          sourceHandler: loadOpenAPISubgraph('MyApi', {
            source: './openapi.yaml',
            endpoint: 'https://api.example.com',
            // Applied to every operation that doesn't override it
            queryStringOptions: {
              allowDots: true, // serialize nested objects as a.b.c=1
              arrayFormat: 'repeat' // serialize arrays as a=1&a=2
            }
          })
        }
      ]
    })

    JSON Schema – same option at the loader level:

    import { loadGraphQLSchemaFromJSONSchemas } from '@omnigraph/json-schema';
    
    const schema = await loadGraphQLSchemaFromJSONSchemas('MyApi', {
      endpoint: 'https://api.example.com',
      queryStringOptions: {
        arrayFormat: 'brackets', // foo[]=1&foo[]=2
      },
      operations: [...],
    });

    Affected packages

    PackageChange
    @omnigraph/json-schemaCore fix in addExecutionDirectivesToComposer
    @omnigraph/openapiInherits fix via @omnigraph/json-schema

    Fixes #8760

  • Updated dependencies [c7f0f3f, c7f0f3f]:

    • @graphql-mesh/types@0.107.1
    • @graphql-mesh/utils@0.107.1
    • @graphql-mesh/transport-rest@0.12.1

0.112.2

Patch Changes

  • #9643 5eab022 Thanks @ardatan! - Keep HTTP 204 (No Content) arms in status-code response unions.

    OpenAPI encodes a 204 response as { type: 'null' } inside a oneOf that also carries a statusCodeOneOfIndexMap comment. The OpenAPI 3.1 nullability strip introduced for [#8719](https://github.com/ardatan/graphql-mesh/issues/8719) treated that { type: 'null' } member as a nullability marker and removed it, so success outcomes disappeared from the generated GraphQL union (e.g. DELETE + 204/404 collapsed to only the error type, or a union of errors without Void_container).

    Skip the { type: 'null' } strip when the schema is a status-code response union ($comment starts with statusCodeOneOfIndexMap:). Data-schema nullability via anyOf/oneOf with { type: 'null' } is unchanged.

0.112.1

Patch Changes

  • #9633 6f96258 Thanks @copilot-swe-agent! - Treat object schemas that only have additionalProperties as JSON instead of generating unused dictionary object types.

  • #9638 5040fe9 Thanks @ardatan! - Reuse a single scalar when a shared primitive $ref has both format and pattern whose GraphQL names would collide, including nullable anyOf/oneOf wrappers. Keep @regexp when the names differ.

  • 18cefe7 Thanks @ardatan! - Reuse a JSON Schema $ref target reached via different relative paths instead of minting Type2 / Type3 duplicates.

  • Updated dependencies [18cefe7, 6f96258]:

    • json-machete@0.97.8

0.112.0

Patch Changes

  • #9629 1849ec3 Thanks @copilot-swe-agent! - Deep-merge allOf object fields that graphql-compose wrapped in NonNull (required nested objects).

  • #9629 1849ec3 Thanks @copilot-swe-agent! - Treat anyOf/oneOf with a { type: "null" } branch as a nullable version of the remaining type instead of falling through to a generic object.

  • #9629 1849ec3 Thanks @copilot-swe-agent! - Fix empty @discriminator(mapping:) when the mapping is auto-detected rather than taken from the OAS discriminator.mapping property.

  • #9629 1849ec3 Thanks @copilot-swe-agent! - Stop mutating shared $ref parameter schemas when one operation marks the param required. Required args are collected per operation instead.

  • Updated dependencies [ab73b38, 51b15f4]:

    • @graphql-mesh/types@0.107.0
    • @graphql-mesh/utils@0.107.0
    • @graphql-mesh/transport-rest@0.12.0

0.111.0

Patch Changes

0.110.1

Patch Changes

0.110.0

Patch Changes

  • Updated dependencies [b7def27]:
    • @graphql-mesh/types@0.105.0
    • @graphql-mesh/utils@0.105.0
    • @graphql-mesh/transport-rest@0.10.0

0.109.43

Patch Changes

0.109.42

Patch Changes

0.109.41

Patch Changes

0.109.40

Patch Changes

0.109.39

Patch Changes

0.109.38

Patch Changes

0.109.37

Patch Changes

  • Updated dependencies [46d8eed]:
    • @graphql-mesh/utils@0.104.33
    • @graphql-mesh/transport-rest@0.9.36

0.109.36

Patch Changes

  • Updated dependencies [94fbfbd]:
    • @graphql-mesh/string-interpolation@0.5.16
    • @graphql-mesh/utils@0.104.32
    • @graphql-mesh/transport-rest@0.9.35

0.109.35

Patch Changes

  • Updated dependencies [339c32c]:
    • @graphql-mesh/string-interpolation@0.5.15
    • @graphql-mesh/utils@0.104.31
    • @graphql-mesh/transport-rest@0.9.34

0.109.34

Patch Changes

0.109.33

Patch Changes

  • Updated dependencies [13af2ff, 62c1082]:
    • @graphql-mesh/string-interpolation@0.5.13
    • json-machete@0.97.7
    • @graphql-mesh/utils@0.104.29
    • @graphql-mesh/transport-rest@0.9.32

0.109.32

Patch Changes

0.109.31

Patch Changes

0.109.30

Patch Changes

  • Updated dependencies [5d38d11]:
    • @graphql-mesh/string-interpolation@0.5.12
    • @graphql-mesh/utils@0.104.26
    • @graphql-mesh/transport-rest@0.9.29

0.109.29

Patch Changes

  • Updated dependencies [4f81520]:
    • @graphql-mesh/types@0.104.23
    • @graphql-mesh/utils@0.104.25
    • @graphql-mesh/transport-rest@0.9.28

0.109.28

Patch Changes

0.109.27

Patch Changes

0.109.26

Patch Changes

0.109.25

Patch Changes

0.109.24

Patch Changes

0.109.23

Patch Changes

0.109.22

Patch Changes

0.109.21

Patch Changes

  • Updated dependencies [30e8e32]:
    • @graphql-mesh/string-interpolation@0.5.10
    • @graphql-mesh/utils@0.104.19
    • @graphql-mesh/transport-rest@0.9.21

0.109.20

Patch Changes

0.109.19

Patch Changes

0.109.18

Patch Changes

0.109.17

Patch Changes

  • Updated dependencies [bb42d37, bb42d37]:
    • @graphql-mesh/types@0.104.16
    • @graphql-mesh/utils@0.104.16
    • @graphql-mesh/transport-rest@0.9.17

0.109.16

Patch Changes

  • Updated dependencies [b077f20]:
    • @graphql-mesh/types@0.104.15
    • @graphql-mesh/utils@0.104.15
    • @graphql-mesh/transport-rest@0.9.16

0.109.15

Patch Changes

  • Updated dependencies [1db3c6b]:
    • @graphql-mesh/types@0.104.14
    • @graphql-mesh/utils@0.104.14
    • @graphql-mesh/transport-rest@0.9.15

0.109.14

Patch Changes

0.109.13

Patch Changes

  • Updated dependencies [ffec6e7]:
    • @graphql-mesh/transport-rest@0.9.13
    • @graphql-mesh/utils@0.104.12
    • @graphql-mesh/types@0.104.12

0.109.12

Patch Changes

  • Updated dependencies [d61faf0]:
    • @graphql-mesh/utils@0.104.11
    • @graphql-mesh/transport-rest@0.9.12
    • @graphql-mesh/types@0.104.11

0.109.11

Patch Changes

  • Updated dependencies [7852ccd, 7852ccd]:
    • @graphql-mesh/utils@0.104.10
    • @graphql-mesh/transport-rest@0.9.11
    • @graphql-mesh/types@0.104.10

0.109.10

Patch Changes

  • Updated dependencies [0c18fe1]:
    • @graphql-mesh/types@0.104.9
    • @graphql-mesh/utils@0.104.9
    • @graphql-mesh/transport-rest@0.9.10

0.109.9

Patch Changes

  • #8716 fb6e935 Thanks @enisdenjo! - Accept and support the upcoming and improved HivePubSub from @graphql-hive/pubsub

  • Updated dependencies [fb6e935, fb6e935, fb6e935]:

    • @graphql-mesh/types@0.104.8
    • @graphql-mesh/transport-rest@0.9.9
    • @graphql-mesh/utils@0.104.8

0.109.8

Patch Changes

  • Updated dependencies [c37c23b]:
    • @graphql-mesh/types@0.104.7
    • @graphql-mesh/utils@0.104.7
    • @graphql-mesh/transport-rest@0.9.8

0.109.7

Patch Changes

  • Updated dependencies [e2666bc]:
    • @graphql-mesh/utils@0.104.6
    • @graphql-mesh/transport-rest@0.9.7
    • @graphql-mesh/types@0.104.6

0.109.6

Patch Changes

  • Updated dependencies [9d61d75]:
    • @graphql-mesh/utils@0.104.5
    • @graphql-mesh/transport-rest@0.9.6
    • @graphql-mesh/types@0.104.5

0.109.5

Patch Changes

  • Updated dependencies [6b4c546]:
    • @graphql-mesh/types@0.104.4
    • @graphql-mesh/utils@0.104.4
    • @graphql-mesh/transport-rest@0.9.5

0.109.4

Patch Changes

0.109.3

Patch Changes

  • Updated dependencies [1b5d072]:
    • @graphql-mesh/utils@0.104.2
    • @graphql-mesh/transport-rest@0.9.3
    • @graphql-mesh/types@0.104.2

0.109.2

Patch Changes

  • Updated dependencies [1577309]:
    • @graphql-mesh/transport-rest@0.9.2

0.109.1

Patch Changes

  • Updated dependencies [b6c083c, f416982]:
    • @graphql-mesh/utils@0.104.1
    • @graphql-mesh/transport-rest@0.9.1
    • @graphql-mesh/types@0.104.1

0.109.0

Patch Changes

  • Updated dependencies [4528794, 4528794]:
    • @graphql-mesh/utils@0.104.0
    • @graphql-mesh/transport-rest@0.9.0
    • @graphql-mesh/types@0.104.0

0.108.23

Patch Changes

  • Updated dependencies [903124f]:
    • @graphql-mesh/utils@0.103.21
    • @graphql-mesh/transport-rest@0.8.23
    • @graphql-mesh/types@0.103.21

0.108.22

Patch Changes

  • Updated dependencies [3f5e0a1]:
    • @graphql-mesh/utils@0.103.20
    • @graphql-mesh/transport-rest@0.8.22
    • @graphql-mesh/types@0.103.20

0.108.21

Patch Changes

  • Updated dependencies [d9cf1d3]:
    • @graphql-mesh/types@0.103.19
    • @graphql-mesh/utils@0.103.19
    • @graphql-mesh/transport-rest@0.8.21

0.108.20

Patch Changes

0.108.19

Patch Changes

  • Updated dependencies [eee582a]:
    • @graphql-mesh/utils@0.103.17
    • @graphql-mesh/transport-rest@0.8.19
    • @graphql-mesh/types@0.103.17

0.108.18

Patch Changes

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

  • Updated dependencies [b44f8b7]:

    • @graphql-mesh/transport-rest@0.8.18
    • @graphql-mesh/types@0.103.16
    • @graphql-mesh/utils@0.103.16

0.108.17

Patch Changes

  • Updated dependencies [b5c05c4]:
    • @graphql-mesh/types@0.103.15
    • @graphql-mesh/utils@0.103.15
    • @graphql-mesh/transport-rest@0.8.17

0.108.16

Patch Changes

  • Updated dependencies [fc44a1e]:
    • @graphql-mesh/types@0.103.14
    • @graphql-mesh/utils@0.103.14
    • @graphql-mesh/transport-rest@0.8.16

0.108.15

Patch Changes

0.108.14

Patch Changes

  • Updated dependencies [0b6ee9c]:
    • @graphql-mesh/transport-rest@0.8.14

0.108.13

Patch Changes

  • Updated dependencies [5180b06, c54e361, 78c202e]:
    • @graphql-mesh/utils@0.103.12
    • @graphql-mesh/types@0.103.12
    • @graphql-mesh/string-interpolation@0.5.8
    • @graphql-mesh/transport-rest@0.8.13

0.108.12

Patch Changes

0.108.11

Patch Changes

  • Updated dependencies [3fc1f3e, 4011203]:
    • @graphql-mesh/types@0.103.11
    • @graphql-mesh/utils@0.103.11
    • @graphql-mesh/transport-rest@0.8.11

0.108.10

Patch Changes

  • Updated dependencies [b750a41]:
    • @graphql-mesh/utils@0.103.10
    • @graphql-mesh/transport-rest@0.8.10
    • @graphql-mesh/types@0.103.10

0.108.9

Patch Changes

  • Updated dependencies [10ba2c4]:
    • @graphql-mesh/utils@0.103.9
    • @graphql-mesh/transport-rest@0.8.9
    • @graphql-mesh/types@0.103.9

0.108.8

Patch Changes

  • Updated dependencies [93fb364]:
    • @graphql-mesh/utils@0.103.8
    • @graphql-mesh/transport-rest@0.8.8
    • @graphql-mesh/types@0.103.8

0.108.7

Patch Changes

  • #7961 1a7adbf Thanks @ardatan! - HATEOAS Support

  • Updated dependencies [1a7adbf]:

    • @graphql-mesh/transport-rest@0.8.7
    • @graphql-mesh/types@0.103.7
    • @graphql-mesh/utils@0.103.7

0.108.6

Patch Changes

0.108.5

Patch Changes

  • #8007 9f9f6fe Thanks @ardatan! - DEBUG logs were accidentially written to the output, now it correctly prints logs to the logger not the output
  • Updated dependencies [9f9f6fe]:
    • @graphql-mesh/utils@0.103.5
    • @graphql-mesh/transport-rest@0.8.5
    • @graphql-mesh/types@0.103.5

0.108.4

Patch Changes

  • Updated dependencies [8fcfe3f]:
    • @graphql-mesh/types@0.103.4
    • @graphql-mesh/utils@0.103.4
    • @graphql-mesh/transport-rest@0.8.4

0.108.3

Patch Changes

  • Updated dependencies [6360755]:
    • @graphql-mesh/utils@0.103.3
    • @graphql-mesh/transport-rest@0.8.3
    • @graphql-mesh/types@0.103.3

0.108.2

Patch Changes

  • Updated dependencies [bfd8929]:
    • @graphql-mesh/utils@0.103.2
    • @graphql-mesh/transport-rest@0.8.2
    • @graphql-mesh/types@0.103.2

0.108.1

Patch Changes

0.108.0

Patch Changes

  • Updated dependencies [0e49907, 9873b33]:
    • @graphql-mesh/utils@0.103.0
    • @graphql-mesh/transport-rest@0.8.0
    • @graphql-mesh/types@0.103.0

0.107.8

Patch Changes

0.107.7

Patch Changes

  • Updated dependencies []:
    • @graphql-mesh/types@0.102.13
    • @graphql-mesh/utils@0.102.13
    • @graphql-mesh/transport-rest@0.7.14

0.107.6

Patch Changes

0.107.5

Patch Changes

0.107.4

Patch Changes

0.107.3

Patch Changes

  • Updated dependencies [fad4d27]:
    • @graphql-mesh/utils@0.102.9
    • @graphql-mesh/transport-rest@0.7.10
    • @graphql-mesh/types@0.102.9
    • @graphql-mesh/transport-common@0.7.10

0.107.2

Patch Changes

0.107.1

Patch Changes

0.107.0

Minor Changes

0.106.8

Patch Changes

  • Updated dependencies [bf588d3]:
    • @graphql-mesh/utils@0.102.6
    • @graphql-mesh/transport-rest@0.7.7
    • @graphql-mesh/types@0.102.6
    • @graphql-mesh/transport-common@0.7.7

0.106.7

Patch Changes

0.106.6

Patch Changes

  • Updated dependencies [3bf14b3, b7f6ebf, 0a3e52c]:
    • @graphql-mesh/utils@0.102.5
    • @graphql-mesh/transport-rest@0.7.6
    • @graphql-mesh/types@0.102.5
    • @graphql-mesh/transport-common@0.7.6

0.106.5

Patch Changes

  • Updated dependencies [5146df0]:
    • @graphql-mesh/transport-common@0.7.5
    • @graphql-mesh/transport-rest@0.7.5

0.106.4

Patch Changes

0.106.3

Patch Changes

0.106.2

Patch Changes

  • Updated dependencies [5d95aad]:
    • @graphql-mesh/utils@0.102.2
    • @graphql-mesh/transport-rest@0.7.2
    • @graphql-mesh/types@0.102.2
    • @graphql-mesh/transport-common@0.7.2

0.106.1

Patch Changes

  • Updated dependencies [e49a7e6, 60bfc22]:
    • @graphql-mesh/utils@0.102.1
    • @graphql-mesh/transport-common@0.7.1
    • @graphql-mesh/transport-rest@0.7.1
    • @graphql-mesh/types@0.102.1

0.106.0

Patch Changes

  • Updated dependencies [13fa835, db41f96]:
    • @graphql-mesh/string-interpolation@0.5.6
    • @graphql-mesh/types@0.102.0
    • @graphql-mesh/utils@0.102.0
    • @graphql-mesh/transport-rest@0.7.0
    • @graphql-mesh/transport-common@0.7.0

0.105.2

Patch Changes

0.105.1

Patch Changes

  • Updated dependencies [67e1062]:
    • @graphql-mesh/transport-common@0.6.1
    • @graphql-mesh/transport-rest@0.6.1

0.105.0

Patch Changes

0.104.0

Patch Changes

0.103.2

Patch Changes

  • Updated dependencies [a1bfc49]:
    • @graphql-mesh/types@0.99.7
    • @graphql-mesh/utils@0.99.7
    • @graphql-mesh/transport-common@0.4.7
    • @graphql-mesh/transport-rest@0.4.9

0.103.1

Patch Changes

0.103.0

Minor Changes

  • #7443 8bccd9a Thanks @ardatan! - POSSIBLE BREAKING CHANGE WARNING: This change is breaking for OpenAPI schemas that have discriminator mapping. It fixes a bug when you have keys in the discriminator mapping that are invalid per GraphQL spec. Now in the artifacts @discriminator directive’s mapping argument is [String!]! instead of ObjMap. You should make sure both the consumer and the producer of the artifacts are updated to this version.

    discriminator:
      propertyName: petType
      mapping:
        'pet-cat': '#/components/schemas/Cat'
        'pet-dog': '#/components/schemas/Dog'

    This OpenAPI used to be translated into;

    @directive(mapping: { "pet-cat": "#/components/schemas/Cat", "pet-dog": "#/components/schemas/Dog" })

    But this is invalid in GraphQL spec, so now it’s translated into;

    @directive(mapping: [["pet-cat", "#/components/schemas/Cat"], ["pet-dog", "#/components/schemas/Dog"]])

Patch Changes

0.102.7

Patch Changes

  • Updated dependencies [33c23e8]:
    • @graphql-mesh/utils@0.99.5
    • @graphql-mesh/transport-rest@0.4.6
    • @graphql-mesh/types@0.99.5
    • @graphql-mesh/transport-common@0.4.5

0.102.6

Patch Changes

  • #7388 c4190a9 Thanks @ardatan! - Fix the issue when a discriminator is used with a response that has multiple status codes

  • Updated dependencies [c4190a9]:

    • @graphql-mesh/transport-rest@0.4.5

0.102.5

Patch Changes

  • Updated dependencies [597e790, 597e790]:
    • @graphql-mesh/utils@0.99.4
    • @graphql-mesh/transport-rest@0.4.4
    • @graphql-mesh/types@0.99.4
    • @graphql-mesh/transport-common@0.4.4

0.102.4

Patch Changes

  • Updated dependencies [5e5dec5, 5e5dec5]:
    • @graphql-mesh/utils@0.99.3
    • @graphql-mesh/transport-rest@0.4.3
    • @graphql-mesh/types@0.99.3
    • @graphql-mesh/transport-common@0.4.3

0.102.3

Patch Changes

0.102.2

Patch Changes

0.102.1

Patch Changes

0.102.0

Patch Changes

0.101.2

Patch Changes

0.101.1

Patch Changes

0.101.0

Minor Changes

  • #7145 7544594 Thanks @ardatan! - POTENTIAL BREAKING CHANGE:

    Now @httpOperation and @transport directive serializes headers as [string, string][] instead of stringified JSON.

    @httpOperation(
    -  operationSpecificHeaders: [["Authorization", "Bearer 123"], ["X-Api-Key", "123"]]
    +  operationSpecificHeaders: "{\"Authorization\": \"Bearer 123\", \"X-Api-Key\": \"123\"}"
    )
    @transport(
    -  headers: [["Authorization, "Bearer 123"], ["X-Api-Key", "123"]]
    +  headers: "{\"Authorization, \"Bearer 123\", \"X-Api-Key\": \"123\"}"
    )

    Also incorrect placement of @transport has been fixed to SCHEMA

    directive @transport on
    -  FIELD_DEFINITION
    +  SCHEMA

    There is still backwards compatibility but this might look like a breaking change for some users during schema validation.

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

  • #7046 ac77ce9 Thanks @ardatan! - New option for query string parameters jsonStringify;

    Now either under the operation or globally, you can set jsonStringify to true to stringify nested query string parameters as JSON.

    operations:
      - type: Query
        field: books
        method: GET
        path: /books
        queryStringOptions:
          jsonStringify: true
        queryParamArgMap:
          page: page
        argTypeMap:
          page:
            type: object
            additionalProperties: false
            properties:
              limit:
                type: integer
              offset:
                type: integer
        responseSample:
          books:
            - title: 'Book 1'
            - title: 'Book 2'

    Then the URL will be /books?page={"limit":10,"offset":0}, as you can see page is stringified as JSON.

  • Updated dependencies [f985978, 7544594, 7544594, ac77ce9]:

    • @graphql-mesh/utils@0.98.9
    • @graphql-mesh/transport-common@0.3.0
    • @graphql-mesh/transport-rest@0.3.0
    • @graphql-mesh/types@0.98.9

0.100.13

Patch Changes

  • Updated dependencies [6a99c52]:
    • @graphql-mesh/transport-rest@0.2.9

0.100.12

Patch Changes

0.100.11

Patch Changes

  • #7065 40d9235 Thanks @renovate! - dependencies updates:
  • Updated dependencies []:
    • @graphql-mesh/types@0.98.7
    • @graphql-mesh/utils@0.98.7
    • @graphql-mesh/transport-common@0.2.7
    • @graphql-mesh/transport-rest@0.2.7

0.100.10

Patch Changes

0.100.9

Patch Changes

0.100.8

Patch Changes

  • Updated dependencies [c4d2249]:
    • @graphql-mesh/utils@0.98.5
    • @graphql-mesh/transport-rest@0.2.5
    • @graphql-mesh/types@0.98.5
    • @graphql-mesh/transport-common@0.2.5

0.100.7

Patch Changes

0.100.6

Patch Changes

  • fb59244 Thanks @ardatan! - Update GraphQL Tools packages

  • Updated dependencies [fb59244]:

    • @graphql-mesh/transport-common@0.2.4
    • @graphql-mesh/types@0.98.4
    • @graphql-mesh/utils@0.98.4
    • @graphql-mesh/transport-rest@0.2.4

0.100.5

Patch Changes

0.100.4

Patch Changes

  • c47b2aa Thanks @ardatan! - Bump GraphQL Tools versions

  • Updated dependencies [c47b2aa]:

    • @graphql-mesh/transport-common@0.2.3
    • @graphql-mesh/types@0.98.3
    • @graphql-mesh/utils@0.98.3
    • @graphql-mesh/transport-rest@0.2.3

0.100.3

Patch Changes

0.100.2

Patch Changes

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

  • Updated dependencies [96dd11d]:

    • @graphql-mesh/transport-common@0.2.2
    • @graphql-mesh/transport-rest@0.2.2
    • @graphql-mesh/cross-helpers@0.4.2
    • @graphql-mesh/types@0.98.2
    • @graphql-mesh/utils@0.98.2

0.100.1

Patch Changes

  • Updated dependencies [3d88cb8, 6044b7f]:
    • @graphql-mesh/string-interpolation@0.5.4
    • @graphql-mesh/types@0.98.1
    • @graphql-mesh/utils@0.98.1
    • @graphql-mesh/transport-rest@0.2.1
    • @graphql-mesh/transport-common@0.2.1

0.100.0

Patch Changes

0.99.6

Patch Changes

  • Updated dependencies [52f74e7]:
    • @graphql-mesh/types@0.97.5
    • @graphql-mesh/utils@0.97.5
    • @graphql-mesh/transport-common@0.1.5
    • @graphql-mesh/transport-rest@0.1.6

0.99.5

Patch Changes

  • Updated dependencies [e2fb7ed, e2fb7ed, ff33394]:
    • @graphql-mesh/utils@0.97.4
    • @graphql-mesh/types@0.97.4
    • @graphql-mesh/transport-rest@0.1.5
    • @graphql-mesh/transport-common@0.1.4

0.99.4

Patch Changes

  • Updated dependencies [57f4a60]:
    • @graphql-mesh/types@0.97.3
    • @graphql-mesh/utils@0.97.3
    • @graphql-mesh/transport-common@0.1.3
    • @graphql-mesh/transport-rest@0.1.4

0.99.3

Patch Changes

  • Updated dependencies [7a712ab]:
    • @graphql-mesh/types@0.97.2
    • @graphql-mesh/utils@0.97.2
    • @graphql-mesh/transport-common@0.1.2
    • @graphql-mesh/transport-rest@0.1.3

0.99.2

Patch Changes

0.99.1

Patch Changes

  • Updated dependencies [dbaf72c]:
    • @graphql-mesh/types@0.97.1
    • @graphql-mesh/utils@0.97.1
    • @graphql-mesh/transport-common@0.1.1
    • @graphql-mesh/transport-rest@0.1.1

0.99.0

Patch Changes

  • Updated dependencies [92dce67, 70b05a2]:
    • @graphql-mesh/types@0.97.0
    • @graphql-mesh/utils@0.97.0
    • @graphql-mesh/transport-common@0.1.0
    • @graphql-mesh/transport-rest@0.1.0

0.98.2

Patch Changes

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

0.98.1

Patch Changes

  • #6563 2138dea Thanks @ardatan! - Handle nullable required fields as nullable in GraphQL

  • Updated dependencies [2138dea, 4b3ea1d]:

    • @graphql-mesh/transport-rest@0.0.2
    • @graphql-mesh/types@0.96.5
    • @graphql-mesh/transport-common@0.0.2
    • @graphql-mesh/utils@0.96.5

0.98.0

Minor Changes

  • #6541 a7984e5 Thanks @ardatan! - BREAKING: Now getComposerFromSchema, addExecutionDirectivesToComposer, getUnionTypeComposers and getContainerTC needs `subgraphName` argument

Patch Changes

0.97.4

Patch Changes

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

0.97.3

Patch Changes

  • #6353 87501f4 Thanks @Pagebakers! - getScalarForFormat will now fallback to default scalars of no scalar is returned

0.97.2

Patch Changes

  • Updated dependencies [d758afa, 4fac014]:
    • @graphql-mesh/types@0.96.2
    • @graphql-mesh/utils@0.96.2

0.97.1

Patch Changes

  • #6310 427ff87 Thanks @ardatan! - Respect required fields in allOf definitions

  • #6309 c51549d Thanks @ardatan! - Handle input unions in query parameters correctly

  • #6311 e6c7fde Thanks @ardatan! - Allow to specify different scalars for formats

  • #6313 a665baf Thanks @ardatan! - Merge allOf properties by respecting specific type definitions

  • Updated dependencies [427ff87]:

    • json-machete@0.97.1
    • @graphql-mesh/types@0.96.1
    • @graphql-mesh/utils@0.96.1

0.97.0

Patch Changes

0.96.0

Minor Changes

  • #6222 5c6a8f784 Thanks @ardatan! - BREAKING: Drop bundles, you can use the SDL output from the artifacts later as a source of the handler

Patch Changes

  • Updated dependencies [5c6a8f784]:
    • @graphql-mesh/types@0.96.0
    • json-machete@0.96.0
    • @graphql-mesh/utils@0.96.0

0.95.12

Patch Changes

  • #6147 9b8ba5d47 Thanks @renovate! - dependencies updates:
  • Updated dependencies [b4d38c55d]:
    • @graphql-mesh/string-interpolation@0.5.3
    • @graphql-mesh/utils@0.95.8
    • json-machete@0.95.8
    • @graphql-mesh/types@0.95.8

0.95.11

Patch Changes

0.95.10

Patch Changes

0.95.9

Patch Changes

0.95.8

Patch Changes

  • a13969c77 Thanks @ardatan! - Support `deprecated` in OpenAPI and JSON Schemas

  • Updated dependencies [a13969c77]:

    • @graphql-mesh/types@0.95.7
    • json-machete@0.95.7
    • @graphql-mesh/utils@0.95.7

0.95.7

Patch Changes

  • Updated dependencies [8e1056cf9]:
    • @graphql-mesh/string-interpolation@0.5.2
    • @graphql-mesh/utils@0.95.6
    • json-machete@0.95.6
    • @graphql-mesh/types@0.95.6

0.95.6

Patch Changes

  • Updated dependencies [b8f16a42b, b8f16a42b]:
    • @graphql-mesh/cross-helpers@0.4.1
    • @graphql-mesh/types@0.95.5
    • json-machete@0.95.5
    • @graphql-mesh/utils@0.95.5

0.95.5

Patch Changes

  • Updated dependencies [625e5d787]:
    • @graphql-mesh/types@0.95.4
    • json-machete@0.95.4
    • @graphql-mesh/utils@0.95.4

0.95.4

Patch Changes

  • Updated dependencies [33ae7a89a]:
    • @graphql-mesh/types@0.95.3
    • @graphql-mesh/utils@0.95.3
    • json-machete@0.95.3

0.95.3

Patch Changes

  • #5643 94afd25a0 Thanks @cweckesser! - Fix issue regarding allOf operator that prevents overlapping sub-properties of objects provided to the operator from being merged

0.95.2

Patch Changes

  • Updated dependencies [d8da4b282]:
    • @graphql-mesh/types@0.95.2
    • json-machete@0.95.2
    • @graphql-mesh/utils@0.95.2

0.95.1

Patch Changes

  • Updated dependencies [7cdc69e04]:
    • @graphql-mesh/types@0.95.1
    • json-machete@0.95.1
    • @graphql-mesh/utils@0.95.1

0.95.0

Patch Changes

  • Updated dependencies [bb50c4f94]:
    • @graphql-mesh/types@0.95.0
    • json-machete@0.95.0
    • @graphql-mesh/utils@0.95.0

0.94.9

Patch Changes

  • #5736 513512887 Thanks @ardatan! - Handle “0” in the enum values correctly

  • Updated dependencies [d1310cdff]:

    • @graphql-mesh/utils@0.94.6
    • json-machete@0.94.6
    • @graphql-mesh/types@0.94.6

0.94.8

Patch Changes

  • Updated dependencies [f11e9b307]:
    • @graphql-mesh/utils@0.94.5
    • json-machete@0.94.5
    • @graphql-mesh/types@0.94.5

0.94.7

Patch Changes

  • Updated dependencies [ff1678eea]:
    • @graphql-mesh/types@0.94.4
    • json-machete@0.94.4
    • @graphql-mesh/utils@0.94.4

0.94.6

Patch Changes

  • Updated dependencies [fba66c6fc]:
    • @graphql-mesh/string-interpolation@0.5.1
    • @graphql-mesh/utils@0.94.3
    • json-machete@0.94.3
    • @graphql-mesh/types@0.94.3

0.94.5

Patch Changes

  • Updated dependencies [d0d4917f4]:
    • @graphql-mesh/types@0.94.2
    • json-machete@0.94.2
    • @graphql-mesh/utils@0.94.2

0.94.4

Patch Changes

  • Updated dependencies []:
    • @graphql-mesh/types@0.94.1
    • json-machete@0.94.1
    • @graphql-mesh/utils@0.94.1

0.94.3

Patch Changes

0.94.2

Patch Changes

0.94.1

Patch Changes

0.94.0

Minor Changes

Patch Changes

0.93.2

Patch Changes

0.93.1

Patch Changes

1.0.0

Patch Changes

0.39.0

Minor Changes

Patch Changes

0.38.24

Patch Changes

  • #5252 c90eb5ac6 Thanks @ardatan! - Make shared packages peer dependency

  • Updated dependencies [c90eb5ac6]:

    • @graphql-mesh/string-interpolation@0.4.3
    • @graphql-mesh/cross-helpers@0.3.4
    • json-machete@0.18.20
    • @graphql-mesh/types@0.91.12
    • @graphql-mesh/utils@0.43.20

0.38.23

Patch Changes

0.38.22

Patch Changes

0.38.21

Patch Changes

  • Updated dependencies [a272fdbca]:
    • @graphql-mesh/types@0.91.9
    • json-machete@0.18.17
    • @graphql-mesh/utils@0.43.17

0.38.20

Patch Changes

  • Updated dependencies []:
    • @graphql-mesh/types@0.91.8
    • json-machete@0.18.16
    • @graphql-mesh/utils@0.43.16

0.38.19

Patch Changes

0.38.18

Patch Changes

0.38.17

Patch Changes

  • Updated dependencies [fa2c010c1]:
    • @graphql-mesh/utils@0.43.15
    • json-machete@0.18.15
    • @graphql-mesh/types@0.91.7

0.38.16

Patch Changes

  • Updated dependencies [0b438c329, 0b438c329]:
    • @graphql-mesh/types@0.91.6
    • @graphql-mesh/utils@0.43.14
    • json-machete@0.18.14

0.38.15

Patch Changes

  • Updated dependencies [5c19f8d6f]:
    • @graphql-mesh/types@0.91.5
    • json-machete@0.18.13
    • @graphql-mesh/utils@0.43.13

0.38.14

Patch Changes

  • Updated dependencies [63ab17f0b]:
    • @graphql-mesh/types@0.91.4
    • json-machete@0.18.12
    • @graphql-mesh/utils@0.43.12

0.38.13

Patch Changes

  • Updated dependencies [bb58a5d9e]:
    • json-machete@0.18.11

0.38.12

Patch Changes

  • Updated dependencies [8c9c39cf5, 8c9c39cf5]:
    • @graphql-mesh/types@0.91.3
    • @graphql-mesh/utils@0.43.11
    • json-machete@0.18.10

0.38.11

Patch Changes

  • Updated dependencies [975715275, 989a47802]:
    • @graphql-mesh/cross-helpers@0.3.3
    • json-machete@0.18.9
    • @graphql-mesh/types@0.91.2
    • @graphql-mesh/utils@0.43.10

0.38.10

Patch Changes

  • Updated dependencies [d694ccc1f]:
    • @graphql-mesh/utils@0.43.9
    • json-machete@0.18.8
    • @graphql-mesh/types@0.91.1

0.38.9

Patch Changes

0.38.8

Patch Changes

0.38.7

Patch Changes

  • Updated dependencies [ed5843d8a, ed5843d8a]:
    • @graphql-mesh/types@0.89.5
    • @graphql-mesh/utils@0.43.6
    • json-machete@0.18.5

0.38.6

Patch Changes

0.38.5

Patch Changes

  • Updated dependencies [99f4c84e6, 99f4c84e6]:
    • @graphql-mesh/types@0.89.3
    • @graphql-mesh/utils@0.43.4
    • json-machete@0.18.3

0.38.4

Patch Changes

0.38.3

Patch Changes

  • #4910 deb9912e0 Thanks @ardatan! - Fixes for ESM

  • Updated dependencies [deb9912e0]:

    • @graphql-mesh/string-interpolation@0.4.1
    • @graphql-mesh/types@0.89.2
    • @graphql-mesh/utils@0.43.3
    • json-machete@0.18.2

0.38.2

Patch Changes

  • Updated dependencies [f1c2e20e5, f1c2e20e5]:
    • @graphql-mesh/types@0.89.1
    • @graphql-mesh/utils@0.43.2
    • json-machete@0.18.1

0.38.1

Patch Changes

  • d880342f6 Thanks @ardatan! - Support all available types for ‘example’ directive

0.38.0

Minor Changes

  • #4767 3edaa00ac Thanks @ardatan! - BREAKING - Neo4J handler’s url changed to endpoint to be consistent with other handlers BREAKING - Neo4J handler’s typeDefs changed to source to be consistent with other handlers BREAKING - OData handler’s url changed to endpoint to be consistent with other handlers BREAKING - OData handler’s metadata changed to source to be consistent with other handlers BREAKING - OpenAPI handler’s baseUrl changed to endpoint to be consistent with other handlers BREAKING - RAML handler’s baseUrl changed to endpoint to be consistent with other handlers BREAKING - RAML handler’s ramlFilePath changed to source to be consistent with other handlers

Patch Changes

  • Updated dependencies [3edaa00ac]:
    • json-machete@0.18.0
    • @graphql-mesh/types@0.89.0
    • @graphql-mesh/utils@0.43.1

0.37.0

Minor Changes

Patch Changes

0.36.11

Patch Changes

  • #4866 979e8dcc6 Thanks @ardatan! - Type additionalProperties correctly

  • Updated dependencies [eba73c626]:

    • @graphql-mesh/utils@0.42.9
    • json-machete@0.16.5
    • @graphql-mesh/types@0.87.1

0.36.10

Patch Changes

  • Updated dependencies [0d9771428, 686b3301b]:
    • @graphql-mesh/types@0.87.0
    • json-machete@0.16.4
    • @graphql-mesh/utils@0.42.8

0.36.9

Patch Changes

0.36.8

Patch Changes

0.36.7

Patch Changes

0.36.6

Patch Changes

0.36.5

Patch Changes

0.36.4

Patch Changes

  • Updated dependencies [d5f2d950e]:
    • json-machete@0.15.14
    • @graphql-mesh/utils@0.42.4
    • @graphql-mesh/types@0.85.5

0.36.3

Patch Changes

0.36.2

Patch Changes

0.36.1

Patch Changes

0.36.0

Minor Changes

Patch Changes

  • Updated dependencies [398af2bf6, 1d61fbcec]:
    • @graphql-mesh/types@0.85.1
    • @graphql-mesh/utils@0.42.0
    • json-machete@0.15.10

0.35.10

Patch Changes

0.35.9

Patch Changes

  • Updated dependencies [6fb57d3ba, 814f2d516]:
    • @graphql-mesh/types@0.85.0
    • json-machete@0.15.9
    • @graphql-mesh/utils@0.41.22

0.35.8

Patch Changes

  • Updated dependencies [637e9e9d8]:
    • @graphql-mesh/types@0.84.10
    • json-machete@0.15.8
    • @graphql-mesh/utils@0.41.21

0.35.7

Patch Changes

0.35.6

Patch Changes

  • Updated dependencies [5b44abcd2]:
    • @graphql-mesh/utils@0.41.19
    • json-machete@0.15.6
    • @graphql-mesh/types@0.84.8

0.35.5

Patch Changes

  • Updated dependencies [ffb301435, ffb301435]:
    • @graphql-mesh/types@0.84.7
    • @graphql-mesh/utils@0.41.18
    • json-machete@0.15.5

0.35.4

Patch Changes

  • Updated dependencies [31a64714a, 31a64714a]:
    • @graphql-mesh/types@0.84.6
    • @graphql-mesh/utils@0.41.17
    • json-machete@0.15.4

0.35.3

Patch Changes

  • Updated dependencies [88ab8f9ae]:
    • @graphql-mesh/utils@0.41.16
    • json-machete@0.15.3
    • @graphql-mesh/types@0.84.5

0.35.2

Patch Changes

  • Updated dependencies [186e37bcd]:
    • @graphql-mesh/utils@0.41.15
    • json-machete@0.15.2
    • @graphql-mesh/types@0.84.4

0.35.1

Patch Changes

  • #4560 d08ed0e77 Thanks @ardatan! - Support non-native File or Blob instances

  • Updated dependencies [93f4ed55d]:

    • @graphql-mesh/utils@0.41.14
    • json-machete@0.15.1
    • @graphql-mesh/types@0.84.3

0.35.0

Minor Changes

  • #4556 10f469e10 Thanks @ardatan! - If a component(response, requestBody, header or parameter) defined in OpenAPI schema, and its schema doesn’t have a title, use the component object’s title for that schema

    components:
      parameters:
        Foo:
          title: Foo
          in: query
          schema:
            # OAS Loader adds the following title
            # title: Foo_parameter
            type: string
            enum:
              - a
              - b

Patch Changes

  • #4556 10f469e10 Thanks @ardatan! - Fix a bug that causes URLs being ignored while serializing as query parameters

  • #4556 10f469e10 Thanks @ardatan! - For const definitions, force {value}_const pattern for the generated titles instead of path based names

  • Updated dependencies [10f469e10, 10f469e10]:

    • json-machete@0.15.0

0.34.4

Patch Changes

  • Updated dependencies [ff251e4c7]:
    • @graphql-mesh/types@0.84.2
    • json-machete@0.14.14
    • @graphql-mesh/utils@0.41.13

0.34.3

Patch Changes

  • Updated dependencies []:
    • @graphql-mesh/types@0.84.1
    • json-machete@0.14.13
    • @graphql-mesh/utils@0.41.12

0.34.2

Patch Changes

  • #4506 3cdb71eb7 Thanks @ardatan! - Process global operationHeaders and operation specific headers seperately one after another

0.34.1

Patch Changes

  • Updated dependencies [077e65c18, ee1cb6f76]:
    • @graphql-mesh/types@0.84.0
    • json-machete@0.14.12
    • @graphql-mesh/utils@0.41.11

0.34.0

Minor Changes

  • #4484 80013a3cd Thanks @ardatan! - If a union type has a single element, do not create that union type but use the element directly

Patch Changes

  • Updated dependencies []:
    • @graphql-mesh/types@0.83.5
    • json-machete@0.14.11
    • @graphql-mesh/utils@0.41.10

0.33.7

Patch Changes

0.33.6

Patch Changes

0.33.5

Patch Changes

  • Updated dependencies [d84f81d94]:
    • @graphql-mesh/utils@0.41.7
    • json-machete@0.14.8
    • @graphql-mesh/types@0.83.2

0.33.4

Patch Changes

0.33.3

Patch Changes

0.33.2

Patch Changes

0.33.1

Patch Changes

0.33.0

Minor Changes

  • #4426 3571324cd Thanks @ardatan! - Use more accurate scalar types if minimum and maximum exist for number types (NonNegativeFloat, NonPositiveFloat, NegativeFloat, PositiveFloat, NonNegativeInt, NonPositiveInt, NegativeInt, PositiveInt).

    Also use Byte for format: byte

    Now const generates an enum instead of a scalar type with a better name.

Patch Changes

  • #4426 3571324cd Thanks @ardatan! - Respect original type for GraphQL Codegen TS definitions while generating a scalar type based on a RegExp pattern

  • Updated dependencies [3571324cd]:

    • json-machete@0.14.3

0.32.2

Patch Changes

  • e1891993c Thanks @ardatan! - Respect descriptions for binary/file fields and number fields with minimum and maximum

  • Updated dependencies [3165827f7, e1891993c]:

    • @graphql-mesh/types@0.82.1
    • json-machete@0.14.2
    • @graphql-mesh/utils@0.41.2

0.32.1

Patch Changes

0.32.0

Minor Changes

  • #4378 5742f4598 Thanks @ardatan! - If an object type has a discriminator, it becomes an interface type and any other allOf references with that implements that interface

  • #4369 06904b29d Thanks @gilgardosh! - Support non-string link parameters

  • #4369 06904b29d Thanks @gilgardosh! - If you pass a function to operationHeaders, it takes the operation config as second parameter including path, method and other details about the request

  • #4376 3473a2686 Thanks @ardatan! - Support links on non-object fields

  • #4396 df37c40f4 Thanks @ardatan! - Drop webhook plugin and automatically handle webhooks. See the documentation for more information

  • #4369 06904b29d Thanks @gilgardosh! - Introduce “destructObject” in query stringify options to spread the parameter content into the query parameters in order to support OAS explode: true behavior with query parameters that are objects

  • #4404 d87907736 Thanks @ardatan! - New onFetch hook!

  • #4375 0b3517539 Thanks @ardatan! - multipart/form-data and File Uploads support (type: string, format: binary)

    If there is type: string and format: binary definitions in a schema type definition, it is considered as File scalar type and resolved as WHATWG File object. When the request content-type is multipart/form-data, the handler creates a WHATWG FormData object and puts the input arguments in it.

  • #4379 7f0d02686 Thanks @ardatan! - Support readOnly and writeOnly. Now the fields flagged as writeOnly are not included in object types while writeOnly ones are not included in the input types, too.

Patch Changes

0.31.0

Minor Changes

  • #4364 32b3a63c2 Thanks @ardatan! - - Respect explode: true or explode: false in query parameter definitions in OAS
    • Introduce a new queryStringOptionsByParam option to define queryStringOptions for each query parameter

0.30.0

Minor Changes

  • #4356 b5c59ffce Thanks @ardatan! - ## Improvements on outgoing HTTP calls

    • Now Mesh’s default fetch implementation deduplicates the same GET JSON requests in the same execution context
    • You should pass Accept: application/json to make this work.
    • JSON Schema, new OpenAPI and RAML handlers now take GraphQL context as 3rd parameter. If you use customFetch, you can use that value to access Mesh internals such as the incoming Request object.

    HTTP Details in extensions for tracking HTTP calls

    You can add includeHttpDetailsInExtensions: true to your configuration file to get more information about HTTP calls done by Mesh during the execution in extensions field of the response.

    image

Patch Changes

0.29.2

Patch Changes

  • cd13405f5 Thanks @ardatan! - Better error message for the missing requestSchema file

0.29.1

Patch Changes

  • Updated dependencies [f23e14eba]:
    • @graphql-mesh/utils@0.39.0
    • json-machete@0.13.1
    • @graphql-mesh/types@0.80.1

0.29.0

Minor Changes

  • #4342 ca6d6206b Thanks @gilgardosh! - ## Some improvements on OAS handling
    • If there are no parameters defined in OAS links, the handler exposes the arguments of the original operation.
    • If the name of the link definition is not valid for GraphQL, the handler sanitizes it.
  • #4327 f882aca38 Thanks @gilgardosh! - ## BREAKING CHANGES
    • Named types are no longer deduplicated automatically, so this might introduce new types on your side. Also the types with unknown content are always reflected as “JSON”/“Any” scalar type
    • noDeduplicate option has been dropped, because it is no longer needed.

Patch Changes

  • #4343 ab89f98cf Thanks @gilgardosh! - Add _ prefix if the type is Subscription to avoid conflict with the root “Subscription” type

  • Updated dependencies [de7081cdb, ca6d6206b, f882aca38]:

    • json-machete@0.13.0
    • @graphql-mesh/types@0.80.0
    • @graphql-mesh/utils@0.38.1

0.28.0

Minor Changes

  • #4322 738335788 Thanks @ardatan! - POSSIBLE BREAKING CHANGE: Previously if the parameter name was not valid for GraphQL and sanitized like product-tag to product_tag, it was ignored. Now it has been fixed but this change might be a breaking change for you if the actual parameter schema is integer while it is represented as string today. This also fixes an issue with ignored default values.

0.27.0

Minor Changes

  • #4235 b162269f7 Thanks @gilgardosh! - - Support “$request.query” and “$request.path” usages in OpenAPI runtime expressions

    • Fix Field not found error when an OpenAPI link refers to an operation which is not Mutation
    • Do not use AJV and check field names in the received object to resolve the type name for a union field
    • Fix queryParams which allows you to pass query parameters for all operations
    • Handle cookie paramters correctly defined in the OpenAPI document by trimming empty values
    • Respect the mime types defined in the OpenAPI document. Now it creates a union for each mime type defined in the document, and resolve it by the mime type.
    • Respect JSON examples given in the OpenAPI document correctly even if they are strings with JSON content.
    • Normalize(lowercase header names) and merge final operation headers correctly from different places operationHeaders from the bundle and configuration plus headers defined for that specific operation.
    • Do not ignore operationHeaders defined in the configuration even if there are some already defined in the bundle

    BREAKING CHANGES:

    • If a JSON Schema type cannot be represented in GraphQL (object without properties etc.), it will no longer use Any type but JSON type instead which is a scalar from graphql-scalars.

    • Due to the improvements in healJSONSchema some of types that are not named in the JSON Schema might be named in a different way. Please make sure the content of the types are correct and report us on GitHub if they are represented incorrectly.

    • UUID format is now represented as UUID scalar type which is a scalar from graphql-scalars.

    • HTTP Errors are now in a more descriptive way. If your consumer respects them strictly, they will probably need to update their implementation.

    {
      "url": "http://www.google.com/api",
      "method": "GET",
    - "status": 401,
    + "statusCode": 401,
    + "statusText": "Unauthorized",
    - "responseJson": {}
    + "responseBody": {}
    }
    • requestSchema and requestSample are no longer used for query parameters in GET operations, but instead we introduced new argTypeMap and queryParamArgMap to define schemas for query parameters.

    For JSON Schema Handler configuration, the following changes are NEEDED;

    - requestSample: { some_flag: true }
    + queryParamArgMap:
    +   some_flag: some_flag
    + argTypeMap:
    +   some_flag:
    +     type: boolean

    or just use the string interpolation;

    path: /mypath?some_flag={args.some_flag}
    • Query parameters no longer uses input, and they become an argument of that operation directly.

    In the generated GraphQL Schema;

    - someOp(input: SomeInput): OpResult
    - input SomeInput {
    -  some_flag: Boolean
    - }
    + someOp(some_flag: Boolean): OpResult
    • argTypeMap no longer takes GraphQL type names but instead it can take JSON Schema pointer or JSON Schema definition itself. New argTypeMap can configure any argument even if it is defined in the headers.
    argTypeMap:
    - some_flag: Boolean
    + some_flag:
    +   type: boolean

Patch Changes

  • Updated dependencies [b162269f7, 2ad667d96]:
    • @graphql-mesh/types@0.79.0
    • @graphql-mesh/utils@0.38.0
    • json-machete@0.12.0
    • @graphql-mesh/string-interpolation@0.3.2

0.26.2

Patch Changes

0.26.1

Patch Changes

0.26.0

Minor Changes

  • #4247 31fc25974 Thanks @ardatan! - Accept a code file for operationHeaders

    Now you can generate headers dynamically from the resolver data dynamically like below;

    operationHeaders: ./myOperationHeaders.ts

    And in myOperationHeaders.ts

    export default function myOperationHeaders({ context }: ResolverData) {
      const someToken = context.request.headers.get('some-token')
      const anotherToken = await someLogicThatReturnsAnotherToken(someToken)
      return {
        'x-bar-token': anotherToken
      }
    }

Patch Changes

0.25.0

Minor Changes

  • #4241 669abf58f Thanks @ardatan! - ## New debug logging for healJSONSchema JSON Schema loader tries to fix your JSON Schema while creating a final bundle for Mesh. Usually it works and it has a chance to have a different result rather than you expect. In the long term, if you don’t fix your JSON Schema, you might get different results once the internals of healJSONSchema is changed.

    In order to see which parts of your schema need to be fixed, you can enable the debug mode with DEBUG=healJSONSchema environment variable.

    New debug details in the field descriptions with DEBUG=fieldDetails

    Now you can see which operation has which HTTP request details in the field description with the new debug mode. image

Patch Changes

  • #4239 755d3d487 Thanks @ardatan! - - Set response type to “String” if the response content type is “text/*” defined in the OpenAPI document
    • Fix the issue when “allOf” or “anyOf” is used with an enum type and an object type
  • Updated dependencies [669abf58f]:
    • json-machete@0.11.0

0.24.6

Patch Changes

  • #4237 02c018249 Thanks @ardatan! - - Respect pattern of number types
    • Dereference first-level circular dependencies properly in dereferenceObject
    • Do not make the schema single if there is one allOf or anyOf element but with properties
  • #4216 f95036a33 Thanks @ardatan! - Rewrite JSON Schema visitor and support circular dependencies in a better way

    Now visitJSONSchema takes two different visitor functions instead of enter and leave, previously we used to handle only leave.

    Also generateInterfaceFromSharedFields has been dropped for now because it wasn’t working as expected.

  • #4220 961e07113 Thanks @ardatan! - Delete the escaped field name in favor of unescaped/original field name to keep the expected structure

    For example if you have foo-bar in your request input, it is sanitized to foo_bar in order to fit the requirements of GraphQL specification. But then, JSON Schema loader recovers it to the original foo-bar field name before sending request. But it was sending both field names.

    input FooBar {
      foo_bar: String
    }

    Before;

    {
      "foo-bar": "baz",
      "foo_bar": "baz"
    }

    After;

    {
      "foo-bar": "baz"
    }
  • Updated dependencies [12430d907, 02c018249, f95036a33, 12430d907]:

    • json-machete@0.10.6
    • @graphql-mesh/utils@0.37.7
    • @graphql-mesh/types@0.78.6

0.24.5

Patch Changes

0.24.4

Patch Changes

  • Updated dependencies [30d046724]
    • @graphql-mesh/utils@0.37.5
    • json-machete@0.10.4
    • @graphql-mesh/types@0.78.4

0.24.3

Patch Changes

  • 738e2f378: Do not visit union elements if links or exposeResponseMetadata is not used during schema generation
  • Updated dependencies [738e2f378]
    • @graphql-mesh/types@0.78.3
    • @graphql-mesh/utils@0.37.4
    • json-machete@0.10.3

0.24.2

Patch Changes

  • bad0f40ab: ```yaml operationHeaders: Some-Header: “{context.headers.SOME_HEADER}”

    
    If the interpolated value is empty, JSON Schema loader was sending the header with an empty value.
    Now it doesn't send the header if the value is empty.
  • a2ef35c35: ** Use the new @whatwg-node/fetch package instead of cross-undici-fetch**

    cross-undici-fetch has been renamed to @whatwg-node-fetch. Now Mesh uses this new package.

    ** BREAKING: Drop serve.handlers in favor of the new plugin system **

    Now Mesh uses the new plugin system of GraphQL Yoga that uses WHATWG Fetch API instead of Node specific serve.handlers. That means you can use those plugins with any environment even if you are not using Node.js with mesh start.

    Please check our docs to see how you can migrate to the new usage. https://www.graphql-mesh.com/docs/guides/subscriptions-webhooks#handle-webhook-http-requests

  • Updated dependencies [a2ef35c35]

    • json-machete@0.10.2
    • @graphql-mesh/types@0.78.2
    • @graphql-mesh/utils@0.37.3

0.24.1

Patch Changes

  • @graphql-mesh/types@0.78.1
  • @graphql-mesh/utils@0.37.2
  • json-machete@0.10.1

0.24.0

Minor Changes

  • eade5bb9f: New noDeduplication flag

    By default, JSON Schema handler tries to deduplicate similar JSON Schema types;

    Let’s say we have the following JSON Schema;

    {
      "definitions": {
        "Book": {
          "type": "object",
          "title": "Book",
          "properties": {
            "title": {
              "type": "string"
            },
            "author": {
              "type": "string"
            },
            "price": {
              "type": "number"
            },
            "similarBooks": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SimilarBook"
              }
            }
          }
        },
        "SimilarBook": {
          "type": "object",
          "title": "Book",
          "properties": {
            "title": {
              "type": "string"
            },
            "author": {
              "type": "string"
            },
            "price": {
              "type": "number"
            },
            "similarBooks": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SimilarBook"
              }
            }
          }
        }
      }
    }

    And the result will be the following by default;

    type Book {
      title: String
      author: String
      price: Float
      similarBooks: [Book]
    }

    But if you set this flag true, it will not deduplicate similar JSON Schema types;

    type Book {
      title: String
      author: String
      price: Float
      similarBooks: [SimilarBook]
    }
    
    type SimilarBook {
      title: String
      author: String
      price: Float
      similarBooks: [SimilarBook]
    }

Patch Changes

  • Updated dependencies [eade5bb9f]
  • Updated dependencies [6e6fd4ab7]
  • Updated dependencies [bcd9355ee]
    • json-machete@0.10.0
    • @graphql-mesh/utils@0.37.1
    • @graphql-mesh/types@0.78.0

0.23.0

Minor Changes

  • 0401c7617: Improvements on string interpolation ({env.sth} or {context.headers.sth}) for different environments

    As we mention in most of our docs, we usually expect a key-value header object in the context. But Fetch-like environments don’t have this kind of object but instead Headers object which is a kind Map. Now Mesh can detect this and automatically convert it to the key-value object especially for Yoga users.

    Also Mesh now handles env in a better way for non-Node environments;

    Consider import.meta.env as env if available, else take globalThis as env.

Patch Changes

  • Updated dependencies [66f5d0189]
  • Updated dependencies [0401c7617]
    • @graphql-mesh/types@0.77.1
    • @graphql-mesh/cross-helpers@0.2.0
    • @graphql-mesh/utils@0.37.0
    • json-machete@0.9.2

0.22.0

Minor Changes

  • b69746d2c: feat(json-schema): new exposeResponseMetadata flag to expose the details of the HTTP responses received from the upstream

    responseSchema: ...
    exposeResponseMetadata: true

    Now you will have another field called $response in the response type;

    type MyResponseType {
      myFooField: String
      _response: ResponseMetadata
    }
    
    type ResponseMetadata {
      url: URL
      status: Int
      method: String
      headers: JSON
      body: String
    }

Patch Changes

  • 12e1e5d72: Do not compile JSON Schemas with ajv if function constructors are not supported. This fixes an issue with Mesh and CF Workers. Previously it throws an error because of “new Function” usage
  • Updated dependencies [12e1e5d72]
  • Updated dependencies [12e1e5d72]
  • Updated dependencies [12e1e5d72]
    • @graphql-mesh/cross-helpers@0.1.7
    • @graphql-mesh/types@0.77.0
    • json-machete@0.9.1
    • @graphql-mesh/utils@0.36.1

0.21.0

Minor Changes

  • a0950ac6f: Breaking Change:

    • Now you can set a global customFetch instead of setting customFetch individually for each handler. customFetch configuration field for each handler will no longer work. And also customFetch needs to be the path of the code file that exports the function as default. moduleName#exportName is not supported for now.

    • While programmatically creating the handlers, now you also need fetchFn to be passed to the constructor;

    new GraphQLHandler({
      ...,
      fetchFn: myFetchFn,
    })
    • readFileOrUrl’s second config parameter is now required. Also this second parameter should take an object with cwd, importFn, fetch and logger. You can see the diff of handler’s codes as an example.

Patch Changes

  • Updated dependencies [19d06f6c9]
  • Updated dependencies [19d06f6c9]
  • Updated dependencies [a0950ac6f]
    • @graphql-mesh/utils@0.36.0
    • json-machete@0.9.0
    • @graphql-mesh/types@0.76.0

0.20.7

Patch Changes

  • Updated dependencies [d4754ad08]
  • Updated dependencies [2df026e90]
    • @graphql-mesh/types@0.75.0
    • @graphql-mesh/utils@0.35.7
    • json-machete@0.8.15

0.20.6

Patch Changes

  • Updated dependencies [ed9ba7f48]
    • @graphql-mesh/types@0.74.2
    • @graphql-mesh/utils@0.35.6
    • json-machete@0.8.14

0.20.5

Patch Changes

  • Updated dependencies [41cfb46b4]
    • @graphql-mesh/utils@0.35.5
    • json-machete@0.8.13
    • @graphql-mesh/types@0.74.1

0.20.4

Patch Changes

  • Updated dependencies [13b9b30f7]
    • @graphql-mesh/string-interpolation@0.3.0
    • @graphql-mesh/types@0.74.0
    • @graphql-mesh/utils@0.35.4
    • json-machete@0.8.12

0.20.3

Patch Changes

  • Updated dependencies [9733f490c]
    • @graphql-mesh/utils@0.35.3
    • json-machete@0.8.11
    • @graphql-mesh/types@0.73.3

0.20.2

Patch Changes

  • 3c0366d2c: - Support import.meta.env instead of process.env for browsers
    • Ponyfill util.inspect only if it is not Node env
  • Updated dependencies [3c0366d2c]
  • Updated dependencies [3c0366d2c]
    • @graphql-mesh/cross-helpers@0.1.6
    • json-machete@0.8.10
    • @graphql-mesh/utils@0.35.2
    • @graphql-mesh/types@0.73.2

0.20.1

Patch Changes

  • Updated dependencies [abe9fcc41]
    • @graphql-mesh/utils@0.35.1
    • json-machete@0.8.9
    • @graphql-mesh/types@0.73.1

0.20.0

Minor Changes

  • 974e703e2: No longer import entire lodash library but instead individual smaller packages

Patch Changes

  • 974e703e2: Cleanup dependencies
  • Updated dependencies [974e703e2]
  • Updated dependencies [19a99c055]
  • Updated dependencies [974e703e2]
  • Updated dependencies [974e703e2]
  • Updated dependencies [893d526ab]
  • Updated dependencies [974e703e2]
    • json-machete@0.8.8
    • @graphql-mesh/string-interpolation@0.2.0
    • @graphql-mesh/types@0.73.0
    • @graphql-mesh/utils@0.35.0

0.19.8

Patch Changes

  • Updated dependencies [43eb3d2c2]
    • @graphql-mesh/utils@0.34.10
    • json-machete@0.8.7
    • @graphql-mesh/types@0.72.5

0.19.7

Patch Changes

  • Updated dependencies [55ad5ea44]
    • @graphql-mesh/utils@0.34.9
    • json-machete@0.8.6
    • @graphql-mesh/types@0.72.4

0.19.6

Patch Changes

  • Updated dependencies [31efa964e]
    • @graphql-mesh/utils@0.34.8
    • json-machete@0.8.5
    • @graphql-mesh/types@0.72.3

0.19.5

Patch Changes

  • json-machete@0.8.4
  • @graphql-mesh/utils@0.34.7
  • @graphql-mesh/types@0.72.2

0.19.4

Patch Changes

  • b9beacca2: Bump cross-undici-fetch for Node 14 compatibility and performance improvements
  • Updated dependencies [b9beacca2]
    • json-machete@0.8.3
    • @graphql-mesh/utils@0.34.6
    • @graphql-mesh/types@0.72.1

0.19.3

Patch Changes

  • Updated dependencies [fa2542468]
    • @graphql-mesh/types@0.72.0
    • @graphql-mesh/utils@0.34.5
    • json-machete@0.8.2

0.19.2

Patch Changes

  • Updated dependencies [ddbbec8a8]
    • @graphql-mesh/utils@0.34.4
    • json-machete@0.8.1
    • @graphql-mesh/types@0.71.4

0.19.1

Patch Changes

  • 2e9addd80: Bump cross-undici-fetch for Node 18 compat
  • Updated dependencies [2e9addd80]
  • Updated dependencies [2e9addd80]
    • json-machete@0.8.0
    • @graphql-mesh/utils@0.34.3
    • @graphql-mesh/types@0.71.3

0.19.0

Minor Changes

  • 2f395a4b2: feat(openapi): support empty values

0.18.2

Patch Changes

  • @graphql-mesh/types@0.71.2
  • @graphql-mesh/utils@0.34.2
  • json-machete@0.7.15

0.18.1

Patch Changes

  • 7856f92d3: Bump all packages
  • Updated dependencies [7856f92d3]
    • json-machete@0.7.14
    • @graphql-mesh/types@0.71.1
    • @graphql-mesh/utils@0.34.1

0.18.0

Minor Changes

  • 331b62637: feat(openapi): add queryParams config to provide common query params for a source
  • 331b62637: feat(json-schema/openapi): support OpenAPI links and json pointer syntax in string interpolation

Patch Changes

  • Updated dependencies [331b62637]
  • Updated dependencies [f963b57ce]
  • Updated dependencies [0644f31f2]
  • Updated dependencies [331b62637]
  • Updated dependencies [331b62637]
  • Updated dependencies [331b62637]
  • Updated dependencies [331b62637]
  • Updated dependencies [331b62637]
    • json-machete@0.7.13
    • @graphql-mesh/types@0.71.0
    • @graphql-mesh/utils@0.34.0

0.17.26

Patch Changes

  • json-machete@0.7.12
  • @graphql-mesh/utils@0.33.6
  • @graphql-mesh/types@0.70.6

0.17.25

Patch Changes

  • @graphql-mesh/types@0.70.5
  • @graphql-mesh/utils@0.33.5
  • json-machete@0.7.11

0.17.24

Patch Changes

  • 35a55e841: Bump GraphQL Tools packages
  • Updated dependencies [35a55e841]
    • json-machete@0.7.10
    • @graphql-mesh/types@0.70.4
    • @graphql-mesh/utils@0.33.4

0.17.23

Patch Changes

  • @graphql-mesh/types@0.70.3
  • @graphql-mesh/utils@0.33.3
  • json-machete@0.7.9

0.17.22

Patch Changes

  • Updated dependencies [d64c74b75]
    • json-machete@0.7.8

0.17.21

Patch Changes

  • Updated dependencies [b02f5b008]
  • Updated dependencies [114629e47]
    • @graphql-mesh/types@0.70.2
    • json-machete@0.7.7
    • @graphql-mesh/utils@0.33.2

0.17.20

Patch Changes

  • 26e69dbe9: fix(json-schema): stringify arrays without indices

0.17.19

Patch Changes

  • 2d5c6c72a: add Git repository link in package.json
  • Updated dependencies [2d5c6c72a]
    • json-machete@0.7.6
    • @graphql-mesh/types@0.70.1
    • @graphql-mesh/utils@0.33.1

0.17.18

Patch Changes

  • Updated dependencies [d567be7b5]
    • @graphql-mesh/types@0.70.0
    • @graphql-mesh/utils@0.33.0
    • json-machete@0.7.5

0.17.17

Patch Changes

  • Updated dependencies [f30dba61e]
    • @graphql-mesh/types@0.69.0
    • @graphql-mesh/utils@0.32.2
    • json-machete@0.7.4

0.17.16

Patch Changes

  • Updated dependencies [c53203723]
    • json-machete@0.7.3

0.17.15

Patch Changes

  • Updated dependencies [c6f0314ac]
    • json-machete@0.7.2

0.17.14

Patch Changes

  • Updated dependencies [be61de529]
    • @graphql-mesh/types@0.68.3
    • @graphql-mesh/utils@0.32.1
    • json-machete@0.7.1

0.17.13

Patch Changes

  • Updated dependencies [b1a6df928]
  • Updated dependencies [67fb11706]
    • @graphql-mesh/types@0.68.2
    • json-machete@0.7.0
    • @graphql-mesh/utils@0.32.0

0.17.12

Patch Changes

  • Updated dependencies [b2c537c2a]
    • @graphql-mesh/utils@0.31.0
    • @graphql-mesh/types@0.68.1
    • json-machete@0.6.1

0.17.11

Patch Changes

  • b45dac0c0: fix(json-schema): handle union response types correctly
  • Updated dependencies [b45dac0c0]
    • json-machete@0.6.0

0.17.10

Patch Changes

  • Updated dependencies [6c318b91a]
    • @graphql-mesh/types@0.68.0
    • @graphql-mesh/utils@0.30.2
    • json-machete@0.5.20

0.17.9

Patch Changes

  • @graphql-mesh/types@0.67.1
  • @graphql-mesh/utils@0.30.1
  • json-machete@0.5.19

0.17.8

Patch Changes

  • 01bac6bb5: fix - align graphql-tools versions
  • Updated dependencies [01bac6bb5]
  • Updated dependencies [01bac6bb5]
    • @graphql-mesh/types@0.67.0
    • @graphql-mesh/utils@0.30.0
    • json-machete@0.5.18

0.17.7

Patch Changes

  • Updated dependencies [268db0462]
    • @graphql-mesh/utils@0.29.0
    • json-machete@0.5.17
    • @graphql-mesh/types@0.66.6

0.17.6

Patch Changes

  • Updated dependencies [2ffb1f287]
    • @graphql-mesh/types@0.66.5
    • @graphql-mesh/utils@0.28.5
    • json-machete@0.5.16

0.17.5

Patch Changes

  • Updated dependencies [6d2d46480]
    • @graphql-mesh/types@0.66.4
    • @graphql-mesh/utils@0.28.4
    • json-machete@0.5.15

0.17.4

Patch Changes

  • f11d8b9c8: fix: add implicit dependencies
    • @graphql-mesh/types@0.66.3
    • @graphql-mesh/utils@0.28.3
    • json-machete@0.5.14

0.17.3

Patch Changes

  • Updated dependencies [fb876e99c]
    • @graphql-mesh/types@0.66.2
    • @graphql-mesh/utils@0.28.2
    • json-machete@0.5.13

0.17.2

Patch Changes

  • Updated dependencies [98ff961ff]
    • @graphql-mesh/types@0.66.1
    • @graphql-mesh/utils@0.28.1
    • json-machete@0.5.12

0.17.1

Patch Changes

  • 6f07de8fe: fix: do not import process from env
  • b481fbc39: enhance: add tslib to dependencies to reduce bundle size
  • Updated dependencies [6f07de8fe]
  • Updated dependencies [6f07de8fe]
  • Updated dependencies [b481fbc39]
    • @graphql-mesh/types@0.66.0
    • @graphql-mesh/utils@0.28.0
    • json-machete@0.5.11

0.17.0

Minor Changes

  • 21de17a3d: feat(json-schema): ability to provide additional request body with requestBaseBody in the config

Patch Changes

  • Updated dependencies [21de17a3d]
  • Updated dependencies [3f4bb09a9]
    • @graphql-mesh/types@0.65.0
    • @graphql-mesh/utils@0.27.9
    • json-machete@0.5.10

0.16.2

Patch Changes

  • Updated dependencies [8b8eb5158]
  • Updated dependencies [8b8eb5158]
    • @graphql-mesh/types@0.64.2
    • @graphql-mesh/utils@0.27.8
    • json-machete@0.5.9

0.16.1

Patch Changes

  • Updated dependencies [ca6bb5ff3]
  • Updated dependencies [ca6bb5ff3]
    • json-machete@0.5.8
    • @graphql-mesh/utils@0.27.7
    • @graphql-mesh/types@0.64.1

0.16.0

Minor Changes

  • 275f82b53: enhance(json-schema): graphql-upload is no longer needed

0.15.1

Patch Changes

  • c84d9e95e: enhance(json-schema): add a debug message about adding response metadata to the final response object

0.15.0

Minor Changes

  • e3f941db5: feat(json-schema): make input argument nonnullable if any of fields is nonnulalble

Patch Changes

  • 12256ec58: fix(json-schema): fix array normalization
  • Updated dependencies [08b250e04]
    • @graphql-mesh/types@0.64.0
    • @graphql-mesh/utils@0.27.6
    • json-machete@0.5.7

0.14.3

Patch Changes

  • 1815865c3: fix: bump fixed graphql-tools
  • Updated dependencies [1815865c3]
    • @graphql-mesh/types@0.63.1
    • @graphql-mesh/utils@0.27.5
    • json-machete@0.5.6

0.14.2

Patch Changes

  • Updated dependencies [b6eca9baa]
  • Updated dependencies [b6eca9baa]
    • @graphql-mesh/types@0.63.0
    • @graphql-mesh/utils@0.27.4
    • json-machete@0.5.5

0.14.1

Patch Changes

  • Updated dependencies [0d43ecf19]
    • @graphql-mesh/types@0.62.2
    • @graphql-mesh/utils@0.27.3
    • json-machete@0.5.4

0.14.0

Minor Changes

  • 15e1f68c5: feat(json-schema): respect given samples in mocks transform

Patch Changes

  • Updated dependencies [c71b29004]
  • Updated dependencies [447bc3697]
    • @graphql-mesh/utils@0.27.2
    • @graphql-mesh/types@0.62.1
    • json-machete@0.5.3

0.13.6

Patch Changes

  • 3a21004c9: fix(json-schema): encode query parameters
  • Updated dependencies [240ec7b38]
  • Updated dependencies [fcbd12a35]
    • @graphql-mesh/types@0.62.0
    • @graphql-mesh/utils@0.27.1
    • json-machete@0.5.2

0.13.5

Patch Changes

  • 05ec30255: fix(json-schema): revert breaking change in the API (export getComposerFromJSONSchema)

0.13.4

Patch Changes

  • Updated dependencies [1c8827604]
    • json-machete@0.5.1

0.13.3

Patch Changes

  • 49e9ca808: fix(json-schema): use Any scalar for empty responses
  • Updated dependencies [49e9ca808]
    • json-machete@0.5.0

0.13.2

Patch Changes

  • Updated dependencies [900a01355]
    • @graphql-mesh/utils@0.27.0
    • json-machete@0.4.3

0.13.1

Patch Changes

  • Updated dependencies [66ca1a366]
    • @graphql-mesh/types@0.61.0
    • @graphql-mesh/utils@0.26.4
    • json-machete@0.4.2

0.13.0

Minor Changes

  • a79268b3a: feat(json-schema): handle default error responses correctly

Patch Changes

  • Updated dependencies [a79268b3a]
  • Updated dependencies [a79268b3a]
    • @graphql-mesh/types@0.60.0
    • @graphql-mesh/utils@0.26.3
    • json-machete@0.4.1

0.12.0

Minor Changes

  • 020431bdc: feat(json-schema/openapi/raml): respect error status codes

Patch Changes

  • Updated dependencies [020431bdc]
  • Updated dependencies [020431bdc]
  • Updated dependencies [020431bdc]
  • Updated dependencies [020431bdc]
    • json-machete@0.4.0
    • @graphql-mesh/types@0.59.0
    • @graphql-mesh/utils@0.26.2

0.11.2

Patch Changes

  • 6bb4cf673: enhance(json-schema): remove the need of info
  • Updated dependencies [113091148]
  • Updated dependencies [6bb4cf673]
    • @graphql-mesh/utils@0.26.1
    • @graphql-mesh/types@0.58.0
    • json-machete@0.3.7

0.11.1

Patch Changes

  • 92d687133: fix(json-schema): boolean types shouldn’t be enums
  • 92d687133: fix(json-schema): handle additionalProperties as a part of the actual type
  • 92d687133: fix(json-machete): respect reference titles while dereferencing
  • Updated dependencies [92d687133]
    • json-machete@0.3.6

0.11.0

Minor Changes

  • b69233517: feat(json-schema): detailed description for DEBUG mode

0.10.0

Minor Changes

  • 6d76179e4: feat(json-schema): return text in the error if response is not json as expected

0.9.0

Minor Changes

  • e30494c95: feat: better error messages

0.8.0

Minor Changes

  • 1ab0aebbc: feat(json-schema): better error handling

Patch Changes

  • Updated dependencies [8e52fd06a]
  • Updated dependencies [1ab0aebbc]
  • Updated dependencies [56e2257fa]
  • Updated dependencies [56e2257fa]
    • json-machete@0.3.5
    • @graphql-mesh/types@0.57.2
    • @graphql-mesh/utils@0.26.0

0.7.4

Patch Changes

  • Updated dependencies [2b876f2b8]
    • @graphql-mesh/utils@0.25.0
    • json-machete@0.3.4

0.7.3

Patch Changes

  • 80eb8e92b: fix(json-schema): workaround for falsy enum values
  • d907351c5: fix(json-schema): consume array results with singular return types fix(json-schema): handle dynamic values from env in schemaHeaders
  • Updated dependencies [d907351c5]
  • Updated dependencies [d907351c5]
    • json-machete@0.3.3
    • @graphql-mesh/types@0.57.1
    • @graphql-mesh/utils@0.24.2

0.7.2

Patch Changes

  • 4fe346123: fix(json-schema): prevent collision with requestTypeName and responseTypeName

0.7.1

Patch Changes

  • Updated dependencies [26d685f2a]
    • @graphql-mesh/utils@0.24.1
    • json-machete@0.3.2

0.7.0

Minor Changes

  • baf004f78: feat(json-schema): respect endpoint given on loading bundle

Patch Changes

  • Updated dependencies [cfca98d34]
    • @graphql-mesh/types@0.57.0
    • @graphql-mesh/utils@0.24.0
    • json-machete@0.3.1

0.6.0

Minor Changes

  • 5666484d6: update cross-undici-fetch

Patch Changes

  • Updated dependencies [5666484d6]
    • json-machete@0.3.0
    • @graphql-mesh/utils@0.23.0

0.5.1

Patch Changes

  • 6c216c309: fix(json-schema): do not process arrays if there is no clue
  • 6c216c309: fix(json-schema): handle descriptions correctly
  • 8d233db89: fix(json-schema): respect arrays in request object
  • Updated dependencies [6c216c309]
    • @graphql-mesh/utils@0.22.2
    • json-machete@0.2.1

0.5.0

Minor Changes

  • e8cc53f11: feat(json-schema): support schemaHeaders for sample and schemas

Patch Changes

  • Updated dependencies [c22eb1b5e]
  • Updated dependencies [e8cc53f11]
    • @graphql-mesh/utils@0.22.1
    • json-machete@0.2.0

0.4.0

Minor Changes

  • f40b0d42c: Refactor JSON Schema handler code
  • f40b0d42c: enhance(json-schema): better auto naming

Patch Changes

  • Updated dependencies [f40b0d42c]
  • Updated dependencies [f40b0d42c]
  • Updated dependencies [ec0d1d639]
  • Updated dependencies [1cc0acb9a]
    • json-machete@0.1.0
    • @graphql-mesh/types@0.56.0
    • @graphql-mesh/utils@0.22.0

0.3.5

Patch Changes

  • 3bded2bad: enhance(json-schema): use correct GraphQLJSON scalar
  • Updated dependencies [3bded2bad]
    • json-machete@0.0.27

0.3.4

Patch Changes

  • 8de12b4d8: fix(json-machete): dereference imported json files correctly
  • Updated dependencies [8de12b4d8]
    • json-machete@0.0.26

0.3.3

Patch Changes

  • 27c26392d: bump versions
  • Updated dependencies [27c26392d]
  • Updated dependencies [1b332487c]
    • json-machete@0.0.25
    • @graphql-mesh/types@0.55.0
    • @graphql-mesh/utils@0.21.1

0.3.2

Patch Changes

  • Updated dependencies [875d0e48d]
    • @graphql-mesh/utils@0.21.0
    • json-machete@0.0.24

0.3.1

Patch Changes

  • Updated dependencies [761b16ed9]
    • @graphql-mesh/types@0.54.1
    • @graphql-mesh/utils@0.20.1
    • json-machete@0.0.23

0.3.0

Minor Changes

  • b7241ebb6: feat(json-schema): Binary Operation support

0.2.0

Minor Changes

  • c4d8be6f4: enhance: use undici for Node >v16
  • 09f81dd74: GraphQL v16 compatibility
  • 267573a16: enhance: resolve all promises
  • 09f81dd74: GraphQL v16 compability

Patch Changes

  • Updated dependencies [09f81dd74]
  • Updated dependencies [09f81dd74]
    • @graphql-mesh/types@0.54.0
    • @graphql-mesh/utils@0.20.0
    • json-machete@0.0.22

0.1.7

Patch Changes

  • 592afa2b9: fix(json-schema): if responseSchema not defined, pass the HTTP response as-is

0.1.6

Patch Changes

  • 0a1756f9c: fix(json-schema): handle subscriptions correctly

0.1.5

Patch Changes

  • Updated dependencies [0dc08e5cc]
    • @graphql-mesh/utils@0.19.0
    • json-machete@0.0.21

0.1.4

Patch Changes

  • Updated dependencies [ac95631ea]
    • json-machete@0.0.20

0.1.3

Patch Changes

  • 932ce6063: fix(json-schema): sanitize invalid property names for GraphQL

0.1.2

Patch Changes

  • 47c4fb402: fix(json-schema): correct TS type for const scalars

0.1.1

Patch Changes

  • 963e064f0: chore: update scalars to support included codegen support

0.1.0

Minor Changes

  • 6f57be0c1: feat(json-schema): expose GraphQL Tools loader compatible with loadSchema

Patch Changes

  • Updated dependencies [6f57be0c1]
    • @graphql-mesh/types@0.53.0
    • @graphql-mesh/utils@0.18.1
    • json-machete@0.0.19