graphql-mesh

The Graph of Everything - Federated architecture for any API service

MIT License

Downloads
7.5M
Stars
3.2K
Committers
137

Bot releases are visible (Hide)

graphql-mesh - August 23, 2022

Published by github-actions[bot] about 2 years ago

@graphql-mesh/[email protected]

Patch Changes

  • 1fbadb454 Thanks @ardatan! - Do not print duplicate error messages if the schema generation fails

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

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

@omnigraph/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

graphql-mesh - August 23, 2022

Published by github-actions[bot] about 2 years ago

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Minor Changes

  • #4353 f23e14eba Thanks @ardatan! - Now CLI reports critical errors with stack traces even if DEBUG isn't enabled, and error messages are no longer trimmed.

    Schema couldn't be generated because of the following errors:
    - - Foo bar is n...
    + - Foo bar is not valid
    + at /somepath/somejsfile.js:123:2
    + at /someotherpath/someotherjs.file:232:4
    
  • #4353 f23e14eba Thanks @ardatan! - New flag for mesh build. You can set mesh build --throwOnInvalidConfig=true to make the CLI throw an exception if the configuration file is invalid per Mesh's configuration schema

Patch Changes

@graphql-mesh/[email protected]

Minor Changes

  • #4353 f23e14eba Thanks @ardatan! - New flag for mesh build. You can set mesh build --throwOnInvalidConfig=true to make the CLI throw an exception if the configuration file is invalid per Mesh's configuration schema

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Minor Changes

  • #4353 f23e14eba Thanks @ardatan! - Now CLI reports critical errors with stack traces even if DEBUG isn't enabled, and error messages are no longer trimmed.

    Schema couldn't be generated because of the following errors:
    - - Foo bar is n...
    + - Foo bar is not valid
    + at /somepath/somejsfile.js:123:2
    + at /someotherpath/someotherjs.file:232:4
    

Patch Changes

graphql-mesh - August 22, 2022

Published by github-actions[bot] about 2 years ago

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

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

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

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

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

[email protected]

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

@omnigraph/[email protected]

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

@omnigraph/[email protected]

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

@omnigraph/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Minor Changes

  • #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

@graphql-mesh/[email protected]

Patch Changes

graphql-mesh - August 19, 2022

Published by github-actions[bot] about 2 years ago

@graphql-mesh/[email protected]

Patch Changes

graphql-mesh - August 18, 2022

Published by github-actions[bot] about 2 years ago

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Minor Changes

  • #4326 209717f0b Thanks @ardatan! - Enable batching by default when there is a single source, and respect batch flag

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

graphql-mesh - August 17, 2022

Published by github-actions[bot] about 2 years ago

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

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.

Patch Changes

@graphql-mesh/[email protected]

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.

Patch Changes

@omnigraph/[email protected]

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.

@omnigraph/[email protected]

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.

Patch Changes

@omnigraph/[email protected]

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.

Patch Changes

graphql-mesh - August 17, 2022

Published by github-actions[bot] about 2 years ago

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

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 queryParamsArgMap to define schemas for query parameters.

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

    - requestSample: { some_flag: true }
    + queryParamsArgMap:
    +   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

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

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 queryParamsArgMap to define schemas for query parameters.

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

    - requestSample: { some_flag: true }
    + queryParamsArgMap:
    +   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

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

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 queryParamsArgMap to define schemas for query parameters.

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

    - requestSample: { some_flag: true }
    + queryParamsArgMap:
    +   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

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

[email protected]

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 queryParamsArgMap to define schemas for query parameters.

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

    - requestSample: { some_flag: true }
    + queryParamsArgMap:
    +   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

@omnigraph/[email protected]

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 queryParamsArgMap to define schemas for query parameters.

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

    - requestSample: { some_flag: true }
    + queryParamsArgMap:
    +   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

@omnigraph/[email protected]

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 queryParamsArgMap to define schemas for query parameters.

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

    - requestSample: { some_flag: true }
    + queryParamsArgMap:
    +   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

@omnigraph/[email protected]

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 queryParamsArgMap to define schemas for query parameters.

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

    - requestSample: { some_flag: true }
    + queryParamsArgMap:
    +   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

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

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 queryParamsArgMap to define schemas for query parameters.

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

    - requestSample: { some_flag: true }
    + queryParamsArgMap:
    +   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

@graphql-mesh/[email protected]

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 queryParamsArgMap to define schemas for query parameters.

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

    - requestSample: { some_flag: true }
    + queryParamsArgMap:
    +   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

graphql-mesh - August 15, 2022

Published by github-actions[bot] about 2 years ago

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

graphql-mesh - Release 77eaf2d85 (from master)

Published by github-actions[bot] about 2 years ago

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

graphql-mesh - Release a134d17de (from master)

Published by github-actions[bot] about 2 years ago

graphql-mesh - Release 0bc64f4e3 (from master)

Published by github-actions[bot] about 2 years ago

graphql-mesh - Release 92ee24c6e (from master)

Published by github-actions[bot] about 2 years ago

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

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

@graphql-mesh/[email protected]

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

@graphql-mesh/[email protected]

Minor Changes

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@omnigraph/[email protected]

Minor Changes

  • #4262 be784e653 Thanks @ardatan! - Handle callbacks as GraphQL Subscriptions

  • #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

@omnigraph/[email protected]

Minor Changes

  • #4262 be784e653 Thanks @ardatan! - Handle callbacks as GraphQL Subscriptions

  • #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

@omnigraph/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

  • 760a60483 Thanks @ardatan! - Fix a bug causing the execution args passed to 'execution' ignored in the subsequent envelop plugins
graphql-mesh - Release 3f973e9d2 (from master)

Published by github-actions[bot] about 2 years ago

graphql-mesh - Release 1d8add8eb (from master)

Published by github-actions[bot] about 2 years ago

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

graphql-mesh - Release 27a9a977b (from master)

Published by github-actions[bot] about 2 years ago

graphql-mesh - Release dd17d5661 (from master)

Published by github-actions[bot] about 2 years ago

graphql-mesh - Release e231be710 (from master)

Published by github-actions[bot] about 2 years ago

graphql-mesh - Release e1595ffe1 (from master)

Published by github-actions[bot] about 2 years ago

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

[email protected]

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

@omnigraph/[email protected]

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]:

@omnigraph/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

graphql-mesh - Release 5d585b622 (from master)

Published by github-actions[bot] about 2 years ago

graphql-mesh - Release (from main)

Published by github-actions[bot] about 2 years ago

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Minor Changes

  • 945f49887 Thanks @ascheffe-kenna! - Allow swagger docs that don't have defined schema refs. Right now whole app crashes if a schema is missing a \$ref;

      /**
       * Allow processing to continue if the swagger schema is missing a schema $ref.
       */
      allowUndefinedSchemaRefTags?: boolean;
    
      /**
       * Object type to use for missing swagger schemas refs default is object.
       */
      defaultUndefinedSchemaType?: 'string' | 'number' | 'object' | 'array' | 'boolean' | 'integer';
    

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

[email protected]

Patch Changes

  • #4221 12430d907 Thanks @ardatan! - Respect "required" field in anyOf and allOf schemas and fix the bug that puts an Any schema if this kind of schema is present

  • #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.

  • #4221 12430d907 Thanks @ardatan! - Use single "Any" schema for unknown types defined in "required" in order to prevent duplication

  • Updated dependencies [02c018249]:

@omnigraph/[email protected]

Patch Changes

  • 78552ab23 Thanks @ardatan! - Respect "nullable" property of a property schema

  • #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]:

@omnigraph/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

  • #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.

  • Updated dependencies []:

@graphql-mesh/[email protected]

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
  • Updated dependencies [f95036a33]:
Package Rankings
Top 1.2% on Npmjs.org
Badges
Extracted from project README
GraphQLConf 2024 Banner: September 10-12, San Francisco. Hosted by the GraphQL Foundation npm version Discord Chat code style: prettier GitHub license