@graphql-tools/executor-graphql-ws
Advanced tools
Comparing version 1.3.7-alpha-46666b03dc63c183695b97fb89eacab35b11ac0a to 1.3.7-alpha-70037cd931b60c2bdbfff85f0ba3be3dc6468026
# @graphql-tools/executor-graphql-ws | ||
## 1.3.7-alpha-46666b03dc63c183695b97fb89eacab35b11ac0a | ||
## 1.3.7-alpha-70037cd931b60c2bdbfff85f0ba3be3dc6468026 | ||
### Patch Changes | ||
- [#381](https://github.com/graphql-hive/gateway/pull/381) [`e31d79c`](https://github.com/graphql-hive/gateway/commit/e31d79c704014d5180074bdb3ce11dcd1675eb58) Thanks [@ardatan](https://github.com/ardatan)! - dependencies updates: | ||
- [#381](https://github.com/graphql-hive/gateway/pull/381) [`55eb1b4`](https://github.com/graphql-hive/gateway/commit/55eb1b4d14aec7b3e6c7bcf9f596bc01192d022c) Thanks [@ardatan](https://github.com/ardatan)! - dependencies updates: | ||
- Added dependency [`@graphql-tools/executor-common@workspace:^` ↗︎](https://www.npmjs.com/package/@graphql-tools/executor-common/v/workspace:^) (to `dependencies`) | ||
- [#381](https://github.com/graphql-hive/gateway/pull/381) [`73dbe3a`](https://github.com/graphql-hive/gateway/commit/73dbe3a2dabb6b84105c4dac3586696daa3d4fcb) Thanks [@ardatan](https://github.com/ardatan)! - Like HMAC Upstream Signature plugin, different components of the gateway were using different ways of serializing the execution request. | ||
- [#381](https://github.com/graphql-hive/gateway/pull/381) [`55eb1b4`](https://github.com/graphql-hive/gateway/commit/55eb1b4d14aec7b3e6c7bcf9f596bc01192d022c) Thanks [@ardatan](https://github.com/ardatan)! - This is a bugfix with some internal changes, no user action is needed. This bugfix and improvement is done to improve the stability of some components of the gateway; | ||
Like HMAC Upstream Signature plugin, different components of the gateway were using different ways of serializing the execution request. | ||
Some of them were ignoring `variables` if it is empty, some of not, this was causing the signature generation to be different for the same query. | ||
@@ -17,5 +19,27 @@ For example, it was working as expected in Proxy mode, but not working as expected in Federation Gateway mode. | ||
- Updated dependencies [[`73dbe3a`](https://github.com/graphql-hive/gateway/commit/73dbe3a2dabb6b84105c4dac3586696daa3d4fcb)]: | ||
- @graphql-tools/executor-common@0.0.1-alpha-46666b03dc63c183695b97fb89eacab35b11ac0a | ||
For example instead of using `print`, you should use `defaultPrintFn` that memoizes `print` operation and also used the string version of it parsed before by Envelop/Yoga. | ||
```diff | ||
-import { print } from 'graphql'; | ||
-const query = print(parsedQuery); | ||
+import { defaultPrintFn } from '@graphql-tools/executor-common'; | ||
+const query = defaultPrintFn(parsedQuery); | ||
``` | ||
Or instead of creating objects from `ExecutionRequest`, use `serializeExecutionRequest` helper. | ||
```diff | ||
-const serializedRequest = { | ||
- query: print(executionRequest.document), | ||
- variables: executionRequest.variables, | ||
- operationName: executionRequest.operationName, | ||
- extensions: executionRequest.extensions, | ||
-}; | ||
+import { serializeExecutionRequest } from '@graphql-tools/executor-common'; | ||
+const serializedRequest = serializeExecutionRequest(executionRequest); | ||
``` | ||
- Updated dependencies [[`55eb1b4`](https://github.com/graphql-hive/gateway/commit/55eb1b4d14aec7b3e6c7bcf9f596bc01192d022c)]: | ||
- @graphql-tools/executor-common@0.0.1-alpha-70037cd931b60c2bdbfff85f0ba3be3dc6468026 | ||
## 1.3.6 | ||
@@ -22,0 +46,0 @@ |
{ | ||
"name": "@graphql-tools/executor-graphql-ws", | ||
"version": "1.3.7-alpha-46666b03dc63c183695b97fb89eacab35b11ac0a", | ||
"version": "1.3.7-alpha-70037cd931b60c2bdbfff85f0ba3be3dc6468026", | ||
"type": "module", | ||
@@ -42,3 +42,3 @@ "description": "A set of utils for faster development of GraphQL tools", | ||
"dependencies": { | ||
"@graphql-tools/executor-common": "0.0.1-alpha-46666b03dc63c183695b97fb89eacab35b11ac0a", | ||
"@graphql-tools/executor-common": "0.0.1-alpha-70037cd931b60c2bdbfff85f0ba3be3dc6468026", | ||
"@graphql-tools/utils": "^10.7.0", | ||
@@ -45,0 +45,0 @@ "@whatwg-node/disposablestack": "^0.0.5", |
22100