@graphql-tools/batch-execute 9.0.6 → 9.0.7-alpha-63d80f9d08b5d8448f4bfb8b04aeff28b977dec8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,722 @@
1
+ # @graphql-tools/batch-execute
2
+
3
+ ## 9.0.7-alpha-63d80f9d08b5d8448f4bfb8b04aeff28b977dec8
4
+
5
+ ### Patch Changes
6
+
7
+ - [#164](https://github.com/graphql-hive/gateway/pull/164) [`310613d`](https://github.com/graphql-hive/gateway/commit/310613d68d1df3e2bceafbd0730084a4c83527bf) Thanks [@ardatan](https://github.com/ardatan)! - dependencies updates:
8
+
9
+ - Updated dependency [`@graphql-tools/utils@^10.6.0` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.6.0) (from `^10.5.6`, in `dependencies`)
10
+
11
+ ## 9.0.5
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies
16
+ [[`cf2ce5e`](https://github.com/ardatan/graphql-tools/commit/cf2ce5ed4773087cc324599f2812f4fb91398b21)]:
17
+ - @graphql-tools/utils@10.5.5
18
+
19
+ ## 9.0.4
20
+
21
+ ### Patch Changes
22
+
23
+ - [#5913](https://github.com/ardatan/graphql-tools/pull/5913)
24
+ [`83c0af0`](https://github.com/ardatan/graphql-tools/commit/83c0af0713ff2ce55ccfb97a1810ecfecfeab703)
25
+ Thanks [@enisdenjo](https://github.com/enisdenjo)! - dependencies updates:
26
+ - Updated dependency
27
+ [`@graphql-tools/utils@^10.0.13` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.0.13)
28
+ (from `^10.0.5`, in `dependencies`)
29
+
30
+ ## 9.0.3
31
+
32
+ ### Patch Changes
33
+
34
+ - [#5906](https://github.com/ardatan/graphql-tools/pull/5906)
35
+ [`f3809d4`](https://github.com/ardatan/graphql-tools/commit/f3809d4defa60678fd013017a60320be7a793870)
36
+ Thanks [@ikenox](https://github.com/ikenox)! - Avoid for.in loop for arrays to avoid unwanted
37
+ property access
38
+
39
+ ## 9.0.2
40
+
41
+ ### Patch Changes
42
+
43
+ - [#5521](https://github.com/ardatan/graphql-tools/pull/5521)
44
+ [`ee2ef299`](https://github.com/ardatan/graphql-tools/commit/ee2ef2999b3147b16d5dced6e1baaeeeb353cfbd)
45
+ Thanks [@BasKiers](https://github.com/BasKiers)! - GraphQL Errors with prefixed path elements will
46
+ now correctly be split
47
+
48
+ ## 9.0.1
49
+
50
+ ### Patch Changes
51
+
52
+ - [`a59fb765`](https://github.com/ardatan/graphql-tools/commit/a59fb765a1256b914f1728283d793d61b66bdf89)
53
+ Thanks [@ardatan](https://github.com/ardatan)! - Optimizations to get better performance in query
54
+ planning
55
+
56
+ - Updated dependencies
57
+ [[`a59fb765`](https://github.com/ardatan/graphql-tools/commit/a59fb765a1256b914f1728283d793d61b66bdf89)]:
58
+ - @graphql-tools/utils@10.0.5
59
+
60
+ ## 9.0.0
61
+
62
+ ### Major Changes
63
+
64
+ - [#5274](https://github.com/ardatan/graphql-tools/pull/5274)
65
+ [`944a68e8`](https://github.com/ardatan/graphql-tools/commit/944a68e8becf9c86b4c97fd17c372d98a285b955)
66
+ Thanks [@ardatan](https://github.com/ardatan)! - Drop Node 14 support. Require Node.js `>= 16`
67
+
68
+ ### Patch Changes
69
+
70
+ - Updated dependencies
71
+ [[`944a68e8`](https://github.com/ardatan/graphql-tools/commit/944a68e8becf9c86b4c97fd17c372d98a285b955),
72
+ [`944a68e8`](https://github.com/ardatan/graphql-tools/commit/944a68e8becf9c86b4c97fd17c372d98a285b955)]:
73
+ - @graphql-tools/utils@10.0.0
74
+
75
+ ## 8.5.22
76
+
77
+ ### Patch Changes
78
+
79
+ - [#5220](https://github.com/ardatan/graphql-tools/pull/5220)
80
+ [`8e80b689`](https://github.com/ardatan/graphql-tools/commit/8e80b6893d2342353731610d5da9db633d806083)
81
+ Thanks [@ardatan](https://github.com/ardatan)! - Performance improvements
82
+
83
+ ## 8.5.21
84
+
85
+ ### Patch Changes
86
+
87
+ - [`2f342e43`](https://github.com/ardatan/graphql-tools/commit/2f342e430ba0d0097d1d8cb31a6abb97ed46f971)
88
+ Thanks [@ardatan](https://github.com/ardatan)! - Do not use promises if not async
89
+
90
+ ## 8.5.20
91
+
92
+ ### Patch Changes
93
+
94
+ - [#5202](https://github.com/ardatan/graphql-tools/pull/5202)
95
+ [`05c97eb8`](https://github.com/ardatan/graphql-tools/commit/05c97eb888cd4b1ffbd9adb32722cd5b609292a0)
96
+ Thanks [@ardatan](https://github.com/ardatan)! - dependencies updates:
97
+
98
+ - Updated dependency [`dataloader@^2.2.2` ↗︎](https://www.npmjs.com/package/dataloader/v/2.2.2)
99
+ (from `2.2.2`, in `dependencies`)
100
+ - Updated dependency
101
+ [`value-or-promise@^1.0.12` ↗︎](https://www.npmjs.com/package/value-or-promise/v/1.0.12) (from
102
+ `1.0.12`, in `dependencies`)
103
+
104
+ - [#5191](https://github.com/ardatan/graphql-tools/pull/5191)
105
+ [`f24f018a`](https://github.com/ardatan/graphql-tools/commit/f24f018aa94394766f4201b1964d473d08946bd3)
106
+ Thanks [@darren-west](https://github.com/darren-west)! - fix: batched executor returns original
107
+ error when it has no path
108
+
109
+ ## 8.5.19
110
+
111
+ ### Patch Changes
112
+
113
+ - [`1c95368a`](https://github.com/ardatan/graphql-tools/commit/1c95368aea868be537d956ba5e994cde58dfee41)
114
+ Thanks [@ardatan](https://github.com/ardatan)! - Use ranged versions for dependencies
115
+
116
+ ## 8.5.18
117
+
118
+ ### Patch Changes
119
+
120
+ - [#5055](https://github.com/ardatan/graphql-tools/pull/5055)
121
+ [`30bd4d0c`](https://github.com/ardatan/graphql-tools/commit/30bd4d0c10f59147faba925dc0941c731b0532a9)
122
+ Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
123
+ - Updated dependency [`dataloader@2.2.2` ↗︎](https://www.npmjs.com/package/dataloader/v/2.2.2)
124
+ (from `2.2.1`, in `dependencies`)
125
+
126
+ ## 8.5.17
127
+
128
+ ### Patch Changes
129
+
130
+ - [#5025](https://github.com/ardatan/graphql-tools/pull/5025)
131
+ [`b09ea282`](https://github.com/ardatan/graphql-tools/commit/b09ea282f0945fb19f354af57aabddcd23b2a155)
132
+ Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
133
+ - Updated dependency [`dataloader@2.2.1` ↗︎](https://www.npmjs.com/package/dataloader/v/2.2.1)
134
+ (from `2.1.0`, in `dependencies`)
135
+ - Updated dependencies
136
+ [[`b5c8f640`](https://github.com/ardatan/graphql-tools/commit/b5c8f6407b74466ed0d2989000458cb59239e9af)]:
137
+ - @graphql-tools/utils@9.2.1
138
+
139
+ ## 8.5.16
140
+
141
+ ### Patch Changes
142
+
143
+ - Updated dependencies
144
+ [[`a94217e9`](https://github.com/ardatan/graphql-tools/commit/a94217e920c5d6237471ab6ad4d96cf230984177),
145
+ [`62d074be`](https://github.com/ardatan/graphql-tools/commit/62d074be48779b1e096e056ca1233822c421dc99)]:
146
+ - @graphql-tools/utils@9.2.0
147
+
148
+ ## 8.5.15
149
+
150
+ ### Patch Changes
151
+
152
+ - [#4943](https://github.com/ardatan/graphql-tools/pull/4943)
153
+ [`a4d36fcc`](https://github.com/ardatan/graphql-tools/commit/a4d36fccce6113843a55b77c96328727f4c748bc)
154
+ Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
155
+ - Updated dependency
156
+ [`value-or-promise@1.0.12` ↗︎](https://www.npmjs.com/package/value-or-promise/v/1.0.12) (from
157
+ `1.0.11`, in `dependencies`)
158
+ - Updated dependencies
159
+ [[`e3ec35ed`](https://github.com/ardatan/graphql-tools/commit/e3ec35ed27d4a329739c8da6be06ce74c8f25591)]:
160
+ - @graphql-tools/utils@9.1.4
161
+
162
+ ## 8.5.14
163
+
164
+ ### Patch Changes
165
+
166
+ - Updated dependencies
167
+ [[`904fe770`](https://github.com/ardatan/graphql-tools/commit/904fe770a355ee3d79464c3bbf0375d2dcd64759)]:
168
+ - @graphql-tools/utils@9.1.3
169
+
170
+ ## 8.5.13
171
+
172
+ ### Patch Changes
173
+
174
+ - Updated dependencies
175
+ [[`13c24883`](https://github.com/ardatan/graphql-tools/commit/13c24883004d5330f7402cb20566e37535c5729b)]:
176
+ - @graphql-tools/utils@9.1.2
177
+
178
+ ## 8.5.12
179
+
180
+ ### Patch Changes
181
+
182
+ - Updated dependencies
183
+ [[`7411a5e7`](https://github.com/ardatan/graphql-tools/commit/7411a5e71a8138d9ccfe907b1fb01e62fcbb0cdb)]:
184
+ - @graphql-tools/utils@9.1.1
185
+
186
+ ## 8.5.11
187
+
188
+ ### Patch Changes
189
+
190
+ - Updated dependencies
191
+ [[`c0639dd0`](https://github.com/ardatan/graphql-tools/commit/c0639dd0065db1b5bcedaabf58b11945714bab8d)]:
192
+ - @graphql-tools/utils@9.1.0
193
+
194
+ ## 8.5.10
195
+
196
+ ### Patch Changes
197
+
198
+ - Updated dependencies
199
+ [[`d83b1960`](https://github.com/ardatan/graphql-tools/commit/d83b19605be71481ccf8effd80d5254423ea811a)]:
200
+ - @graphql-tools/utils@9.0.1
201
+
202
+ ## 8.5.9
203
+
204
+ ### Patch Changes
205
+
206
+ - Updated dependencies
207
+ [[`80836fa7`](https://github.com/ardatan/graphql-tools/commit/80836fa78af3c6e61c61fe4d3bc52831b2c58931),
208
+ [`8f6d3efc`](https://github.com/ardatan/graphql-tools/commit/8f6d3efc92b25236f5a3a761ea7ba2f0a7c7f550),
209
+ [`80836fa7`](https://github.com/ardatan/graphql-tools/commit/80836fa78af3c6e61c61fe4d3bc52831b2c58931),
210
+ [`80836fa7`](https://github.com/ardatan/graphql-tools/commit/80836fa78af3c6e61c61fe4d3bc52831b2c58931),
211
+ [`80836fa7`](https://github.com/ardatan/graphql-tools/commit/80836fa78af3c6e61c61fe4d3bc52831b2c58931)]:
212
+ - @graphql-tools/utils@9.0.0
213
+
214
+ ## 8.5.8
215
+
216
+ ### Patch Changes
217
+
218
+ - Updated dependencies
219
+ [[`f7daf777`](https://github.com/ardatan/graphql-tools/commit/f7daf7777cc214801886e4a45c0389bc5837d175)]:
220
+ - @graphql-tools/utils@8.13.1
221
+
222
+ ## 8.5.7
223
+
224
+ ### Patch Changes
225
+
226
+ - Updated dependencies
227
+ [[`df5848b8`](https://github.com/ardatan/graphql-tools/commit/df5848b85102827f004f23aded7cf802cdcde00f),
228
+ [`df5848b8`](https://github.com/ardatan/graphql-tools/commit/df5848b85102827f004f23aded7cf802cdcde00f),
229
+ [`df5848b8`](https://github.com/ardatan/graphql-tools/commit/df5848b85102827f004f23aded7cf802cdcde00f)]:
230
+ - @graphql-tools/utils@8.13.0
231
+
232
+ ## 8.5.6
233
+
234
+ ### Patch Changes
235
+
236
+ - Updated dependencies
237
+ [[`43c736bd`](https://github.com/ardatan/graphql-tools/commit/43c736bd1865c00898966a7ed14060496c9e6a0c)]:
238
+ - @graphql-tools/utils@8.12.0
239
+
240
+ ## 8.5.5
241
+
242
+ ### Patch Changes
243
+
244
+ - Updated dependencies
245
+ [[`71cb4fae`](https://github.com/ardatan/graphql-tools/commit/71cb4faeb0833a228520a7bc2beed8ac7274443f),
246
+ [`403ed450`](https://github.com/ardatan/graphql-tools/commit/403ed4507eff7cd509f410f7542a702da72e1a9a)]:
247
+ - @graphql-tools/utils@8.11.0
248
+
249
+ ## 8.5.4
250
+
251
+ ### Patch Changes
252
+
253
+ - Updated dependencies
254
+ [[`4fe3d9c0`](https://github.com/ardatan/graphql-tools/commit/4fe3d9c037e9c138bd8a9b04b3977d74eba32c97)]:
255
+ - @graphql-tools/utils@8.10.1
256
+
257
+ ## 8.5.3
258
+
259
+ ### Patch Changes
260
+
261
+ - Updated dependencies
262
+ [[`2609d71f`](https://github.com/ardatan/graphql-tools/commit/2609d71f7c3a0ef2b381c51d9ce60b0de49f9b27)]:
263
+ - @graphql-tools/utils@8.10.0
264
+
265
+ ## 8.5.2
266
+
267
+ ### Patch Changes
268
+
269
+ - [#4624](https://github.com/ardatan/graphql-tools/pull/4624)
270
+ [`e3167edc`](https://github.com/ardatan/graphql-tools/commit/e3167edc98172fda88ce2306c10c7d4a23d91d67)
271
+ Thanks [@n1ru4l](https://github.com/n1ru4l)! - Fix CommonJS TypeScript resolution with
272
+ `moduleResolution` `node16` or `nodenext`
273
+
274
+ - Updated dependencies
275
+ [[`e3167edc`](https://github.com/ardatan/graphql-tools/commit/e3167edc98172fda88ce2306c10c7d4a23d91d67)]:
276
+ - @graphql-tools/utils@8.9.1
277
+
278
+ ## 8.5.1
279
+
280
+ ### Patch Changes
281
+
282
+ - Updated dependencies [2a3b45e3]
283
+ - @graphql-tools/utils@8.9.0
284
+
285
+ ## 8.5.0
286
+
287
+ ### Minor Changes
288
+
289
+ - d76a299c: Support TypeScript module resolution.
290
+
291
+ ### Patch Changes
292
+
293
+ - Updated dependencies [a0abbbcd]
294
+ - Updated dependencies [d76a299c]
295
+ - @graphql-tools/utils@8.8.0
296
+
297
+ ## 8.4.11
298
+
299
+ ### Patch Changes
300
+
301
+ - Updated dependencies [4914970b]
302
+ - @graphql-tools/utils@8.7.0
303
+
304
+ ## 8.4.10
305
+
306
+ ### Patch Changes
307
+
308
+ - 041c5ba1: Use caret range for the tslib dependency
309
+ - Updated dependencies [041c5ba1]
310
+ - @graphql-tools/utils@8.6.13
311
+
312
+ ## 8.4.9
313
+
314
+ ### Patch Changes
315
+
316
+ - Updated dependencies [da7ad43b]
317
+ - @graphql-tools/utils@8.6.12
318
+
319
+ ## 8.4.8
320
+
321
+ ### Patch Changes
322
+
323
+ - Updated dependencies [c0762ee3]
324
+ - @graphql-tools/utils@8.6.11
325
+
326
+ ## 8.4.7
327
+
328
+ ### Patch Changes
329
+
330
+ - Updated dependencies [0fc510cb]
331
+ - @graphql-tools/utils@8.6.10
332
+
333
+ ## 8.4.6
334
+
335
+ ### Patch Changes
336
+
337
+ - Updated dependencies [31a33e2b]
338
+ - @graphql-tools/utils@8.6.9
339
+
340
+ ## 8.4.5
341
+
342
+ ### Patch Changes
343
+
344
+ - Updated dependencies [cb238877]
345
+ - @graphql-tools/utils@8.6.8
346
+
347
+ ## 8.4.4
348
+
349
+ ### Patch Changes
350
+
351
+ - Updated dependencies [0bbb1769]
352
+ - @graphql-tools/utils@8.6.7
353
+
354
+ ## 8.4.3
355
+
356
+ ### Patch Changes
357
+
358
+ - fe9402af: Bump data-loader and cross-undici-fetch
359
+
360
+ ## 8.4.2
361
+
362
+ ### Patch Changes
363
+
364
+ - Updated dependencies [904c0847]
365
+ - @graphql-tools/utils@8.6.6
366
+
367
+ ## 8.4.1
368
+
369
+ ### Patch Changes
370
+
371
+ - Updated dependencies [be2c02d7]
372
+ - @graphql-tools/utils@8.6.5
373
+
374
+ ## 8.4.0
375
+
376
+ ### Minor Changes
377
+
378
+ - c40e801f: feat: forward gateway operation's name to subschema executors
379
+
380
+ ### Patch Changes
381
+
382
+ - Updated dependencies [d36d530b]
383
+ - @graphql-tools/utils@8.6.4
384
+
385
+ ## 8.3.3
386
+
387
+ ### Patch Changes
388
+
389
+ - 0c0c6857: fix - align versions
390
+
391
+ ## 8.3.2
392
+
393
+ ### Patch Changes
394
+
395
+ - 18341363: feat(visitResult): ignore if field not present in visited object
396
+ - Updated dependencies [18341363]
397
+ - @graphql-tools/utils@8.6.2
398
+
399
+ ## 8.3.1
400
+
401
+ ### Patch Changes
402
+
403
+ - 4bfb3428: enhance: use ^ for tslib dependency
404
+ - Updated dependencies [4bfb3428]
405
+ - @graphql-tools/utils@8.5.1
406
+
407
+ ## 8.3.0
408
+
409
+ ### Minor Changes
410
+
411
+ - ad04dc79: enhance: make operationType optional
412
+
413
+ ### Patch Changes
414
+
415
+ - Updated dependencies [ad04dc79]
416
+ - @graphql-tools/utils@8.5.0
417
+
418
+ ## 8.2.0
419
+
420
+ ### Minor Changes
421
+
422
+ - 149afddb: fix: getting ready for GraphQL v16
423
+
424
+ ### Patch Changes
425
+
426
+ - Updated dependencies [149afddb]
427
+ - @graphql-tools/utils@8.4.0
428
+
429
+ ## 8.1.1
430
+
431
+ ### Patch Changes
432
+
433
+ - 014937db: batch-execute enhancements:
434
+ - fixes bugs with batched fragment definitions
435
+ - unpathed errors are now returned for all batch results
436
+ - the "graphqlTools" prefix is simplified down to just "\_"
437
+ - new tests and documentation
438
+ - Updated dependencies [014937db]
439
+ - @graphql-tools/utils@8.2.4
440
+
441
+ ## 8.1.0
442
+
443
+ ### Minor Changes
444
+
445
+ - c5b0719c: feat: GraphQL v16 support
446
+ - c5b0719c: enhance(utils): move memoize functions to utils
447
+
448
+ ### Patch Changes
449
+
450
+ - Updated dependencies [c5b0719c]
451
+ - Updated dependencies [c5b0719c]
452
+ - Updated dependencies [c5b0719c]
453
+ - Updated dependencies [c5b0719c]
454
+ - Updated dependencies [c5b0719c]
455
+ - @graphql-tools/utils@8.2.0
456
+
457
+ ## 8.0.5
458
+
459
+ ### Patch Changes
460
+
461
+ - 631b11bd: refactor(delegationPlanner): introduce static version of our piecemeal planner
462
+
463
+ ...which, although undocumented, can be accessed within the StitchingInfo object saved in a
464
+ stitched schema's extensions.
465
+
466
+ Also improves memoization technique slightly across the board.
467
+
468
+ - e50852e6: use version ranges instead of a fixed version for the graphql-tools package versions
469
+
470
+ ## 8.0.4
471
+
472
+ ### Patch Changes
473
+
474
+ - Updated dependencies [2c807ddb]
475
+ - @graphql-tools/utils@8.1.1
476
+
477
+ ## 8.0.3
478
+
479
+ ### Patch Changes
480
+
481
+ - Updated dependencies [b9684631]
482
+ - Updated dependencies [9ede806a]
483
+ - Updated dependencies [67691b78]
484
+ - @graphql-tools/utils@8.1.0
485
+
486
+ ## 8.0.2
487
+
488
+ ### Patch Changes
489
+
490
+ - Updated dependencies [04830049]
491
+ - @graphql-tools/utils@8.0.2
492
+
493
+ ## 8.0.1
494
+
495
+ ### Patch Changes
496
+
497
+ - Updated dependencies [b823dbaf]
498
+ - @graphql-tools/utils@8.0.1
499
+
500
+ ## 8.0.0
501
+
502
+ ### Major Changes
503
+
504
+ - dae6dc7b: refactor: ExecutionParams type replaced by Request type
505
+
506
+ rootValue property is now a part of the Request type.
507
+
508
+ When delegating with delegateToSchema, rootValue can be set multiple ways:
509
+
510
+ - when using a custom executor, the custom executor can utilize a rootValue in whichever custom
511
+ way it specifies.
512
+ - when using the default executor (execute/subscribe from graphql-js): -- rootValue can be passed
513
+ to delegateToSchema via a named option -- rootValue can be included within a subschemaConfig --
514
+ otherwise, rootValue is inferred from the originating schema
515
+
516
+ When using wrapSchema/stitchSchemas, a subschemaConfig can specify the createProxyingResolver
517
+ function which can pass whatever rootValue it wants to delegateToSchema as above.
518
+
519
+ - c42e811d: BREAKING CHANGES;
520
+
521
+ - Rename `Request` to `ExecutionRequest`
522
+ - Add required `operationType: OperationTypeNode` field in `ExecutionRequest`
523
+ - Add `context` in `createRequest` and `createRequestInfo` instead of `delegateToSchema`
524
+
525
+ > It doesn't rely on info.operation.operationType to allow the user to call an operation from
526
+ > different root type. And it doesn't call getOperationAST again and again to get operation type
527
+ > from the document/operation because we have it in Request and ExecutionParams
528
+ > https://github.com/ardatan/graphql-tools/pull/3166/files#diff-d4824895ea613dcc1f710c3ac82e952fe0ca12391b671f70d9f2d90d5656fdceR38
529
+
530
+ Improvements;
531
+
532
+ - Memoize `defaultExecutor` for a single `GraphQLSchema` so allow `getBatchingExecutor` to memoize
533
+ `batchingExecutor` correctly.
534
+ - And there is no different `defaultExecutor` is created for `subscription` and other operation
535
+ types. Only one executor is used.
536
+
537
+ > Batch executor is memoized by `executor` reference but `createDefaultExecutor` didn't memoize
538
+ > the default executor so this memoization wasn't working correctly on `batch-execute` side.
539
+ > https://github.com/ardatan/graphql-tools/blob/remove-info-executor/packages/batch-execute/src/getBatchingExecutor.ts#L9
540
+
541
+ - c0ca3190: BREAKING CHANGE
542
+ - Remove Subscriber and use only Executor
543
+ - - Now `Executor` can receive `AsyncIterable` and subscriptions will also be handled by
544
+ `Executor`. This is a future-proof change for defer, stream and live queries
545
+
546
+ ### Patch Changes
547
+
548
+ - Updated dependencies [af9a78de]
549
+ - Updated dependencies [9c26b847]
550
+ - Updated dependencies [7d3e3006]
551
+ - Updated dependencies [7d3e3006]
552
+ - Updated dependencies [dae6dc7b]
553
+ - Updated dependencies [6877b913]
554
+ - Updated dependencies [c42e811d]
555
+ - Updated dependencies [7d3e3006]
556
+ - Updated dependencies [8c8d4fc0]
557
+ - Updated dependencies [7d3e3006]
558
+ - Updated dependencies [7d3e3006]
559
+ - Updated dependencies [74581cf3]
560
+ - Updated dependencies [c0ca3190]
561
+ - Updated dependencies [982c8f53]
562
+ - Updated dependencies [7d3e3006]
563
+ - Updated dependencies [7d3e3006]
564
+ - @graphql-tools/utils@8.0.0
565
+
566
+ ## 7.1.2
567
+
568
+ ### Patch Changes
569
+
570
+ - 22a9f3da: fix(deps): follow package conventions on when to pin
571
+
572
+ ## 7.1.1
573
+
574
+ ### Patch Changes
575
+
576
+ - 61da3e82: use value-or-promise to streamline working with sync values or async promises
577
+
578
+ ## 7.1.0
579
+
580
+ ### Minor Changes
581
+
582
+ - 58fd4b28: feat(types): add TContext to stitchSchemas and executor
583
+
584
+ ### Patch Changes
585
+
586
+ - Updated dependencies [58fd4b28]
587
+ - Updated dependencies [43da6b59]
588
+ - @graphql-tools/utils@7.7.0
589
+
590
+ ## 7.0.0
591
+
592
+ ### Major Changes
593
+
594
+ - be1a1575: ## Breaking Changes:
595
+
596
+ #### Schema Generation and Decoration API (`@graphql-tools/schema`)
597
+
598
+ - Resolver validation options should now be set to `error`, `warn` or `ignore` rather than `true`
599
+ or `false`. In previous versions, some of the validators caused errors to be thrown, while some
600
+ issued warnings. This changes brings consistency to validator behavior.
601
+
602
+ - The `allowResolversNotInSchema` has been renamed to `requireResolversToMatchSchema`, to
603
+ harmonize the naming convention of all the validators. The default setting of
604
+ `requireResolversToMatchSchema` is `error`, matching the previous behavior.
605
+
606
+ #### Schema Delegation (`delegateToSchema` & `@graphql-tools/delegate`)
607
+
608
+ - The `delegateToSchema` return value has matured and been formalized as an `ExternalObject`, in
609
+ which all errors are integrated into the GraphQL response, preserving their initial path. Those
610
+ advanced users accessing the result directly will note the change in error handling. This also
611
+ allows for the deprecation of unnecessary helper functions including `slicedError`, `getErrors`,
612
+ `getErrorsByPathSegment` functions. Only external errors with missing or invalid paths must
613
+ still be preserved by annotating the remote object with special properties. The new
614
+ `getUnpathedErrors` function is therefore necessary for retrieving only these errors. Note also
615
+ the new `annotateExternalObject` and `mergeExternalObjects` functions, as well as the renaming
616
+ of `handleResult` to `resolveExternalValue`.
617
+
618
+ - Transform types and the `applySchemaTransforms` are now relocated to the `delegate` package;
619
+ `applyRequestTransforms`/`applyResultTransforms` functions have been deprecated, however, as
620
+ this functionality has been replaced since v6 by the `Transformer` abstraction.
621
+
622
+ - The `transformRequest`/`transformResult` methods are now provided additional `delegationContext`
623
+ and `transformationContext` arguments -- these were introduced in v6, but previously optional.
624
+
625
+ - The `transformSchema` method may wish to create additional delegating resolvers and so it is now
626
+ provided the `subschemaConfig` and final (non-executable) `transformedSchema` parameters. As in
627
+ v6, the `transformSchema` is kicked off once to produce the non-executable version, and then, if
628
+ a wrapping schema is being generated, proxying resolvers are created with access to the
629
+ (non-executable) initial result. In v7, the individual `transformSchema` methods also get access
630
+ to the result of the first run, if necessary, they can create additional wrapping schema
631
+ proxying resolvers.
632
+
633
+ - `applySchemaTransforms` parameters have been updated to match and support the `transformSchema`
634
+ parameters above.
635
+
636
+ #### Remote Schemas & Wrapping (`wrapSchema`, `makeRemoteExecutableSchema`, and `@graphql-tools/wrap`)
637
+
638
+ - `wrapSchema` and `generateProxyingResolvers` now only take a single options argument with named
639
+ properties of type `SubschemaConfig`. The previously possible shorthand version with first
640
+ argument consisting of a `GraphQLSchema` and second argument representing the transforms should
641
+ be reworked as a `SubschemaConfig` object.
642
+
643
+ - Similarly, the `ICreateProxyingResolverOptions` interface that provides the options for the
644
+ `createProxyingResolver` property of `SubschemaConfig` options has been adjusted. The `schema`
645
+ property previously could be set to a `GraphQLSchema` or a `SubschemaConfig` object. This
646
+ property has been removed in favor of a `subschemaConfig` property that will always be a
647
+ `SubschemaConfig` object. The `transforms` property has been removed; transforms should be
648
+ included within the `SubschemaConfig` object.`
649
+
650
+ - The format of the wrapping schema has solidified. All non-root fields are expected to use
651
+ identical resolvers, either `defaultMergedResolver` or a custom equivalent, with root fields
652
+ doing the hard work of proxying. Support for custom merged resolvers throught
653
+ `createMergedResolver` has been deprecated, as custom merging resolvers conflicts when using
654
+ stitching's type merging, where resolvers are expected to be identical across subschemas.
655
+
656
+ - The `WrapFields` transform's `wrappingResolver` option has been removed, as this complicates
657
+ multiple wrapping layers, as well as planned functionality to wrap subscription root fields in
658
+ potentially multiple layers, as the wrapping resolvers may be different in different layers.
659
+ Modifying resolvers can still be performed by use of an additional transform such as
660
+ `TransformRootFields` or `TransformObjectFields`.
661
+
662
+ - The `ExtendSchema` transform has been removed, as it is conceptually simpler just to use
663
+ `stitchSchemas` with one subschema.
664
+
665
+ - The `ReplaceFieldsWithFragment`, `AddFragmentsByField`, `AddSelectionSetsByField`, and
666
+ `AddMergedTypeSelectionSets` transforms has been removed, as they are superseded by the
667
+ `AddSelectionSets` and `VisitSelectionSets` transforms. The `AddSelectionSets` purposely takes
668
+ parsed SDL rather than strings, to nudge end users to parse these strings at build time (when
669
+ possible), rather than at runtime. Parsing of selection set strings can be performed using the
670
+ `parseSelectionSet` function from `@graphql-tools/utils`.
671
+
672
+ #### Schema Stitching (`stitchSchemas` & `@graphql-tools/stitch`)
673
+
674
+ - `stitchSchemas`'s `mergeTypes` option is now true by default! This causes the `onTypeConflict`
675
+ option to be ignored by default. To use `onTypeConflict` to select a specific type instead of
676
+ simply merging, simply set `mergeTypes` to false.
677
+
678
+ - `schemas` argument has been deprecated, use `subschemas`, `typeDefs`, or `types`, depending on
679
+ what you are stitching.
680
+
681
+ - When using batch delegation in type merging, the `argsFromKeys` function is now set only via the
682
+ `argsFromKeys` property. Previously, if `argsFromKeys` was absent, it could be read from `args`.
683
+
684
+ - Support for fragment hints has been removed in favor of selection set hints.
685
+
686
+ - `stitchSchemas` now processes all `GraphQLSchema` and `SubschemaConfig` subschema input into new
687
+ `Subschema` objects, handling schema config directives such aso`@computed` as well as generating
688
+ the final transformed schema, stored as the `transformedSchema` property, if transforms are
689
+ used. Signatures of the `onTypeConflict`, `fieldConfigMerger`, and `inputFieldConfigMerger` have
690
+ been updated to include metadata related to the original and transformed subschemas. Note the
691
+ property name change for `onTypeConflict` from `schema` to `subschema`.
692
+
693
+ #### Mocking (`addMocksToSchema` and `@graphql-tools/mock`)
694
+
695
+ - Mocks returning objects with fields set as functions are now operating according to upstream
696
+ graphql-js convention, i.e. these functions take three arguments, `args`, `context`, and `info`
697
+ with `parent` available as `this` rather than as the first argument.
698
+
699
+ #### Other Utilities (`@graphql-tools/utils`)
700
+
701
+ - `filterSchema`'s `fieldFilter` will now filter _all_ fields across Object, Interface, and Input
702
+ types. For the previous Object-only behavior, switch to the `objectFieldFilter` option.
703
+ - Unused `fieldNodes` utility functions have been removed.
704
+ - Unused `typeContainsSelectionSet` function has been removed, and `typesContainSelectionSet` has
705
+ been moved to the `stitch` package.
706
+ - Unnecessary `Operation` type has been removed in favor of `OperationTypeNode` from upstream
707
+ graphql-js.
708
+ - As above, `applySchemaTransforms`/`applyRequestTransforms`/`applyResultTransforms` have been
709
+ removed from the `utils` package, as they are implemented elsewhere or no longer necessary.
710
+
711
+ ## Related Issues
712
+
713
+ - proxy all the errors: #1047, #1641
714
+ - better error handling for merges #2016, #2062
715
+ - fix typings #1614
716
+ - disable implicit schema pruning #1817
717
+ - mocks not working for functions #1807
718
+
719
+ ### Patch Changes
720
+
721
+ - Updated dependencies [be1a1575]
722
+ - @graphql-tools/utils@7.0.0