- Updated dependencies [
dff525f]:- @graphql-tools/delegate@12.0.14
- Updated dependencies []:
- @graphql-tools/delegate@12.0.13
- Updated dependencies [
da68d27]:- @graphql-tools/delegate@12.0.12
- Updated dependencies []:
- @graphql-tools/delegate@12.0.11
-
#2099
dae3fe4Thanks @copilot-swe-agent! - Fix missing NPM provenance attestation by enablingnpmPublishProvenancein Yarn configuration -
Updated dependencies [
dae3fe4]:- @graphql-tools/delegate@12.0.10
- Updated dependencies [
43aaa6a]:- @graphql-tools/delegate@12.0.9
- Updated dependencies [
4065b7f]:- @graphql-tools/delegate@12.0.8
- Updated dependencies [
584a293]:- @graphql-tools/delegate@12.0.7
- Updated dependencies [
2200fc3]:- @graphql-tools/delegate@12.0.6
- Updated dependencies [
e92c5a9]:- @graphql-tools/delegate@12.0.5
-
#1842
93aa767Thanks @dependabot! - dependencies updates:- Updated dependency
@graphql-tools/utils@^11.0.0↗︎ (from^10.10.3, independencies)
- Updated dependency
-
Updated dependencies [
93aa767]:- @graphql-tools/delegate@12.0.4
- Updated dependencies [
dcd8f0e]:- @graphql-tools/delegate@12.0.3
- Updated dependencies [
da8b8e3]:- @graphql-tools/delegate@12.0.2
- Updated dependencies [
0d14faf]:- @graphql-tools/delegate@12.0.1
-
#1691
7ecaf7eThanks @dependabot! - dependencies updates:- Updated dependency
@graphql-tools/schema@^10.0.29↗︎ (from^10.0.27, independencies) - Updated dependency
@graphql-tools/utils@^10.10.3↗︎ (from^10.10.1, independencies)
- Updated dependency
-
Updated dependencies [
7ecaf7e]:- @graphql-tools/delegate@11.1.3
-
#1608
9c789fbThanks @ardatan! - dependencies updates:- Updated dependency
@graphql-tools/schema@^10.0.27↗︎ (from^10.0.25, independencies) - Updated dependency
@graphql-tools/utils@^10.10.1↗︎ (from^10.9.1, independencies)
- Updated dependency
-
#1662
27789deThanks @ardatan! - dependencies updates:- Updated dependency
@graphql-tools/utils@^10.10.1↗︎ (from^10.10.0, independencies)
- Updated dependency
-
#1663
d678113Thanks @dependabot! - dependencies updates:- Updated dependency
@graphql-tools/schema@^10.0.27↗︎ (from^10.0.26, independencies)
- Updated dependency
-
Updated dependencies [
9c789fb,27789de,d678113]:- @graphql-tools/delegate@11.1.2
-
#1654
efed5e0Thanks @dependabot! - dependencies updates:- Updated dependency
@graphql-tools/schema@^10.0.26↗︎ (from^10.0.25, independencies) - Updated dependency
@graphql-tools/utils@^10.10.0↗︎ (from^10.9.1, independencies)
- Updated dependency
-
Updated dependencies [
efed5e0]:- @graphql-tools/delegate@11.1.1
-
#1473
838ffecThanks @dependabot! - dependencies updates:- Updated dependency
@whatwg-node/promise-helpers@^1.3.2↗︎ (from^1.3.0, independencies)
- Updated dependency
-
Updated dependencies [
838ffec]:- @graphql-tools/delegate@11.0.1
-
#956
46d2661Thanks @EmrysMyrddin! - Drop Node 18 supportLeast supported Node version is now v20.
-
#956
46d2661Thanks @EmrysMyrddin! - Fixed subgraph name being lost when execution requests get batched together. -
Updated dependencies [
46d2661,46d2661,46d2661]:- @graphql-tools/delegate@11.0.0
-
#1358
8e37851Thanks @dependabot! - dependencies updates:- Updated dependency
@graphql-tools/schema@^10.0.25↗︎ (from^10.0.24, independencies) - Updated dependency
@graphql-tools/utils@^10.9.1↗︎ (from^10.9.0, independencies)
- Updated dependency
-
Updated dependencies [
8e37851]:- @graphql-tools/delegate@10.2.23
-
#1344
a71236dThanks @dependabot! - dependencies updates:- Updated dependency
@graphql-tools/schema@^10.0.24↗︎ (from^10.0.11, independencies) - Updated dependency
@graphql-tools/utils@^10.9.0↗︎ (from^10.8.1, independencies)
- Updated dependency
-
Updated dependencies [
a71236d]:- @graphql-tools/delegate@10.2.22
- Updated dependencies [
b69c80b]:- @graphql-tools/delegate@10.2.21
- Updated dependencies []:
- @graphql-tools/delegate@10.2.19
- Updated dependencies [
0512be3]:- @graphql-tools/delegate@10.2.18
-
#532
4e33933Thanks @EmrysMyrddin! - dependencies updates:- Updated dependency
@whatwg-node/promise-helpers@^1.3.0↗︎ (from^1.2.5, independencies)
- Updated dependency
-
Updated dependencies [
4e33933]:- @graphql-tools/delegate@10.2.16
-
#862
278618aThanks @ardatan! - dependencies updates:- Updated dependency
@whatwg-node/promise-helpers@^1.2.5↗︎ (from^1.0.0, independencies)
- Updated dependency
-
Updated dependencies [
278618a]:- @graphql-tools/delegate@10.2.15
-
#726
6334b2eThanks @ardatan! - dependencies updates:- Added dependency
@whatwg-node/promise-helpers@^1.0.0↗︎ (todependencies)
- Added dependency
-
Updated dependencies [
6334b2e,2a54e85]:- @graphql-tools/delegate@10.2.14
- Updated dependencies [
2318393]:- @graphql-tools/delegate@10.2.13
-
#620
d72209aThanks @renovate! - dependencies updates:- Updated dependency
@graphql-tools/utils@^10.8.1↗︎ (from^10.7.0, independencies)
- Updated dependency
-
Updated dependencies [
d72209a]:- @graphql-tools/delegate@10.2.12
- Updated dependencies [
9144222]:- @graphql-tools/delegate@10.2.11
-
#472
e9f78cdThanks @ardatan! -RenameObjectFieldArgumentsshould transform the passedargsindelegationContext.When a subschema's a root field argument is renamed, the passed arguments should be also transformed;
type Query { # This is the original field book(book_id: ID): [Book] } type Book { id: ID title: String }
When the subschema above is transformed to;
type Query { # This is the transformed field book(bookId: ID): [Book] } type Book { id: ID title: String }
The following call should be transformed;
delegateToSchema({ schema: { schema, transforms: [ new RenameObjectFieldArguments((typeName, fieldName, argName) => { if ( typeName === 'Query' && fieldName === 'book' && argName === 'book_id' ) { return 'bookId'; } return argName; }), ], }, operation: 'query', fieldName: 'book', args: { bookId: '1', }, });
To this query;
{ book(book_id: "1") { # ... } } -
Updated dependencies [
18682e6]:- @graphql-tools/delegate@10.2.10
-
#373
e606975Thanks @ardatan! - dependencies updates:- Updated dependency
@graphql-tools/utils@^10.7.0↗︎ (from^10.6.2, independencies)
- Updated dependency
-
Updated dependencies [
e606975]:- @graphql-tools/delegate@10.2.9
- Updated dependencies [
23b8987]:- @graphql-tools/delegate@10.2.8
-
#291
34d1224Thanks @ardatan! - dependencies updates:- Updated dependency
tslib@^2.8.1↗︎ (from^2.4.0, independencies)
- Updated dependency
-
Updated dependencies [
34d1224]:- @graphql-tools/delegate@10.2.7
-
#269
cdca511Thanks @ardatan! - dependencies updates:- Updated dependency
@graphql-tools/schema@^10.0.11↗︎ (from^10.0.7, independencies) - Updated dependency
@graphql-tools/utils@^10.6.2↗︎ (from^10.6.0, independencies)
- Updated dependency
-
Updated dependencies [
7df2215,cdca511]:- @graphql-tools/delegate@10.2.6
- Updated dependencies [
9ce705c]:- @graphql-tools/delegate@10.2.5
- Updated dependencies []:
- @graphql-tools/delegate@10.2.4
- Updated dependencies [
7ca0ff3]:- @graphql-tools/delegate@10.2.3
- Updated dependencies [
2e0add3]:- @graphql-tools/delegate@10.2.2
-
#164
310613dThanks @ardatan! - dependencies updates:- Updated dependency
@graphql-tools/utils@^10.6.0↗︎ (from^10.5.6, independencies)
- Updated dependency
-
#185
f0b6921Thanks @ardatan! - dependencies updates:- Removed dependency
value-or-promise@^1.0.12↗︎ (fromdependencies)
- Removed dependency
-
#188
f71366dThanks @ardatan! - dependencies updates:- Removed dependency
value-or-promise@^1.0.12↗︎ (fromdependencies)
- Removed dependency
-
Updated dependencies [
310613d]:- @graphql-tools/delegate@10.2.1
- Updated dependencies [
f32cb2a]:- @graphql-tools/delegate@10.2.0
-
19bc6a4Thanks @enisdenjo! -onErrorandonEndcallbacks when mapping async iterators are invoked only once regardless of how many times throw/return was called on the iterator -
Updated dependencies [
73c621d]:- @graphql-tools/delegate@10.1.3
- Updated dependencies
[
342e044]:- @graphql-tools/delegate@10.1.1
- Updated dependencies
[
e9906eb]:- @graphql-tools/delegate@10.1.0
- Updated dependencies
[
da1de08]:- @graphql-tools/delegate@10.0.29
- Updated dependencies
[
f470f49]:- @graphql-tools/delegate@10.0.28
- Updated dependencies
[
180f3f0]:- @graphql-tools/delegate@10.0.27
- Updated dependencies
[
8effad4]:- @graphql-tools/delegate@10.0.26
- Updated dependencies
[
8a16b01]:- @graphql-tools/delegate@10.0.25
- Updated dependencies
[
4cdb462]:- @graphql-tools/delegate@10.0.24
- Updated dependencies
[
7e2938d]:- @graphql-tools/delegate@10.0.23
- Updated dependencies
[
cf2ce5e]:- @graphql-tools/utils@10.5.5
- @graphql-tools/delegate@10.0.22
- @graphql-tools/schema@10.0.7
-
#5963
8199416Thanks @EmrysMyrddin! - Fix missing__typenamefield when it is already present but aliased. -
Updated dependencies [
baf3c28]:- @graphql-tools/utils@10.1.1
- #5913
83c0af0Thanks @enisdenjo! - dependencies updates:- Updated dependency
@graphql-tools/schema@^10.0.2↗︎ (from^10.0.0, independencies) - Updated dependency
@graphql-tools/utils@^10.0.13↗︎ (from^10.0.0, independencies)
- Updated dependency
- Updated dependencies
[
83c0af0,83c0af0,83c0af0]:- @graphql-tools/delegate@10.0.4
- @graphql-tools/schema@10.0.3
-
#5572
aadb591fThanks @ardatan! - Fix for wrapping subscription types -
Updated dependencies [
aadb591f]:- @graphql-tools/delegate@10.0.3
-
#5274
944a68e8Thanks @ardatan! - Drop Node 14 support. Require Node.js>= 16 -
#5274
944a68e8Thanks @ardatan! -introspectSchemahas been removed, useschemaFromExecutorinstead
- Updated dependencies
[
8fba6cc1,944a68e8,944a68e8]:- @graphql-tools/delegate@10.0.0
- @graphql-tools/schema@10.0.0
- @graphql-tools/utils@10.0.0
-
1c95368aThanks @ardatan! - Use ranged versions for dependencies -
Updated dependencies [
1c95368a]:- @graphql-tools/schema@9.0.18
- @graphql-tools/delegate@9.0.31
-
Updated dependencies []:
- @graphql-tools/delegate@9.0.30
- Updated dependencies
[
f26392a6]:- @graphql-tools/delegate@9.0.29
- Updated dependencies []:
- @graphql-tools/schema@9.0.17
- Updated dependencies
[
492220cb]:- @graphql-tools/delegate@9.0.28
- Updated dependencies
[
30bd4d0c]:- @graphql-tools/delegate@9.0.27
-
#5023
85659bcaThanks @SimenB! - Only warn about deprecatedintrospectSchemaonce -
Updated dependencies [
b09ea282,b5c8f640]:- @graphql-tools/delegate@9.0.26
- @graphql-tools/utils@9.2.1
- @graphql-tools/schema@9.0.16
- Updated dependencies
[
a94217e9,62d074be]:- @graphql-tools/utils@9.2.0
- @graphql-tools/delegate@9.0.25
- @graphql-tools/schema@9.0.15
- Updated dependencies
[
772b948a]:- @graphql-tools/delegate@9.0.24
- Updated dependencies []:
- @graphql-tools/schema@9.0.14
- @graphql-tools/delegate@9.0.23
- #4960
499365aaThanks @ardatan! - Deprecate `introspectSchema` in favor of the new `schemaFromExecutor`
- #4943
a4d36fccThanks @renovate! - dependencies updates:- Updated dependency
value-or-promise@1.0.12↗︎ (from1.0.11, independencies)
- Updated dependency
- Updated dependencies
[
a4d36fcc,a4d36fcc,e3ec35ed]:- @graphql-tools/delegate@9.0.22
- @graphql-tools/schema@9.0.13
- @graphql-tools/utils@9.1.4
- Updated dependencies
[
13177794]:- @graphql-tools/delegate@9.0.21
-
#4890
eb6cd8b6Thanks @ardatan! - Transform provided argument values properly -
#4890
eb6cd8b6Thanks @ardatan! - Handle argument definitions correctly during delegation and transformations -
Updated dependencies [
eb6cd8b6,eb6cd8b6]:- @graphql-tools/delegate@9.0.20
- Updated dependencies
[
904fe770,904fe770]:- @graphql-tools/utils@9.1.3
- @graphql-tools/delegate@9.0.19
- @graphql-tools/schema@9.0.12
- Updated dependencies
[
13c24883,b5e6459f]:- @graphql-tools/delegate@9.0.18
- @graphql-tools/utils@9.1.2
- @graphql-tools/schema@9.0.11
- Updated dependencies
[
7411a5e7]:- @graphql-tools/utils@9.1.1
- @graphql-tools/delegate@9.0.17
- @graphql-tools/schema@9.0.10
- Updated dependencies []:
- @graphql-tools/delegate@9.0.16
-
#4825
1270b75aThanks @NullScope! - Fixed __typename being added more than once in TransformCompositeFields -
Updated dependencies [
c0639dd0]:- @graphql-tools/utils@9.1.0
- @graphql-tools/delegate@9.0.15
- @graphql-tools/schema@9.0.9
- #4823
a58cd6d3Thanks @ardatan! - Fix the bug when an optional argument's value is not provided with MapLeafValues transform
- Updated dependencies
[
d83b1960]:- @graphql-tools/utils@9.0.1
- @graphql-tools/delegate@9.0.14
- @graphql-tools/schema@9.0.8
- Updated dependencies []:
- @graphql-tools/delegate@9.0.13
- Updated dependencies []:
- @graphql-tools/delegate@9.0.12
- Updated dependencies
[
80836fa7,8f6d3efc,80836fa7,80836fa7,80836fa7]:- @graphql-tools/utils@9.0.0
- @graphql-tools/delegate@9.0.11
- @graphql-tools/schema@9.0.7
-
c1d01f3dThanks @ardatan! - Do not transform request if there is no value transformed during the schema transformation -
Updated dependencies [
f7daf777]:- @graphql-tools/utils@8.13.1
- @graphql-tools/delegate@9.0.10
- @graphql-tools/schema@9.0.6
- Updated dependencies
[
df5848b8,df5848b8,df5848b8,df5848b8]:- @graphql-tools/delegate@9.0.9
- @graphql-tools/utils@8.13.0
- @graphql-tools/schema@9.0.5
- Updated dependencies
[
0402894d]:- @graphql-tools/delegate@9.0.8
- Updated dependencies
[
00c4a1a4]:- @graphql-tools/delegate@9.0.7
- #4706
43c736bdThanks @ardatan! - RenameTypes: do not rename type if the new name already exists in the schema
- Updated dependencies
[
43c736bd]:- @graphql-tools/utils@8.12.0
- @graphql-tools/delegate@9.0.6
- @graphql-tools/schema@9.0.4
- Updated dependencies
[
71cb4fae,403ed450]:- @graphql-tools/utils@8.11.0
- @graphql-tools/delegate@9.0.5
- @graphql-tools/schema@9.0.3
-
#4676
4e4fac0aThanks @NullScope! - Fix transforming/renaming Wrapped GraphQL Arguments -
Updated dependencies [
4fe3d9c0]:- @graphql-tools/utils@8.10.1
- @graphql-tools/delegate@9.0.4
- @graphql-tools/schema@9.0.2
- #4640
27bdc237Thanks @ardatan! - dependencies updates:- Updated dependency
@graphql-tools/delegate@9.0.3↗︎ (was9.0.2, independencies)
- Updated dependency
-
Updated dependencies [
0555a972]:- @graphql-tools/delegate@9.0.3
-
#4648
29ee7542Thanks @ardatan! - Do not callTransform.transformSchemamore than once -
Updated dependencies [
29ee7542]:- @graphql-tools/delegate@9.0.2
- Updated dependencies
[
2609d71f]:- @graphql-tools/utils@8.10.0
- @graphql-tools/schema@9.0.1
- @graphql-tools/delegate@9.0.1
-
#4566
d8dc67aaThanks @ardatan! - ## Breaking changesSchema generation optimization by removing
transfomedSchemaparameterPreviously we were applying the transforms multiple times. We needed to introduced some breaking changes to improve the initial wrapped/stitched schema generation performance;
Transform.transformSchemano longer acceptstransformedSchemawhich can easily be created withapplySchemaTransforms(schema, subschemaConfig)instead.- Proxying resolver factory function that is passed as
createProxyingResolvertoSubschemaConfigno longer takestransformedSchemawhich can easily be created withapplySchemaTransforms(schema, subschemaConfig)instead.
stitchSchemasdoesn't take nested arrays of subschemasstitchSchemasno longer accepts an array of arrays of subschema configuration objects. Instead, it accepts an array of subschema configuration objects or schema objects directly.stitchSchemasno longer prunes the schema withpruningOptionsYou can use
pruneSchemafrom@graphql-tools/utilsto prune the schema instead.stitchSchemasno longer respect "@computed" directive if stitchingDirectivesTransformer isn't appliedAlso
@graphql-tools/stitchno longer exportscomputedDirectiveTransformeranddefaultSubschemaConfigTransforms. Instead, use@graphql-tools/stitching-directivespackage for@computeddirective. Learn more about setting it upcomputedFieldshas been removed from the merged type configurationMergeTypeConfig.computedFieldssetting has been removed in favor of new computed field configuration written as:merge: { MyType: { fields: { myComputedField: { selectionSet: '{ weight }', computed: true, } } } }
A field-level
selectionSetspecifies field dependencies while thecomputedsetting structures the field in a way that assures it is always selected with this data provided. TheselectionSetis intentionally generic to support possible future uses. This new pattern organizes all field-level configuration (includingcanonical) into a single structure.
-
#4624
e3167edcThanks @n1ru4l! - Fix CommonJS TypeScript resolution withmoduleResolutionnode16ornodenext -
Updated dependencies [
8cc8721f,e3167edc,d8dc67aa]:- @graphql-tools/schema@9.0.0
- @graphql-tools/delegate@9.0.0
- @graphql-tools/utils@8.9.1
- Updated dependencies [2a3b45e3]
- @graphql-tools/utils@8.9.0
- @graphql-tools/delegate@8.8.1
- @graphql-tools/schema@8.5.1
- d76a299c: Support TypeScript module resolution.
- Updated dependencies [a0abbbcd]
- Updated dependencies [d76a299c]
- @graphql-tools/utils@8.8.0
- @graphql-tools/delegate@8.8.0
- @graphql-tools/schema@8.5.0
- Updated dependencies [6df204de]
- Updated dependencies [4914970b]
- @graphql-tools/delegate@8.7.12
- @graphql-tools/schema@8.4.0
- @graphql-tools/utils@8.7.0
- 041c5ba1: Use caret range for the tslib dependency
- Updated dependencies [041c5ba1]
- @graphql-tools/delegate@8.7.11
- @graphql-tools/schema@8.3.14
- @graphql-tools/utils@8.6.13
- 7c3b2797: fix(wrap): wrapped types and fields should be non null
- Updated dependencies [da7ad43b]
- @graphql-tools/utils@8.6.12
- @graphql-tools/delegate@8.7.10
- @graphql-tools/schema@8.3.13
- Updated dependencies [c0762ee3]
- @graphql-tools/utils@8.6.11
- @graphql-tools/delegate@8.7.9
- @graphql-tools/schema@8.3.12
- Updated dependencies [0fc510cb]
- @graphql-tools/utils@8.6.10
- @graphql-tools/delegate@8.7.8
- @graphql-tools/schema@8.3.11
- Updated dependencies [31a33e2b]
- @graphql-tools/utils@8.6.9
- @graphql-tools/delegate@8.7.7
- @graphql-tools/schema@8.3.10
- Updated dependencies [26e4b464]
- @graphql-tools/delegate@8.7.6
- Updated dependencies [cb238877]
- @graphql-tools/utils@8.6.8
- @graphql-tools/delegate@8.7.5
- @graphql-tools/schema@8.3.9
-
0bbb1769: Refine generic typings using
extends Xwhen appropriateTypescript 4.7 has stricter requirements around generics which is explained well in the related PR: microsoft/TypeScript#48366
These changes resolve the errors that these packages will face when attempting to upgrade to TS 4.7 (still in beta at the time of writing this). Landing these changes now will allow other TS libraries which depend on these packages to experiment with TS 4.7 in the meantime.
-
Updated dependencies [0bbb1769]
- @graphql-tools/delegate@8.7.4
- @graphql-tools/utils@8.6.7
- @graphql-tools/schema@8.3.8
- Updated dependencies [fe9402af]
- @graphql-tools/delegate@8.7.3
- Updated dependencies [904c0847]
- @graphql-tools/utils@8.6.6
- @graphql-tools/delegate@8.7.2
- @graphql-tools/schema@8.3.7
- Updated dependencies [722abad7]
- @graphql-tools/schema@8.3.6
- @graphql-tools/delegate@8.7.1
- Updated dependencies [d8fd6b94]
- @graphql-tools/delegate@8.7.0
- Updated dependencies [be2c02d7]
- @graphql-tools/utils@8.6.5
- @graphql-tools/delegate@8.6.1
- @graphql-tools/schema@8.3.5
- Updated dependencies [c40e801f]
- Updated dependencies [d36d530b]
- @graphql-tools/delegate@8.6.0
- @graphql-tools/utils@8.6.4
- @graphql-tools/schema@8.3.4
- 0c0c6857: fix - align versions
- Updated dependencies [0c0c6857]
- @graphql-tools/delegate@8.5.4
- @graphql-tools/schema@8.3.3
- 3da3d66c: fix - align versions
- Updated dependencies [3da3d66c]
- @graphql-tools/utils@8.6.3
- c84840cd: fix(url-loader): get dynamic endpoint value correctly
- 304da972: feat(wrap): RenameObjectFieldArguments transform
- 18341363: feat(visitResult): ignore if field not present in visited object
- Updated dependencies [18341363]
- @graphql-tools/delegate@8.5.1
- @graphql-tools/schema@8.3.2
- @graphql-tools/utils@8.6.2
- 639c1133: fix(wrap): return if transformed field node isn't in the schema
- 081b97e8: Add better type support for stitchSchemas using subschema transformations
- Updated dependencies [081b97e8]
- @graphql-tools/delegate@8.5.0
- 5642b20e: fix(wrap): fix input type transformation
- 960e178a: fix: isAsyncIterable should check if it is an object with iterator factory function
- Updated dependencies [960e178a]
- Updated dependencies [947a3fe0]
- @graphql-tools/delegate@8.4.2
- @graphql-tools/utils@8.5.3
- 981eef80: enhance: remove isPromise and cleanup file-upload handling
- 4bfb3428: enhance: use ^ for tslib dependency
- Updated dependencies [4bfb3428]
- @graphql-tools/delegate@8.4.1
- @graphql-tools/schema@8.3.1
- @graphql-tools/utils@8.5.1
- ad04dc79: enhance: make operationType optional
- Updated dependencies [ad04dc79]
- @graphql-tools/delegate@8.4.0
- @graphql-tools/utils@8.5.0
- 149afddb: fix: getting ready for GraphQL v16
- Updated dependencies [149afddb]
- @graphql-tools/delegate@8.3.0
- @graphql-tools/schema@8.3.0
- @graphql-tools/utils@8.4.0
- d88a85a4: fix(wrap): fixing variables missing on wrap/MapLeafValues transform
- c5b0719c: feat: GraphQL v16 support
- Updated dependencies [c5b0719c]
- Updated dependencies [c5b0719c]
- Updated dependencies [c5b0719c]
- Updated dependencies [c5b0719c]
- Updated dependencies [c5b0719c]
- @graphql-tools/delegate@8.2.0
- @graphql-tools/utils@8.2.0
- @graphql-tools/schema@8.2.0
- e50852e6: use version ranges instead of a fixed version for the graphql-tools package versions
- Updated dependencies [631b11bd]
- Updated dependencies [e50852e6]
- @graphql-tools/delegate@8.1.0
- @graphql-tools/schema@8.1.2
- Updated dependencies [2c807ddb]
- @graphql-tools/utils@8.1.1
- @graphql-tools/delegate@8.0.10
- @graphql-tools/schema@8.1.1
- Updated dependencies [9a13357c]
- @graphql-tools/delegate@8.0.9
- Updated dependencies [b9684631]
- Updated dependencies [9ede806a]
- Updated dependencies [67691b78]
- @graphql-tools/utils@8.1.0
- @graphql-tools/schema@8.1.0
- @graphql-tools/delegate@8.0.8
- a7dee807: fix(wrap): handle non nullable input variables correctly
- 343e697e: Fix TransformQuery for path longer than 1
- Updated dependencies [d47dcf42]
- @graphql-tools/delegate@8.0.7
- Updated dependencies [ded29f3d]
- @graphql-tools/delegate@8.0.6
- Updated dependencies [7fdef335]
- @graphql-tools/delegate@8.0.5
- Updated dependencies [04830049]
- @graphql-tools/utils@8.0.2
- @graphql-tools/delegate@8.0.4
- @graphql-tools/schema@8.0.2
- Updated dependencies [b823dbaf]
- @graphql-tools/utils@8.0.1
- @graphql-tools/delegate@8.0.3
- @graphql-tools/schema@8.0.1
- Updated dependencies [d93945fa]
- @graphql-tools/delegate@8.0.2
- c36defbe: fix(delegate): fix ESM import
- Updated dependencies [c36defbe]
- @graphql-tools/delegate@8.0.1
-
7d3e3006: BREAKING CHANGE
makeRemoteExecutableSchemahas been removed.-
- You can use
wrapSchemainstead
- You can use
-
dae6dc7b: refactor: ExecutionParams type replaced by Request type
rootValue property is now a part of the Request type.
When delegating with delegateToSchema, rootValue can be set multiple ways:
- when using a custom executor, the custom executor can utilize a rootValue in whichever custom way it specifies.
- when using the default executor (execute/subscribe from graphql-js): -- rootValue can be passed to delegateToSchema via a named option -- rootValue can be included within a subschemaConfig -- otherwise, rootValue is inferred from the originating schema
When using wrapSchema/stitchSchemas, a subschemaConfig can specify the createProxyingResolver function which can pass whatever rootValue it wants to delegateToSchema as above.
-
c42e811d: BREAKING CHANGES;
- Rename
RequesttoExecutionRequest - Add required
operationType: OperationTypeNodefield inExecutionRequest - Add
contextincreateRequestandcreateRequestInfoinstead ofdelegateToSchema
It doesn't rely on info.operation.operationType to allow the user to call an operation from different root type. And it doesn't call getOperationAST again and again to get operation type from the document/operation because we have it in Request and ExecutionParams https://github.com/ardatan/graphql-tools/pull/3166/files#diff-d4824895ea613dcc1f710c3ac82e952fe0ca12391b671f70d9f2d90d5656fdceR38
Improvements;
- Memoize
defaultExecutorfor a singleGraphQLSchemaso allowgetBatchingExecutorto memoizebatchingExecutorcorrectly. - And there is no different
defaultExecutoris created forsubscriptionand other operation types. Only one executor is used.
Batch executor is memoized by
executorreference butcreateDefaultExecutordidn't memoize the default executor so this memoization wasn't working correctly onbatch-executeside. https://github.com/ardatan/graphql-tools/blob/remove-info-executor/packages/batch-execute/src/getBatchingExecutor.ts#L9 - Rename
-
7d3e3006: BREAKING CHANGE
- Now it uses the native
AggregateErrorimplementation. The major difference is the individual errors are kept undererrorsproperty instead of the object itself withSymbol.iterator.
// From; for (const error of aggregateError) // To; for (const error of aggregateError.errors)
- Now it uses the native
-
c0ca3190: BREAKING CHANGE
- Remove unnecessary
introspectSchemaSync,introspectSchemaalready handles sync execution
- Remove unnecessary
-
74581cf3: fix(getDirectives): preserve order around repeatable directives
BREAKING CHANGE: getDirectives now always return an array of individual DirectiveAnnotation objects consisting of
nameandargsproperties.New useful function
getDirectivereturns an array of objects representing any args for each use of a single directive (returning the empty object{}when a directive is used without arguments).Note: The
getDirectivefunction returns an array even when the specified directive is non-repeatable. This is because one use of this function is to throw an error if more than one directive annotation is used for a non repeatable directive!When specifying directives in extensions, one can use either the old or new format.
-
c0ca3190: BREAKING CHANGE
- Remove Subscriber and use only Executor
-
- Now
Executorcan receiveAsyncIterableand subscriptions will also be handled byExecutor. This is a future-proof change for defer, stream and live queries
- Now
- Updated dependencies [af9a78de]
- Updated dependencies [7d3e3006]
- Updated dependencies [9c26b847]
- Updated dependencies [7d3e3006]
- Updated dependencies [d53e3be5]
- Updated dependencies [7d3e3006]
- Updated dependencies [dae6dc7b]
- Updated dependencies [6877b913]
- Updated dependencies [7d3e3006]
- Updated dependencies [c42e811d]
- Updated dependencies [7d3e3006]
- Updated dependencies [8c8d4fc0]
- Updated dependencies [7d3e3006]
- Updated dependencies [7d3e3006]
- Updated dependencies [aa43054d]
- Updated dependencies [7d3e3006]
- Updated dependencies [74581cf3]
- Updated dependencies [c0ca3190]
- Updated dependencies [7d3e3006]
- Updated dependencies [982c8f53]
- Updated dependencies [7d3e3006]
- Updated dependencies [7d3e3006]
- Updated dependencies [7d3e3006]
- @graphql-tools/utils@8.0.0
- @graphql-tools/delegate@8.0.0
- @graphql-tools/schema@8.0.0
- 22a9f3da: fix(deps): follow package conventions on when to pin
- Updated dependencies [22a9f3da]
- @graphql-tools/delegate@7.1.5
- @graphql-tools/schema@7.1.5
- 36f19ddb: fix(TransformQuery): pass delegation context to query and result transformers for required flexibility
- Updated dependencies [dbdb78e0]
- @graphql-tools/utils@7.8.1
- 61da3e82: use value-or-promise to streamline working with sync values or async promises
- Updated dependencies [61da3e82]
- @graphql-tools/delegate@7.1.4
- @graphql-tools/schema@7.1.4
- 270046a1: fix(TransformInputObjectFields): transform variables #2353
- Updated dependencies [270046a1]
- @graphql-tools/utils@7.2.1
- 4240a959: enhance(wrap): use introspectSchema for both sync and async executors
- Updated dependencies [4240a959]
- @graphql-tools/utils@7.1.4
- 21da6904: fix release
- Updated dependencies [21da6904]
- @graphql-tools/schema@7.1.2
- @graphql-tools/utils@7.1.2
-
9f60cad6: fix(transforms): don't add __typename to subscriptions
see: ardatan/graphql-tools#2282 graphql/graphql-js#2861 graphql/graphql-spec#776
-
Updated dependencies [1b730f80]
-
Updated dependencies [29ead57c]
- @graphql-tools/delegate@7.0.7
- 51e387c3: transformedSchema argument within transformSchema method of transforms should be optional. The HoistField transform incorrectly set it to non-optional, breaking Typescript builds -- presumably when used with strict compilation.
-
be1a1575: ## Breaking Changes:
-
Resolver validation options should now be set to
error,warnorignorerather thantrueorfalse. In previous versions, some of the validators caused errors to be thrown, while some issued warnings. This changes brings consistency to validator behavior. -
The
allowResolversNotInSchemahas been renamed torequireResolversToMatchSchema, to harmonize the naming convention of all the validators. The default setting ofrequireResolversToMatchSchemaiserror, matching the previous behavior.
-
The
delegateToSchemareturn value has matured and been formalized as anExternalObject, in which all errors are integrated into the GraphQL response, preserving their initial path. Those advanced users accessing the result directly will note the change in error handling. This also allows for the deprecation of unnecessary helper functions includingslicedError,getErrors,getErrorsByPathSegmentfunctions. Only external errors with missing or invalid paths must still be preserved by annotating the remote object with special properties. The newgetUnpathedErrorsfunction is therefore necessary for retrieving only these errors. Note also the newannotateExternalObjectandmergeExternalObjectsfunctions, as well as the renaming ofhandleResulttoresolveExternalValue. -
Transform types and the
applySchemaTransformsare now relocated to thedelegatepackage;applyRequestTransforms/applyResultTransformsfunctions have been deprecated, however, as this functionality has been replaced since v6 by theTransformerabstraction. -
The
transformRequest/transformResultmethods are now provided additionaldelegationContextandtransformationContextarguments -- these were introduced in v6, but previously optional. -
The
transformSchemamethod may wish to create additional delegating resolvers and so it is now provided thesubschemaConfigand final (non-executable)transformedSchemaparameters. As in v6, thetransformSchemais kicked off once to produce the non-executable version, and then, if a wrapping schema is being generated, proxying resolvers are created with access to the (non-executable) initial result. In v7, the individualtransformSchemamethods also get access to the result of the first run, if necessary, they can create additional wrapping schema proxying resolvers. -
applySchemaTransformsparameters have been updated to match and support thetransformSchemaparameters above.
-
wrapSchemaandgenerateProxyingResolversnow only take a single options argument with named properties of typeSubschemaConfig. The previously possible shorthand version with first argument consisting of aGraphQLSchemaand second argument representing the transforms should be reworked as aSubschemaConfigobject. -
Similarly, the
ICreateProxyingResolverOptionsinterface that provides the options for thecreateProxyingResolverproperty ofSubschemaConfigoptions has been adjusted. Theschemaproperty previously could be set to aGraphQLSchemaor aSubschemaConfigobject. This property has been removed in favor of asubschemaConfigproperty that will always be aSubschemaConfigobject. Thetransformsproperty has been removed; transforms should be included within theSubschemaConfigobject.` -
The format of the wrapping schema has solidified. All non-root fields are expected to use identical resolvers, either
defaultMergedResolveror a custom equivalent, with root fields doing the hard work of proxying. Support for custom merged resolvers throughtcreateMergedResolverhas been deprecated, as custom merging resolvers conflicts when using stitching's type merging, where resolvers are expected to be identical across subschemas. -
The
WrapFieldstransform'swrappingResolveroption has been removed, as this complicates multiple wrapping layers, as well as planned functionality to wrap subscription root fields in potentially multiple layers, as the wrapping resolvers may be different in different layers. Modifying resolvers can still be performed by use of an additional transform such asTransformRootFieldsorTransformObjectFields. -
The
ExtendSchematransform has been removed, as it is conceptually simpler just to usestitchSchemaswith one subschema. -
The
ReplaceFieldsWithFragment,AddFragmentsByField,AddSelectionSetsByField, andAddMergedTypeSelectionSetstransforms has been removed, as they are superseded by theAddSelectionSetsandVisitSelectionSetstransforms. TheAddSelectionSetspurposely takes parsed SDL rather than strings, to nudge end users to parse these strings at build time (when possible), rather than at runtime. Parsing of selection set strings can be performed using theparseSelectionSetfunction from@graphql-tools/utils.
-
stitchSchemas'smergeTypesoption is now true by default! This causes theonTypeConflictoption to be ignored by default. To useonTypeConflictto select a specific type instead of simply merging, simply setmergeTypesto false. -
schemasargument has been deprecated, usesubschemas,typeDefs, ortypes, depending on what you are stitching. -
When using batch delegation in type merging, the
argsFromKeysfunction is now set only via theargsFromKeysproperty. Previously, ifargsFromKeyswas absent, it could be read fromargs. -
Support for fragment hints has been removed in favor of selection set hints.
-
stitchSchemasnow processes allGraphQLSchemaandSubschemaConfigsubschema input into newSubschemaobjects, handling schema config directives such aso@computedas well as generating the final transformed schema, stored as thetransformedSchemaproperty, if transforms are used. Signatures of theonTypeConflict,fieldConfigMerger, andinputFieldConfigMergerhave been updated to include metadata related to the original and transformed subschemas. Note the property name change foronTypeConflictfromschematosubschema.
- Mocks returning objects with fields set as functions are now operating according to upstream
graphql-js convention, i.e. these functions take three arguments,
args,context, andinfowithparentavailable asthisrather than as the first argument.
filterSchema'sfieldFilterwill now filter all fields across Object, Interface, and Input types. For the previous Object-only behavior, switch to theobjectFieldFilteroption.- Unused
fieldNodesutility functions have been removed. - Unused
typeContainsSelectionSetfunction has been removed, andtypesContainSelectionSethas been moved to thestitchpackage. - Unnecessary
Operationtype has been removed in favor ofOperationTypeNodefrom upstream graphql-js. - As above,
applySchemaTransforms/applyRequestTransforms/applyResultTransformshave been removed from theutilspackage, as they are implemented elsewhere or no longer necessary.
- proxy all the errors: #1047, #1641
- better error handling for merges #2016, #2062
- fix typings #1614
- disable implicit schema pruning #1817
- mocks not working for functions #1807
-
- Updated dependencies [be1a1575]
- @graphql-tools/delegate@7.0.0
- @graphql-tools/schema@7.0.0
- @graphql-tools/utils@7.0.0
- 32c3c4f8: enhance(HoistFields): allow arguments
- 533d6d53: Bump all packages to allow adjustments
- Updated dependencies [32c3c4f8]
- Updated dependencies [32c3c4f8]
- Updated dependencies [533d6d53]
- @graphql-tools/utils@6.2.4
- @graphql-tools/delegate@6.2.4
- @graphql-tools/schema@6.2.4