Node 20 support is dropped in this release. Node 22 comes with require() support for ESM, which
means it's easier to integrate ES modules into applications. Therefore, it is safe to start using
ESM-only packages.
If you are a user, please upgrade to Node 22. If you are a lib maintainer and see ESM vs CJS
issues when running Jest tests, try using Vitest.
When multiple files match documents pattern, and there are syntax errors in some but not others,
then the operations with errors are not included in the loaded documents list by default
(noSilentErrors: false). This is annoying for users as there is no feedback loop during
development.
noSilentErrors: true is used as the default for Codegen users to make the feedback loop faster.
It can still overriden in Codegen Config if desired.
Node 20 support is dropped in this release. Node 22 comes with require() support for ESM, which
means it's easier to integrate ES modules into applications. Therefore, it is safe to start using
ESM-only packages.
If you are a user, please upgrade to Node 22. If you are a lib maintainer and see ESM vs CJS
issues when running Jest tests, try using Vitest.
#10496 afaace6
Thanks @eddeee888! - BREAKING CHANGE: visitors' config option are
moved based on their use case
addTypename/skipTypename: is only a types-visitor concern. This is moved to types-visitor from
base-visitor
nonOptionalTypename: is a documents-visitor and types-visitor concern. Moved from base-visitor
there
extractAllFieldsToTypes: is a documents-visitor concern. Moved from base-visitor there
enumPrefix and enumSuffix: need to be in base-visitor as all 3 types of visitors need this to
correctly sync the enum type names. This is moved to base visitor
ignoreEnumValuesFromSchema: is a documents-visitor and types-visitor concern. Moved from
base-visitor there.
globalNamespace: is a documents-visitor concern. Moved from base-visitor there
Refactors
documents-visitor no longer extends types-visitor option types as they have two distinct
usages now. The types now extend base-visitor types. This is now consistent with
documents-visitor extending base-visitor
Classes now handle config parsing and types at the same level e.g. if typescript-operations
plugin parses configOne, then the types for configOne must be in that class, rather than in
base-documents-visitor
Note: These visitors are rolled up into one type for simplicity
base-visitor: includes base-visitor
documents-visitor: includes base-documents-visitor and typescript-operations visitor
types-visitor: includes base-types-visitor and typescript visitor
resolvers-visitor: includes base-resolvers-visitor and typescript-resolvers visitor
#10496 afaace6
Thanks @eddeee888! - BREAKING CHANGE: make unknown instead of any the default custom scalar type
Node 20 support is dropped in this release. Node 22 comes with require() support for ESM, which
means it's easier to integrate ES modules into applications. Therefore, it is safe to start using
ESM-only packages.
If you are a user, please upgrade to Node 22. If you are a lib maintainer and see ESM vs CJS
issues when running Jest tests, try using Vitest.
#10496 afaace6
Thanks @eddeee888! - BREAKING CHANGE: typescript plugin no
longer generates Exact utility type. Instead, typescript-operations generates said utility
type for every file it creates. This is because it is used only for Variables, so we only need
to generate it once for every generated operation file.
#10496 afaace6
Thanks @eddeee888! - BREAKING CHANGE: Remove unused utility types
from typescript plugin as they were previously used for typescript-operations plugin:
MakeOptional
MakeMaybe
MakeEmpty
Incremental
BREAKING CHANGE: Remove getRootTypeNames function because it's available in @graphql-utils/tools and not used anywhere
Minor Changes
#10496 afaace6
Thanks @eddeee888! - The typescript-operations plugin no longer
generates InputMaybe and Scalars types; it now uses native Typescript types instead.
#10496 afaace6
Thanks @eddeee888! - Extract utilities from base-type-visitor to
be shared with other plugins later: convertSchemaEnumToDeclarationBlockString, getNodeComment
Previously, a nullable Result field is generated as optional (marked by ? TypeScript modifier)
by default. This is not correct, because generally at runtime such field can only be null, and
not undefined (both missing from the object OR undefined). The only exceptions are when fields
are deferred (using @defer directive) or marked as conditional (using @skip or @include).
Now, a nullable Result field cannot be optional unless the exceptions are met. This also limits avoidOptionals to only target Variables input, since some users may want to force explicit null when providing operation variables.
#10496 afaace6
Thanks @eddeee888! - BREAKING CHANGE: visitors' config option are
moved based on their use case
addTypename/skipTypename: is only a types-visitor concern. This is moved to types-visitor from
base-visitor
nonOptionalTypename: is a documents-visitor and types-visitor concern. Moved from base-visitor
there
extractAllFieldsToTypes: is a documents-visitor concern. Moved from base-visitor there
enumPrefix and enumSuffix: need to be in base-visitor as all 3 types of visitors need this to
correctly sync the enum type names. This is moved to base visitor
ignoreEnumValuesFromSchema: is a documents-visitor and types-visitor concern. Moved from
base-visitor there.
globalNamespace: is a documents-visitor concern. Moved from base-visitor there
Refactors
documents-visitor no longer extends types-visitor option types as they have two distinct
usages now. The types now extend base-visitor types. This is now consistent with
documents-visitor extending base-visitor
Classes now handle config parsing and types at the same level e.g. if typescript-operations
plugin parses configOne, then the types for configOne must be in that class, rather than in
base-documents-visitor
Note: These visitors are rolled up into one type for simplicity
base-visitor: includes base-visitor
documents-visitor: includes base-documents-visitor and typescript-operations visitor
types-visitor: includes base-types-visitor and typescript visitor
resolvers-visitor: includes base-resolvers-visitor and typescript-resolvers visitor
#10496 afaace6
Thanks @eddeee888! - BREAKING CHANGE: typescript-operations plugin
now generates enum if it is used in operation.
#10496 afaace6
Thanks @eddeee888! - Conditionally generate input types and output
enums into target file
#10496 afaace6
Thanks @eddeee888! - BREAKING CHANGE: make unknown instead of any the default custom scalar type
Node 20 support is dropped in this release. Node 22 comes with require() support for ESM, which
means it's easier to integrate ES modules into applications. Therefore, it is safe to start using
ESM-only packages.
If you are a user, please upgrade to Node 22. If you are a lib maintainer and see ESM vs CJS
issues when running Jest tests, try using Vitest.
Previously, TypeScriptOperationVariablesToObject from typescript-operations was extending from typescript plugin. This made it (1) very hard to read, as we need to jump from base class <->
typescript class <-> typescript-operations class to understand the flow and (2) very hard to
evolve the two independently (which is the point of this work).
Since there's not much shared logic anyways, it's simpler to extend the typescript-operations
class from the base class directly.
#10496 afaace6
Thanks @eddeee888! - The typescript-operations plugin no longer
generates InputMaybe and Scalars types; it now uses native Typescript types instead.
#10496 afaace6
Thanks @eddeee888! - BREAKING CHANGE: typescript plugin no
longer generates Exact utility type. Instead, typescript-operations generates said utility
type for every file it creates. This is because it is used only for Variables, so we only need
to generate it once for every generated operation file.
#10496 afaace6
Thanks @eddeee888! - BREAKING CHANGE: Operation plugin and Client
Preset no longer generates optional __typename for result type
__typenam should not be in the request unless:
explicitly requested by the user
automatically injected into the request by clients, such as Apollo Clients.
Note: Apollo Client users can still use nonOptionalTypename: true and skipTypeNameForRoot: true to ensure generated types match the runtime behaviour.
Variables: no support. It must always be type because it's an alias e.g. Variables = Exact<{ something: type }>
Result: can only be type or interface
Note: when extractAllFieldsToTypes:true or extractAllFieldsToTypesCompact:true, Results
are used as type alias, so they are forced to be type. There is a console warning for users.
#10496 afaace6
Thanks @eddeee888! - Add generateOperationTypes to
typescript-operations to allow omitting operation types such as Variables,
Query/Mutation/Subscription selection set, and Fragment types
#10496 afaace6
Thanks @eddeee888! - Fixing 2 bugs: 1) including enums from
external fragments; 2) extractAllFieldsToTypesCompact does not create duplicates
Exact utility is only used to wrap variables types for operations (queries, mutations and
subscriptions) if they exist in the document. Exact is never used when there are only
fragments.
This is important to conditionally generate as users may use very strict tsconfig that will fail
compiling if there are unused types.
#10496 afaace6
Thanks @eddeee888! - Ensure Input and Variables use the same input
scalars default e.g. ID can take string | number
#10496 afaace6
Thanks @eddeee888! - Fix @skip and @include not applying
conditional modifiers correctly when used on inline fragment
#10496 afaace6
Thanks @eddeee888! - Abstract how enum imports are generated into
visitor-plugin-common package
#10496 afaace6
Thanks @eddeee888! - Fix @skip and @include not applying
conditional modifiers correctly when used on fragment sread, and @defer fragments
#10496 afaace6
Thanks @eddeee888! - Fix importing issue of Input when
importSchemaTypesFrom is used
#10496 afaace6
Thanks @eddeee888! - Fix namingConvention not being applied
consistently in imports, Variables, Input and Result
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@graphql-codegen/cli](https://github.com/dotansimha/graphql-code-generator) ([source](https://github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/graphql-codegen-cli)) | [`6.3.1` → `7.0.0`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fcli/6.3.1/7.0.0) |  |  |
| [@graphql-codegen/typed-document-node](https://github.com/dotansimha/graphql-code-generator) ([source](https://github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/typed-document-node)) | [`6.1.8` → `7.0.0`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftyped-document-node/6.1.8/7.0.0) |  |  |
| [@graphql-codegen/typescript](https://github.com/dotansimha/graphql-code-generator) ([source](https://github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/typescript)) | [`5.0.10` → `6.0.0`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript/5.0.10/6.0.0) |  |  |
| [@graphql-codegen/typescript-operations](https://github.com/dotansimha/graphql-code-generator) ([source](https://github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/operations)) | [`5.1.0` → `6.0.0`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript-operations/5.1.0/6.0.0) |  |  |
---
### Release Notes
<details>
<summary>dotansimha/graphql-code-generator (@​graphql-codegen/cli)</summary>
### [`v7.0.0`](https://github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/graphql-codegen-cli/CHANGELOG.md#700)
[Compare Source](https://github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/cli@6.3.1...@graphql-codegen/cli@7.0.0)
##### Major Changes
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: Update deps to latest, some
only support ESM
Node 20 support is dropped in this release. Node 22 comes with `require()` support for ESM, which
means it's easier to integrate ES modules into applications. Therefore, it is safe to start using
ESM-only packages.
If you are a user, please upgrade to Node 22. If you are a lib maintainer and see ESM vs CJS
issues when running Jest tests, try using Vitest.
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: Drop Node 20 support
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: Set `noSilentErrors: true`
by default
When multiple files match documents pattern, and there are syntax errors in some but not others,
then the operations with errors are not included in the loaded documents list by default
(`noSilentErrors: false`). This is annoying for users as there is no feedback loop during
development.
`noSilentErrors: true` is used as the default for Codegen users to make the feedback loop faster.
It can still overriden in Codegen Config if desired.
##### Patch Changes
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - dependencies updates:
- Updated dependency
[`@inquirer/prompts@^8.3.2` ↗︎](https://www.npmjs.com/package/@​inquirer/prompts/v/8.3.2) (from
`^7.8.2`, in `dependencies`)
- Updated dependency [`chalk@^5.6.0` ↗︎](https://www.npmjs.com/package/chalk/v/5.6.0) (from
`^4.1.0`, in `dependencies`)
- Updated dependency [`debounce@^3.0.0` ↗︎](https://www.npmjs.com/package/debounce/v/3.0.0) (from
`^2.0.0`, in `dependencies`)
- Updated dependency
[`detect-indent@^7.0.0` ↗︎](https://www.npmjs.com/package/detect-indent/v/7.0.0) (from `^6.0.0`,
in `dependencies`)
- Updated dependency [`listr2@​^10.2.1` ↗︎](https://www.npmjs.com/package/listr2/v/10.2.1) (from
`^9.0.0`, in `dependencies`)
- Updated dependency [`log-symbols@^7.0.0` ↗︎](https://www.npmjs.com/package/log-symbols/v/7.0.0)
(from `^4.0.0`, in `dependencies`)
- Updated dependency [`ts-log@^3.0.0` ↗︎](https://www.npmjs.com/package/ts-log/v/3.0.0) (from
`^2.2.3`, in `dependencies`)
- Updated dependency [`yargs@^18.0.0` ↗︎](https://www.npmjs.com/package/yargs/v/18.0.0) (from
`^17.0.0`, in `dependencies`)
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - dependencies updates:
- Updated dependency [`chalk@^5.6.0` ↗︎](https://www.npmjs.com/package/chalk/v/5.6.0) (from
`^4.1.0`, in `dependencies`)
- Updated dependency [`debounce@^3.0.0` ↗︎](https://www.npmjs.com/package/debounce/v/3.0.0) (from
`^2.0.0`, in `dependencies`)
- Updated dependency
[`detect-indent@^7.0.0` ↗︎](https://www.npmjs.com/package/detect-indent/v/7.0.0) (from `^6.0.0`,
in `dependencies`)
- Updated dependency [`listr2@​^10.2.1` ↗︎](https://www.npmjs.com/package/listr2/v/10.2.1) (from
`^9.0.0`, in `dependencies`)
- Updated dependency [`log-symbols@^7.0.0` ↗︎](https://www.npmjs.com/package/log-symbols/v/7.0.0)
(from `^4.0.0`, in `dependencies`)
- Updated dependency [`ts-log@^3.0.0` ↗︎](https://www.npmjs.com/package/ts-log/v/3.0.0) (from
`^2.2.3`, in `dependencies`)
- Updated dependency [`yargs@^18.0.0` ↗︎](https://www.npmjs.com/package/yargs/v/18.0.0) (from
`^17.0.0`, in `dependencies`)
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - dependencies updates:
- Updated dependency
[`@inquirer/prompts@^8.3.2` ↗︎](https://www.npmjs.com/package/@​inquirer/prompts/v/8.3.2) (from
`^7.8.2`, in `dependencies`)
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Use ESM for CLI instead of CJS;
For backwards compatibility; `graphql-codegen-esm` is reserved, and also `graphql-codegen-cjs` is
added for users who want to use CJS.
So the commands are;
- `graphql-codegen` - ESM version, default
- `graphql-codegen-esm` - ESM version, same as above, but reserved for backwards compatibility
- `graphql-codegen-cjs` - CJS version, for users who want to use CJS, but not recommended for new
users. Will be removed in the future.
- `gql-gen` - ESM version, same as `graphql-codegen`
- `graphql-code-generator` - ESM version, same as `graphql-codegen` and `gql-gen`
- Updated dependencies
\[[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)]:
- [@​graphql-codegen/client-preset](https://github.com/graphql-codegen/client-preset)@​6.0.0
- [@​graphql-codegen/plugin-helpers](https://github.com/graphql-codegen/plugin-helpers)@​7.0.0
- [@​graphql-codegen/core](https://github.com/graphql-codegen/core)@​6.0.0
</details>
<details>
<summary>dotansimha/graphql-code-generator (@​graphql-codegen/typed-document-node)</summary>
### [`v7.0.0`](https://github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/plugins/typescript/typed-document-node/CHANGELOG.md#700)
[Compare Source](https://github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/typed-document-node@6.1.8...@graphql-codegen/typed-document-node@7.0.0)
##### Major Changes
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: Update deps to latest, some
only support ESM
Node 20 support is dropped in this release. Node 22 comes with `require()` support for ESM, which
means it's easier to integrate ES modules into applications. Therefore, it is safe to start using
ESM-only packages.
If you are a user, please upgrade to Node 22. If you are a lib maintainer and see ESM vs CJS
issues when running Jest tests, try using Vitest.
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: Drop Node 20 support
##### Patch Changes
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - dependencies updates:
- Updated dependency [`auto-bind@^5.0.0` ↗︎](https://www.npmjs.com/package/auto-bind/v/5.0.0) (from
`~4.0.0`, in `dependencies`)
- Updated dependency
[`change-case-all@^2.1.0` ↗︎](https://www.npmjs.com/package/change-case-all/v/2.1.0) (from
`1.0.15`, in `dependencies`)
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - dependencies updates:
- Updated dependency
[`change-case-all@^2.1.0` ↗︎](https://www.npmjs.com/package/change-case-all/v/2.1.0) (from
`1.0.15`, in `dependencies`)
- Updated dependency [`auto-bind@^5.0.0` ↗︎](https://www.npmjs.com/package/auto-bind/v/5.0.0) (from
`~4.0.0`, in `dependencies`)
- Updated dependencies
\[[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)]:
- [@​graphql-codegen/plugin-helpers](https://github.com/graphql-codegen/plugin-helpers)@​7.0.0
- [@​graphql-codegen/visitor-plugin-common](https://github.com/graphql-codegen/visitor-plugin-common)@​7.0.0
</details>
<details>
<summary>dotansimha/graphql-code-generator (@​graphql-codegen/typescript)</summary>
### [`v6.0.0`](https://github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/plugins/typescript/typescript/CHANGELOG.md#600)
[Compare Source](https://github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/typescript@5.0.10...@graphql-codegen/typescript@6.0.0)
##### Major Changes
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: visitors' config option are
moved based on their use case
- addTypename/skipTypename: is only a types-visitor concern. This is moved to types-visitor from
base-visitor
- nonOptionalTypename: is a documents-visitor and types-visitor concern. Moved from base-visitor
there
- extractAllFieldsToTypes: is a documents-visitor concern. Moved from base-visitor there
- enumPrefix and enumSuffix: need to be in base-visitor as all 3 types of visitors need this to
correctly sync the enum type names. This is moved to base visitor
- ignoreEnumValuesFromSchema: is a documents-visitor and types-visitor concern. Moved from
base-visitor there.
- globalNamespace: is a documents-visitor concern. Moved from base-visitor there
Refactors
- documents-visitor no longer extends types-visitor *option types* as they have two distinct
usages now. The types now extend base-visitor types. This is now consistent with
documents-visitor extending base-visitor
- Classes now handle config parsing and types at the same level e.g. if typescript-operations
plugin parses configOne, then the types for configOne must be in that class, rather than in
base-documents-visitor
Note: These visitors are rolled up into one type for simplicity
- base-visitor: includes `base-visitor`
- documents-visitor: includes `base-documents-visitor` and `typescript-operations` visitor
- types-visitor: includes `base-types-visitor` and `typescript` visitor
- resolvers-visitor: includes `base-resolvers-visitor` and `typescript-resolvers` visitor
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: make `unknown` instead of
`any` the default custom scalar type
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: Update deps to latest, some
only support ESM
Node 20 support is dropped in this release. Node 22 comes with `require()` support for ESM, which
means it's easier to integrate ES modules into applications. Therefore, it is safe to start using
ESM-only packages.
If you are a user, please upgrade to Node 22. If you are a lib maintainer and see ESM vs CJS
issues when running Jest tests, try using Vitest.
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: Drop Node 20 support
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: `typescript` plugin no
longer generates `Exact` utility type. Instead, `typescript-operations` generates said utility
type for every file it creates. This is because it is used *only* for `Variables`, so we only need
to generate it once for every generated operation file.
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: Remove unused utility types
from `typescript` plugin as they were previously used for `typescript-operations` plugin:
- `MakeOptional`
- `MakeMaybe`
- `MakeEmpty`
- `Incremental`
BREAKING CHANGE: Remove `getRootTypeNames` function because it's available in
`@graphql-utils/tools` and not used anywhere
##### Minor Changes
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - The `typescript-operations` plugin no longer
generates InputMaybe and Scalars types; it now uses native Typescript types instead.
##### Patch Changes
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - dependencies updates:
- Updated dependency [`auto-bind@^5.0.0` ↗︎](https://www.npmjs.com/package/auto-bind/v/5.0.0) (from
`~4.0.0`, in `dependencies`)
- Updated dependency [`tslib@~2.6.0` ↗︎](https://www.npmjs.com/package/tslib/v/2.6.0) (from
`^2.8.0`, in `dependencies`)
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - dependencies updates:
- Updated dependency [`auto-bind@^5.0.0` ↗︎](https://www.npmjs.com/package/auto-bind/v/5.0.0) (from
`~4.0.0`, in `dependencies`)
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Extract utilities from base-type-visitor to
be shared with other plugins later: convertSchemaEnumToDeclarationBlockString, getNodeComment
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Fix namingConvention not being applied
consistently
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Abstract how enum imports are generated into
visitor-plugin-common package
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Fix namingConvention not being applied
consistently in imports, Variables, Input and Result
- Updated dependencies
\[[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)]:
- [@​graphql-codegen/plugin-helpers](https://github.com/graphql-codegen/plugin-helpers)@​7.0.0
- [@​graphql-codegen/visitor-plugin-common](https://github.com/graphql-codegen/visitor-plugin-common)@​7.0.0
- [@​graphql-codegen/schema-ast](https://github.com/graphql-codegen/schema-ast)@​6.0.0
</details>
<details>
<summary>dotansimha/graphql-code-generator (@​graphql-codegen/typescript-operations)</summary>
### [`v6.0.0`](https://github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/plugins/typescript/operations/CHANGELOG.md#600)
[Compare Source](https://github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/typescript-operations@5.1.0...@graphql-codegen/typescript-operations@6.0.0)
##### Major Changes
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Fix nullable field optionality in operations
Previously, a nullable Result field is generated as optional (marked by `?` TypeScript modifier)
by default. This is not correct, because generally at runtime such field can only be `null`, and
not `undefined` (both missing from the object OR `undefined`). The only exceptions are when fields
are deferred (using `@defer` directive) or marked as conditional (using `@skip` or `@include`).
Now, a nullable Result field cannot be optional unless the exceptions are met. This also limits
`avoidOptionals` to only target Variables input, since some users may want to force explicit
`null` when providing operation variables.
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: visitors' config option are
moved based on their use case
- addTypename/skipTypename: is only a types-visitor concern. This is moved to types-visitor from
base-visitor
- nonOptionalTypename: is a documents-visitor and types-visitor concern. Moved from base-visitor
there
- extractAllFieldsToTypes: is a documents-visitor concern. Moved from base-visitor there
- enumPrefix and enumSuffix: need to be in base-visitor as all 3 types of visitors need this to
correctly sync the enum type names. This is moved to base visitor
- ignoreEnumValuesFromSchema: is a documents-visitor and types-visitor concern. Moved from
base-visitor there.
- globalNamespace: is a documents-visitor concern. Moved from base-visitor there
Refactors
- documents-visitor no longer extends types-visitor *option types* as they have two distinct
usages now. The types now extend base-visitor types. This is now consistent with
documents-visitor extending base-visitor
- Classes now handle config parsing and types at the same level e.g. if typescript-operations
plugin parses configOne, then the types for configOne must be in that class, rather than in
base-documents-visitor
Note: These visitors are rolled up into one type for simplicity
- base-visitor: includes `base-visitor`
- documents-visitor: includes `base-documents-visitor` and `typescript-operations` visitor
- types-visitor: includes `base-types-visitor` and `typescript` visitor
- resolvers-visitor: includes `base-resolvers-visitor` and `typescript-resolvers` visitor
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: typescript-operations plugin
now generates enum if it is used in operation.
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Conditionally generate input types and output
enums into target file
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: make `unknown` instead of
`any` the default custom scalar type
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: Update deps to latest, some
only support ESM
Node 20 support is dropped in this release. Node 22 comes with `require()` support for ESM, which
means it's easier to integrate ES modules into applications. Therefore, it is safe to start using
ESM-only packages.
If you are a user, please upgrade to Node 22. If you are a lib maintainer and see ESM vs CJS
issues when running Jest tests, try using Vitest.
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: Drop Node 20 support
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: Decouple
`typescript-operations` plugin from `typescript` plugin
Previously, `TypeScriptOperationVariablesToObject` from `typescript-operations` was extending from
`typescript` plugin. This made it (1) very hard to read, as we need to jump from base class <->
typescript class <-> typescript-operations class to understand the flow and (2) very hard to
evolve the two independently (which is the point of this work).
Since there's not much shared logic anyways, it's simpler to extend the `typescript-operations`
class from the base class directly.
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - The `typescript-operations` plugin no longer
generates InputMaybe and Scalars types; it now uses native Typescript types instead.
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: `typescript` plugin no
longer generates `Exact` utility type. Instead, `typescript-operations` generates said utility
type for every file it creates. This is because it is used *only* for `Variables`, so we only need
to generate it once for every generated operation file.
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: Operation plugin and Client
Preset no longer generates optional `__typename` for result type
`__typenam` should not be in the request unless:
- explicitly requested by the user
- automatically injected into the request by clients, such as Apollo Clients.
Note: Apollo Client users can still use `nonOptionalTypename: true` and
`skipTypeNameForRoot: true` to ensure generated types match the runtime behaviour.
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Integrate new typescript-operations into
client-preset
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: config.avoidOptionals now
only supports object, inputValue, defaultValue
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - BREAKING CHANGE: rename avoidOptionals.object
to avoidOptionals.variableValue
##### Minor Changes
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Add support for declarationKind for
typescript-operations
- Input: can only be `type` or `interface`
- Variables: no support. It must always be `type` because it's an alias e.g.
`Variables = Exact<{ something: type }>`
- Result: can only be `type` or `interface`
- Note: when `extractAllFieldsToTypes:true` or `extractAllFieldsToTypesCompact:true`, Results
are used as type alias, so they are forced to be `type`. There is a console warning for users.
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Add importSchemaTypesFrom support
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Add generateOperationTypes to
typescript-operations to allow omitting operation types such as Variables,
Query/Mutation/Subscription selection set, and Fragment types
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Fixing 2 bugs: 1) including enums from
external fragments; 2) extractAllFieldsToTypesCompact does not create duplicates
##### Patch Changes
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - dependencies updates:
- Updated dependency [`auto-bind@^5.0.0` ↗︎](https://www.npmjs.com/package/auto-bind/v/5.0.0) (from
`~4.0.0`, in `dependencies`)
- Added dependency
[`@graphql-codegen/schema-ast@^5.0.1` ↗︎](https://www.npmjs.com/package/@​graphql-codegen/schema-ast/v/5.0.1)
(to `dependencies`)
- Removed dependency
[`@graphql-codegen/typescript@^5.0.10` ↗︎](https://www.npmjs.com/package/@​graphql-codegen/typescript/v/5.0.10)
(from `dependencies`)
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - dependencies updates:
- Added dependency
[`@graphql-codegen/schema-ast@^5.0.0` ↗︎](https://www.npmjs.com/package/@​graphql-codegen/schema-ast/v/5.0.0)
(to `dependencies`)
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - dependencies updates:
- Removed dependency
[`@graphql-codegen/typescript@^5.0.7` ↗︎](https://www.npmjs.com/package/@​graphql-codegen/typescript/v/5.0.7)
(from `dependencies`)
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - dependencies updates:
- Updated dependency [`auto-bind@^5.0.0` ↗︎](https://www.npmjs.com/package/auto-bind/v/5.0.0) (from
`~4.0.0`, in `dependencies`)
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Improve `namespacedImportName` usability by
setting a default when `importSchemaTypesFrom` is set
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Add internal utility type warning to deter
usage
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Add `printTypeScriptMaybeType` to handle
printing TS types, as there are special cases like `any` and `unknown`
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Re-implement inputMaybeValue
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Only generate `Exact` utility type at the top
if it is used
`Exact` utility is only used to wrap variables types for operations (queries, mutations and
subscriptions) if they exist in the document. `Exact` is never used when there are *only*
fragments.
This is important to conditionally generate as users may use very strict tsconfig that will fail
compiling if there are unused types.
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Fix external custom scalars not getting
imported
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Ensure Input and Variables use the same input
scalars default e.g. `ID` can take `string | number`
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Fix `@skip` and `@include` not applying
conditional modifiers correctly when used on inline fragment
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Abstract how enum imports are generated into
visitor-plugin-common package
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Fix `@skip` and `@include` not applying
conditional modifiers correctly when used on fragment sread, and `@defer` fragments
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Fix importing issue of Input when
importSchemaTypesFrom is used
- [#​10496](https://github.com/dotansimha/graphql-code-generator/pull/10496)
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)
Thanks [@​eddeee888](https://github.com/eddeee888)! - Fix namingConvention not being applied
consistently in imports, Variables, Input and Result
- Updated dependencies
\[[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29),
[`afaace6`](https://github.com/dotansimha/graphql-code-generator/commit/afaace6bb1467793ea8fcda01a6a793e844e0c29)]:
- [@​graphql-codegen/plugin-helpers](https://github.com/graphql-codegen/plugin-helpers)@​7.0.0
- [@​graphql-codegen/visitor-plugin-common](https://github.com/graphql-codegen/visitor-plugin-common)@​7.0.0
- [@​graphql-codegen/schema-ast](https://github.com/graphql-codegen/schema-ast)@​6.0.0
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- 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.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE0MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
6.3.1→7.0.06.1.8→7.0.05.0.10→6.0.05.1.0→6.0.0Release Notes
dotansimha/graphql-code-generator (@graphql-codegen/cli)
v7.0.0Compare Source
Major Changes
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Update deps to latest, some
only support ESM
Node 20 support is dropped in this release. Node 22 comes with
require()support for ESM, whichmeans it's easier to integrate ES modules into applications. Therefore, it is safe to start using
ESM-only packages.
If you are a user, please upgrade to Node 22. If you are a lib maintainer and see ESM vs CJS
issues when running Jest tests, try using Vitest.
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Drop Node 20 support
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Set
noSilentErrors: trueby default
When multiple files match documents pattern, and there are syntax errors in some but not others,
then the operations with errors are not included in the loaded documents list by default
(
noSilentErrors: false). This is annoying for users as there is no feedback loop duringdevelopment.
noSilentErrors: trueis used as the default for Codegen users to make the feedback loop faster.It can still overriden in Codegen Config if desired.
Patch Changes
#10496
afaace6Thanks @eddeee888! - dependencies updates:
@inquirer/prompts@^8.3.2↗︎ (from^7.8.2, independencies)chalk@^5.6.0↗︎ (from^4.1.0, independencies)debounce@^3.0.0↗︎ (from^2.0.0, independencies)detect-indent@^7.0.0↗︎ (from^6.0.0,in
dependencies)listr2@​^10.2.1↗︎ (from^9.0.0, independencies)log-symbols@^7.0.0↗︎(from
^4.0.0, independencies)ts-log@^3.0.0↗︎ (from^2.2.3, independencies)yargs@^18.0.0↗︎ (from^17.0.0, independencies)#10496
afaace6Thanks @eddeee888! - dependencies updates:
chalk@^5.6.0↗︎ (from^4.1.0, independencies)debounce@^3.0.0↗︎ (from^2.0.0, independencies)detect-indent@^7.0.0↗︎ (from^6.0.0,in
dependencies)listr2@​^10.2.1↗︎ (from^9.0.0, independencies)log-symbols@^7.0.0↗︎(from
^4.0.0, independencies)ts-log@^3.0.0↗︎ (from^2.2.3, independencies)yargs@^18.0.0↗︎ (from^17.0.0, independencies)#10496
afaace6Thanks @eddeee888! - dependencies updates:
@inquirer/prompts@^8.3.2↗︎ (from^7.8.2, independencies)#10496
afaace6Thanks @eddeee888! - Use ESM for CLI instead of CJS;
For backwards compatibility;
graphql-codegen-esmis reserved, and alsographql-codegen-cjsisadded for users who want to use CJS.
So the commands are;
graphql-codegen- ESM version, defaultgraphql-codegen-esm- ESM version, same as above, but reserved for backwards compatibilitygraphql-codegen-cjs- CJS version, for users who want to use CJS, but not recommended for newusers. Will be removed in the future.
gql-gen- ESM version, same asgraphql-codegengraphql-code-generator- ESM version, same asgraphql-codegenandgql-genUpdated dependencies
[
afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6]:dotansimha/graphql-code-generator (@graphql-codegen/typed-document-node)
v7.0.0Compare Source
Major Changes
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Update deps to latest, some
only support ESM
Node 20 support is dropped in this release. Node 22 comes with
require()support for ESM, whichmeans it's easier to integrate ES modules into applications. Therefore, it is safe to start using
ESM-only packages.
If you are a user, please upgrade to Node 22. If you are a lib maintainer and see ESM vs CJS
issues when running Jest tests, try using Vitest.
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Drop Node 20 support
Patch Changes
#10496
afaace6Thanks @eddeee888! - dependencies updates:
auto-bind@^5.0.0↗︎ (from~4.0.0, independencies)change-case-all@^2.1.0↗︎ (from1.0.15, independencies)#10496
afaace6Thanks @eddeee888! - dependencies updates:
change-case-all@^2.1.0↗︎ (from1.0.15, independencies)auto-bind@^5.0.0↗︎ (from~4.0.0, independencies)Updated dependencies
[
afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6]:dotansimha/graphql-code-generator (@graphql-codegen/typescript)
v6.0.0Compare Source
Major Changes
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: visitors' config option are
moved based on their use case
base-visitor
there
correctly sync the enum type names. This is moved to base visitor
base-visitor there.
Refactors
usages now. The types now extend base-visitor types. This is now consistent with
documents-visitor extending base-visitor
plugin parses configOne, then the types for configOne must be in that class, rather than in
base-documents-visitor
Note: These visitors are rolled up into one type for simplicity
base-visitorbase-documents-visitorandtypescript-operationsvisitorbase-types-visitorandtypescriptvisitorbase-resolvers-visitorandtypescript-resolversvisitor#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: make
unknowninstead ofanythe default custom scalar type#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Update deps to latest, some
only support ESM
Node 20 support is dropped in this release. Node 22 comes with
require()support for ESM, whichmeans it's easier to integrate ES modules into applications. Therefore, it is safe to start using
ESM-only packages.
If you are a user, please upgrade to Node 22. If you are a lib maintainer and see ESM vs CJS
issues when running Jest tests, try using Vitest.
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Drop Node 20 support
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE:
typescriptplugin nolonger generates
Exactutility type. Instead,typescript-operationsgenerates said utilitytype for every file it creates. This is because it is used only for
Variables, so we only needto generate it once for every generated operation file.
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Remove unused utility types
from
typescriptplugin as they were previously used fortypescript-operationsplugin:MakeOptionalMakeMaybeMakeEmptyIncrementalBREAKING CHANGE: Remove
getRootTypeNamesfunction because it's available in@graphql-utils/toolsand not used anywhereMinor Changes
afaace6Thanks @eddeee888! - The
typescript-operationsplugin no longergenerates InputMaybe and Scalars types; it now uses native Typescript types instead.
Patch Changes
#10496
afaace6Thanks @eddeee888! - dependencies updates:
auto-bind@^5.0.0↗︎ (from~4.0.0, independencies)tslib@~2.6.0↗︎ (from^2.8.0, independencies)#10496
afaace6Thanks @eddeee888! - dependencies updates:
auto-bind@^5.0.0↗︎ (from~4.0.0, independencies)#10496
afaace6Thanks @eddeee888! - Extract utilities from base-type-visitor to
be shared with other plugins later: convertSchemaEnumToDeclarationBlockString, getNodeComment
#10496
afaace6Thanks @eddeee888! - Fix namingConvention not being applied
consistently
#10496
afaace6Thanks @eddeee888! - Abstract how enum imports are generated into
visitor-plugin-common package
#10496
afaace6Thanks @eddeee888! - Fix namingConvention not being applied
consistently in imports, Variables, Input and Result
Updated dependencies
[
afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6]:dotansimha/graphql-code-generator (@graphql-codegen/typescript-operations)
v6.0.0Compare Source
Major Changes
#10496
afaace6Thanks @eddeee888! - Fix nullable field optionality in operations
Previously, a nullable Result field is generated as optional (marked by
?TypeScript modifier)by default. This is not correct, because generally at runtime such field can only be
null, andnot
undefined(both missing from the object ORundefined). The only exceptions are when fieldsare deferred (using
@deferdirective) or marked as conditional (using@skipor@include).Now, a nullable Result field cannot be optional unless the exceptions are met. This also limits
avoidOptionalsto only target Variables input, since some users may want to force explicitnullwhen providing operation variables.#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: visitors' config option are
moved based on their use case
base-visitor
there
correctly sync the enum type names. This is moved to base visitor
base-visitor there.
Refactors
usages now. The types now extend base-visitor types. This is now consistent with
documents-visitor extending base-visitor
plugin parses configOne, then the types for configOne must be in that class, rather than in
base-documents-visitor
Note: These visitors are rolled up into one type for simplicity
base-visitorbase-documents-visitorandtypescript-operationsvisitorbase-types-visitorandtypescriptvisitorbase-resolvers-visitorandtypescript-resolversvisitor#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: typescript-operations plugin
now generates enum if it is used in operation.
#10496
afaace6Thanks @eddeee888! - Conditionally generate input types and output
enums into target file
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: make
unknowninstead ofanythe default custom scalar type#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Update deps to latest, some
only support ESM
Node 20 support is dropped in this release. Node 22 comes with
require()support for ESM, whichmeans it's easier to integrate ES modules into applications. Therefore, it is safe to start using
ESM-only packages.
If you are a user, please upgrade to Node 22. If you are a lib maintainer and see ESM vs CJS
issues when running Jest tests, try using Vitest.
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Drop Node 20 support
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Decouple
typescript-operationsplugin fromtypescriptpluginPreviously,
TypeScriptOperationVariablesToObjectfromtypescript-operationswas extending fromtypescriptplugin. This made it (1) very hard to read, as we need to jump from base class <->typescript class <-> typescript-operations class to understand the flow and (2) very hard to
evolve the two independently (which is the point of this work).
Since there's not much shared logic anyways, it's simpler to extend the
typescript-operationsclass from the base class directly.
#10496
afaace6Thanks @eddeee888! - The
typescript-operationsplugin no longergenerates InputMaybe and Scalars types; it now uses native Typescript types instead.
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE:
typescriptplugin nolonger generates
Exactutility type. Instead,typescript-operationsgenerates said utilitytype for every file it creates. This is because it is used only for
Variables, so we only needto generate it once for every generated operation file.
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Operation plugin and Client
Preset no longer generates optional
__typenamefor result type__typenamshould not be in the request unless:Note: Apollo Client users can still use
nonOptionalTypename: trueandskipTypeNameForRoot: trueto ensure generated types match the runtime behaviour.#10496
afaace6Thanks @eddeee888! - Integrate new typescript-operations into
client-preset
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: config.avoidOptionals now
only supports object, inputValue, defaultValue
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: rename avoidOptionals.object
to avoidOptionals.variableValue
Minor Changes
#10496
afaace6Thanks @eddeee888! - Add support for declarationKind for
typescript-operations
typeorinterfacetypebecause it's an alias e.g.Variables = Exact<{ something: type }>typeorinterfaceextractAllFieldsToTypes:trueorextractAllFieldsToTypesCompact:true, Resultsare used as type alias, so they are forced to be
type. There is a console warning for users.#10496
afaace6Thanks @eddeee888! - Add importSchemaTypesFrom support
#10496
afaace6Thanks @eddeee888! - Add generateOperationTypes to
typescript-operations to allow omitting operation types such as Variables,
Query/Mutation/Subscription selection set, and Fragment types
#10496
afaace6Thanks @eddeee888! - Fixing 2 bugs: 1) including enums from
external fragments; 2) extractAllFieldsToTypesCompact does not create duplicates
Patch Changes
#10496
afaace6Thanks @eddeee888! - dependencies updates:
auto-bind@^5.0.0↗︎ (from~4.0.0, independencies)@graphql-codegen/schema-ast@^5.0.1↗︎(to
dependencies)@graphql-codegen/typescript@^5.0.10↗︎(from
dependencies)#10496
afaace6Thanks @eddeee888! - dependencies updates:
@graphql-codegen/schema-ast@^5.0.0↗︎(to
dependencies)#10496
afaace6Thanks @eddeee888! - dependencies updates:
@graphql-codegen/typescript@^5.0.7↗︎(from
dependencies)#10496
afaace6Thanks @eddeee888! - dependencies updates:
auto-bind@^5.0.0↗︎ (from~4.0.0, independencies)#10496
afaace6Thanks @eddeee888! - Improve
namespacedImportNameusability bysetting a default when
importSchemaTypesFromis set#10496
afaace6Thanks @eddeee888! - Add internal utility type warning to deter
usage
#10496
afaace6Thanks @eddeee888! - Add
printTypeScriptMaybeTypeto handleprinting TS types, as there are special cases like
anyandunknown#10496
afaace6Thanks @eddeee888! - Re-implement inputMaybeValue
#10496
afaace6Thanks @eddeee888! - Only generate
Exactutility type at the topif it is used
Exactutility is only used to wrap variables types for operations (queries, mutations andsubscriptions) if they exist in the document.
Exactis never used when there are onlyfragments.
This is important to conditionally generate as users may use very strict tsconfig that will fail
compiling if there are unused types.
#10496
afaace6Thanks @eddeee888! - Fix external custom scalars not getting
imported
#10496
afaace6Thanks @eddeee888! - Ensure Input and Variables use the same input
scalars default e.g.
IDcan takestring | number#10496
afaace6Thanks @eddeee888! - Fix
@skipand@includenot applyingconditional modifiers correctly when used on inline fragment
#10496
afaace6Thanks @eddeee888! - Abstract how enum imports are generated into
visitor-plugin-common package
#10496
afaace6Thanks @eddeee888! - Fix
@skipand@includenot applyingconditional modifiers correctly when used on fragment sread, and
@deferfragments#10496
afaace6Thanks @eddeee888! - Fix importing issue of Input when
importSchemaTypesFrom is used
#10496
afaace6Thanks @eddeee888! - Fix namingConvention not being applied
consistently in imports, Variables, Input and Result
Updated dependencies
[
afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6]:Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate.