Update graphqlcodegenerator monorepo to v4 (major) #615
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.3.1
->4.0.0
3.0.4
->4.0.0
3.0.4
->4.0.0
Release Notes
dotansimha/graphql-code-generator (@graphql-codegen/cli)
v4.0.0
Compare Source
Major Changes
bb66c2a31
Thanks @n1ru4l! - Require Node.js>= 16
. Drop support for Node.js 14Patch Changes
#9449
4d9ea1a5a
Thanks @n1ru4l! - dependencies updates:graphql-config@^5.0.0
↗︎ (from^4.5.0
, independencies
)#9449
4d9ea1a5a
Thanks @n1ru4l! - dependencies updates:@graphql-tools/apollo-engine-loader@^8.0.0
↗︎ (from^7.3.6
, independencies
)@graphql-tools/code-file-loader@^8.0.0
↗︎ (from^7.3.17
, independencies
)@graphql-tools/git-loader@^8.0.0
↗︎ (from^7.2.13
, independencies
)@graphql-tools/github-loader@^8.0.0
↗︎ (from^7.3.28
, independencies
)@graphql-tools/graphql-file-loader@^8.0.0
↗︎ (from^7.5.0
, independencies
)@graphql-tools/json-file-loader@^8.0.0
↗︎ (from^7.4.1
, independencies
)@graphql-tools/load@^8.0.0
↗︎ (from^7.8.0
, independencies
)@graphql-tools/prisma-loader@^8.0.0
↗︎ (from^7.2.69
, independencies
)@graphql-tools/url-loader@^8.0.0
↗︎ (from^7.17.17
, independencies
)@graphql-tools/utils@^10.0.0
↗︎ (from^9.0.0
, independencies
)cosmiconfig@^8.1.3
↗︎ (from^7.0.0
, independencies
)graphql-config@^5.0.1
↗︎ (from^4.5.0
, independencies
)#9371
d431f426e
Thanks @Axxxx0n! - Fixed option ignoreNoDocuments when using graphql configs#9275
2a5da5894
Thanks @milesrichardson! - Trigger rebuilds in watch mode while respecting rules of precedence and negation, both in terms of global (top-level) config vs. local (per-output target) config, and in terms of watch patterns (higher priority) vs. documents/schemas (lower priority). This fixes an issue with overly-aggressive rebuilds during watch mode.Updated dependencies [
4d9ea1a5a
,4d9ea1a5a
,f46803a8c
,63827fabe
,bb66c2a31
]:dotansimha/graphql-code-generator (@graphql-codegen/typescript)
v4.0.0
Compare Source
Major Changes
#9375
ba84a3a27
Thanks @eddeee888! - Implement Scalars with input/output typesIn GraphQL, Scalar types can be different for client and server. For example, given the native GraphQL ID:
string
ornumber
in the inputstring
in its selection set (i.e output)string
in the resolver (GraphQL parsesstring
ornumber
received from the client tostring
)string
ornumber
(GraphQL serializes the value tostring
before sending it to the client )Currently, we represent every Scalar with only one type. This is what codegen generates as base type:
Then, this is used in both input and output type e.g.
This PR extends each Scalar to have input and output:
Then, each input/output GraphQL type can correctly refer to the correct input/output scalar type:
Note that for
typescript-resolvers
, the type of ID needs to be inverted. However, the referenced types in GraphQL input/output types should still work correctly:Config changes:
If correctly, wired up, the following will be generated:
BREAKING CHANGE: This changes Scalar types which could be referenced in other plugins. If you are a plugin maintainer and reference Scalar, please update your plugin to use the correct input/output types.
bb66c2a31
Thanks @n1ru4l! - Require Node.js>= 16
. Drop support for Node.js 14Minor Changes
#9196
3848a2b73
Thanks @beerose! - Add@defer
directive supportWhen a query includes a deferred fragment field, the server will return a partial response with the non-deferred fields first, followed by the remaining fields once they have been resolved.
Once start using the
@defer
directive in your queries, the generated code will automatically include support for the directive.The generated type for
GetUserQuery
will have information that the fragment is incremental, meaning it may not be available right away.Apart from generating code that includes support for the
@defer
directive, the Codegen also exports a utility function calledisFragmentReady
. You can use it to conditionally render components based on whether the data for a deferredfragment is available:
#9304
e1dc75f3c
Thanks @esfomeado! - Added support for disabling suffixes on Enums.Patch Changes
4d9ea1a5a
,4d9ea1a5a
,4d9ea1a5a
,f46803a8c
,3848a2b73
,ba84a3a27
,63827fabe
,50471e651
,5aa95aa96
,ca02ad172
,e1dc75f3c
,bb66c2a31
,5950f5a68
,5aa95aa96
]:dotansimha/graphql-code-generator (@graphql-codegen/typescript-operations)
v4.0.0
Compare Source
Major Changes
#9375
ba84a3a27
Thanks @eddeee888! - Implement Scalars with input/output typesIn GraphQL, Scalar types can be different for client and server. For example, given the native GraphQL ID:
string
ornumber
in the inputstring
in its selection set (i.e output)string
in the resolver (GraphQL parsesstring
ornumber
received from the client tostring
)string
ornumber
(GraphQL serializes the value tostring
before sending it to the client )Currently, we represent every Scalar with only one type. This is what codegen generates as base type:
Then, this is used in both input and output type e.g.
This PR extends each Scalar to have input and output:
Then, each input/output GraphQL type can correctly refer to the correct input/output scalar type:
Note that for
typescript-resolvers
, the type of ID needs to be inverted. However, the referenced types in GraphQL input/output types should still work correctly:Config changes:
If correctly, wired up, the following will be generated:
BREAKING CHANGE: This changes Scalar types which could be referenced in other plugins. If you are a plugin maintainer and reference Scalar, please update your plugin to use the correct input/output types.
bb66c2a31
Thanks @n1ru4l! - Require Node.js>= 16
. Drop support for Node.js 14Minor Changes
#9196
3848a2b73
Thanks @beerose! - Add@defer
directive supportWhen a query includes a deferred fragment field, the server will return a partial response with the non-deferred fields first, followed by the remaining fields once they have been resolved.
Once start using the
@defer
directive in your queries, the generated code will automatically include support for the directive.The generated type for
GetUserQuery
will have information that the fragment is incremental, meaning it may not be available right away.Apart from generating code that includes support for the
@defer
directive, the Codegen also exports a utility function calledisFragmentReady
. You can use it to conditionally render components based on whether the data for a deferredfragment is available:
#9304
e1dc75f3c
Thanks @esfomeado! - Added support for disabling suffixes on Enums.Patch Changes
4d9ea1a5a
,4d9ea1a5a
,f46803a8c
,3848a2b73
,ba84a3a27
,63827fabe
,50471e651
,5aa95aa96
,ca02ad172
,e1dc75f3c
,bb66c2a31
,5950f5a68
,5aa95aa96
]:Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.