@graphql-codegen/typescript
Changelog for @graphql-codegen/typescript: every release with its changes and the pull requests behind them.
6.1.2
Patch Changes
-
#10985
d8aa07fThanks @eddeee888! - Build withstrict: true, which changes these emitted type declarations:@graphql-codegen/cli:mkdirpreturnsPromise<string | undefined>, and therequire(-r) CLI option’sdefaultis typednever[]instead ofany[].@graphql-codegen/visitor-plugin-common:BaseResolversVisitorandBaseTypesVisitorSchemaDefinition()/SchemaExtension()returnnullinstead ofany.@graphql-codegen/visitor-plugin-common:BaseSelectionSetProcessor.typeCacheis keyed byLocation | undefined.@graphql-codegen/visitor-plugin-common:SelectionSetToObject.buildSelectionSetreturnstypeInfoas{ name: string; type: string } | null.@graphql-codegen/visitor-plugin-common:getPossibleTypesacceptsnullas the type, which graphql 15’sschema.getType()can return.@graphql-codegen/visitor-plugin-common:removeDescriptionreturns nodes withdescription: undefinedinstead ofany.@graphql-codegen/typescript:TsIntrospectionVisitor’s constructor takespluginConfigasTypeScriptPluginConfig | undefined,DirectiveDefinition()returnsnullandObjectTypeDefinition()returnsstring | null.@graphql-codegen/client-preset: the babel preset acceptsoptionsasClientBabelPresetOptions | null | undefined.@graphql-codegen/testing:mockGraphQLServerreturnsnock.Scope | null.@graphql-codegen/graphql-modules-preset: a schema withoutextensions(graphql 15) throws the “requires to use GraphQL SDL” error instead of aTypeError.
Generated output is unchanged.
-
Updated dependencies [
d8aa07f,5078faf]:- @graphql-codegen/visitor-plugin-common@7.2.10
6.1.1
Patch Changes
-
#11019
eae0e62Thanks @eddeee888! - Fix type errors inplugin-helpersunderstrict: true:@graphql-codegen/plugin-helpers:ProfilerEvent.catis optional, matching the Trace Event format andProfiler.run’s optionalcat.FederationMeta’s reference selection sets are typed recursively ({ [field: string]: true | ReferenceSelectionSet }), matching the nested selections@key/@requires/@providesproduce.oldVisit’svisitorparam is typed asOldVisitor:enterandleavemaps keyed by AST node kind, whose callbacks receive the typed node plus graphql’skey,parent,pathandancestors. Federation directives missing theirfieldsargument, and operations whose root type is missing from the schema, throw a descriptive error.@graphql-codegen/typescriptand@graphql-codegen/typescript-operations: theInputValueDefinitionvisitor methods takepathandancestorsas required params, since the visitor always passes them.
Generated output is unchanged.
-
#11014
7a376efThanks @eddeee888! - Fix type errors intypescriptunderstrict: trueby typing the shared visitor methods it overrides:@graphql-codegen/visitor-plugin-common: addsNormalizedDeclarationKindConfig(every declaration kind set), used bynormalizeDeclarationKind,DEFAULT_DECLARATION_KINDSandParsedTypesConfig.declarationKind.BaseTypesVisitor’sNamedType,ListType,FieldDefinition,InputValueDefinitionandUnionTypeDefinitionhave typed visitor params (keyandparentare required, since the visitor always passes them), andObjectTypeDefinition,EnumTypeDefinitionandDirectiveDefinitionmay returnnull.@graphql-codegen/typescript: skips document files without adocumentwhen collecting introspection types, types theTsVisitorvisitor params, andTsVisitor.EnumTypeDefinitionmay returnnulllike the introspection visitor’s override.
Generated output is unchanged.
-
Updated dependencies [
43d0f65,82ebbb5,eae0e62,1f7566f,7a376ef,3caccd3,ccc0d5c]:- @graphql-codegen/plugin-helpers@7.4.1
- @graphql-codegen/visitor-plugin-common@7.2.8
6.1.0
Minor Changes
- #10866
959915fThanks @eddeee888! - dependencies updates:- Updated dependency
graphql@^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0↗︎ (from^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0, inpeerDependencies)
- Updated dependency
Patch Changes
- Updated dependencies
[
959915f,959915f,959915f]:- @graphql-codegen/plugin-helpers@7.1.0
- @graphql-codegen/schema-ast@6.1.0
- @graphql-codegen/visitor-plugin-common@7.2.0
6.0.2
Patch Changes
- #10849
55a4742Thanks @eddeee888! - dependencies updates:- Updated dependency
@graphql-codegen/plugin-helpers@workspace:^↗︎ (from^7.0.0, independencies) - Updated dependency
@graphql-codegen/schema-ast@workspace:^↗︎ (from^6.0.0, independencies) - Updated dependency
@graphql-codegen/visitor-plugin-common@workspace:^↗︎ (from^7.0.1, independencies)
- Updated dependency
- Updated dependencies
[
55a4742,55a4742]:- @graphql-codegen/schema-ast@6.0.1
- @graphql-codegen/visitor-plugin-common@7.0.3
6.0.1
Patch Changes
- #10764
c95db26Thanks @renovate! - dependencies updates:- Updated dependency
tslib@~2.8.0↗︎ (from~2.6.0, independencies)
- Updated dependency
- Updated dependencies
[
5f035cb]:- @graphql-codegen/visitor-plugin-common@7.0.1
6.0.0
Major Changes
-
#10496
afaace6Thanks @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-visitorandtypescript-operationsvisitor - types-visitor: includes
base-types-visitorandtypescriptvisitor - resolvers-visitor: includes
base-resolvers-visitorandtypescript-resolversvisitor
-
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: makeunknowninstead ofanythe default custom scalar type -
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Update deps to latest, some only support ESMNode 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
afaace6Thanks @eddeee888! - BREAKING CHANGE: Drop Node 20 support -
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE:typescriptplugin no longer generatesExactutility type. Instead,typescript-operationsgenerates said utility type for every file it creates. This is because it is used only forVariables, so we only need to generate it once for every generated operation file. -
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Remove unused utility types fromtypescriptplugin as they were previously used fortypescript-operationsplugin:MakeOptionalMakeMaybeMakeEmptyIncremental
BREAKING CHANGE: Remove
getRootTypeNamesfunction because it’s available in@graphql-utils/toolsand not used anywhere
Minor Changes
- #10496
afaace6Thanks @eddeee888! - Thetypescript-operationsplugin no longer generates InputMaybe and Scalars types; it now uses native Typescript types instead.
Patch Changes
-
#10496
afaace6Thanks @eddeee888! - dependencies updates:- Updated dependency
auto-bind@^5.0.0↗︎ (from~4.0.0, independencies) - Updated dependency
tslib@~2.6.0↗︎ (from^2.8.0, independencies)
- Updated dependency
-
#10496
afaace6Thanks @eddeee888! - dependencies updates:- Updated dependency
auto-bind@^5.0.0↗︎ (from~4.0.0, independencies)
- Updated dependency
-
#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]:- @graphql-codegen/plugin-helpers@7.0.0
- @graphql-codegen/visitor-plugin-common@7.0.0
- @graphql-codegen/schema-ast@6.0.0
5.0.10
Patch Changes
- #10103
9a66574Thanks @renovate! - dependencies updates:- Updated dependency
tslib@^2.8.0↗︎ (from~2.6.0, independencies)
- Updated dependency
- Updated dependencies
[
9a66574,9a66574,9a66574,e65d303]:- @graphql-codegen/plugin-helpers@6.3.0
- @graphql-codegen/schema-ast@5.0.2
- @graphql-codegen/visitor-plugin-common@6.3.0
5.0.9
Patch Changes
- #10619
cdf5dc5Thanks @ardatan! - dependencies updates:- Updated dependency
@graphql-codegen/visitor-plugin-common@^6.2.3↗︎ (from6.2.3, independencies)
- Updated dependency
- Updated dependencies
[
cdf5dc5,cdf5dc5,cdf5dc5]:- @graphql-codegen/plugin-helpers@6.1.1
- @graphql-codegen/schema-ast@5.0.1
- @graphql-codegen/visitor-plugin-common@6.2.4
5.0.8
Patch Changes
- Updated dependencies
[
6038634]:- @graphql-codegen/visitor-plugin-common@6.2.3
5.0.7
Patch Changes
- Updated dependencies
[
f588d91]:- @graphql-codegen/visitor-plugin-common@6.2.2
5.0.6
Patch Changes
- Updated dependencies
[
b995ed1]:- @graphql-codegen/visitor-plugin-common@6.2.1
5.0.5
Patch Changes
- Updated dependencies
[
f821e8a,9e70bcb]:- @graphql-codegen/visitor-plugin-common@6.2.0
- @graphql-codegen/plugin-helpers@6.1.0
5.0.4
Patch Changes
- Updated dependencies
[
51a1a72]:- @graphql-codegen/visitor-plugin-common@6.1.2
5.0.3
Patch Changes
- Updated dependencies
[
6715330]:- @graphql-codegen/visitor-plugin-common@6.1.1
5.0.2
Patch Changes
- Updated dependencies
[
8258f1f]:- @graphql-codegen/visitor-plugin-common@6.1.0
5.0.1
Patch Changes
- Updated dependencies
[
accdab6]:- @graphql-codegen/visitor-plugin-common@6.0.1
5.0.0
Major Changes
-
#10218
140298aThanks @eddeee888! - Remove NameNode override -
#10218
140298aThanks @eddeee888! - Drop Node 18 support
Patch Changes
- Updated dependencies
[
140298a,140298a,140298a,140298a,140298a,140298a,140298a,140298a,140298a,140298a,140298a,140298a,140298a,140298a]:- @graphql-codegen/visitor-plugin-common@6.0.0
- @graphql-codegen/plugin-helpers@6.0.0
- @graphql-codegen/schema-ast@5.0.0
4.1.6
Patch Changes
- Updated dependencies
[
f6909d1]:- @graphql-codegen/visitor-plugin-common@5.8.0
4.1.5
Patch Changes
- Updated dependencies
[
d8566c0]:- @graphql-codegen/visitor-plugin-common@5.7.1
4.1.4
Patch Changes
- Updated dependencies
[
6d7c1d7]:- @graphql-codegen/visitor-plugin-common@5.7.0
4.1.3
Patch Changes
- Updated dependencies
[
60dd72f]:- @graphql-codegen/visitor-plugin-common@5.6.1
4.1.2
Patch Changes
4.1.1
Patch Changes
- Updated dependencies
[
55a1e9e,a235051]:- @graphql-codegen/visitor-plugin-common@5.5.0
- @graphql-codegen/plugin-helpers@5.1.0
4.1.0
Minor Changes
-
#10077
3f4f546Thanks @eddeee888! - Extendconfig.avoidOptionsto support query, mutation and subscriptionPreviously,
config.avoidOptions.resolverswas being used to make query, mutation and subscription fields non-optional. Now,config.avoidOptions.query,config.avoidOptions.mutationandconfig.avoidOptions.subscriptioncan be used to target the respective types.
Patch Changes
- Updated dependencies
[
3f4f546]:- @graphql-codegen/visitor-plugin-common@5.4.0
4.0.9
Patch Changes
- Updated dependencies
[
79fee3c]:- @graphql-codegen/visitor-plugin-common@5.3.1
4.0.8
Patch Changes
4.0.7
Patch Changes
- Updated dependencies
[
dfc5310,156cc2b,dfc5310,b49457b]:- @graphql-codegen/plugin-helpers@5.0.4
- @graphql-codegen/visitor-plugin-common@5.2.0
4.0.6
Patch Changes
4.0.5
Patch Changes
- Updated dependencies
[
53f270a]:- @graphql-codegen/visitor-plugin-common@5.0.0
4.0.4
Patch Changes
-
Updated dependencies [
4e69568]:- @graphql-codegen/visitor-plugin-common@4.1.2
- @graphql-codegen/schema-ast@4.0.2
- @graphql-codegen/plugin-helpers@5.0.3
4.0.3
Patch Changes
- Updated dependencies
[
7718a8113]:- @graphql-codegen/visitor-plugin-common@4.1.1
4.0.2
Patch Changes
- #9811
d8364e045Thanks @saihaj! - dependencies updates:- Updated dependency
tslib@~2.6.0↗︎ (from~2.5.0, independencies)
- Updated dependency
- Updated dependencies
[
d8364e045,d8364e045,d8364e045,d8364e045,d8364e045]:- @graphql-codegen/plugin-helpers@5.0.2
- @graphql-codegen/schema-ast@4.0.1
- @graphql-codegen/visitor-plugin-common@4.1.0
4.0.1
Patch Changes
-
#9497
2276708d0Thanks @eddeee888! - Revert default ID scalar input type to stringWe changed the ID Scalar input type from
stringtostring | numberin the latest major version oftypescriptplugin. This causes issues for server plugins (e.g. typescript-resolvers) that depends ontypescriptplugin. This is because the scalar type needs to be manually inverted on setup which is confusing. -
Updated dependencies [
2276708d0]:- @graphql-codegen/visitor-plugin-common@4.0.1
4.0.0
Major Changes
-
#9375
ba84a3a27Thanks @eddeee888! - Implement Scalars with input/output typesIn GraphQL, Scalar types can be different for client and server. For example, given the native GraphQL ID:
- A client may send
stringornumberin the input - A client receives
stringin its selection set (i.e output) - A server receives
stringin the resolver (GraphQL parsesstringornumberreceived from the client tostring) - A server may return
stringornumber(GraphQL serializes the value tostringbefore sending it to the client )
Currently, we represent every Scalar with only one type. This is what codegen generates as base type:
export type Scalars = { ID: string }Then, this is used in both input and output type e.g.
export type Book = { __typename?: 'Book' id: Scalars['ID'] // Output's ID can be `string` 👍 } export type QueryBookArgs = { id: Scalars['ID'] // Input's ID can be `string` or `number`. However, the type is only `string` here 👎 }This PR extends each Scalar to have input and output:
export type Scalars = { ID: { input: string | number output: string } }Then, each input/output GraphQL type can correctly refer to the correct input/output scalar type:
export type Book = { __typename?: 'Book' id: Scalars['ID']['output'] // Output's ID can be `string` 👍 } export type QueryBookArgs = { id: Scalars['ID']['input'] // Input's ID can be `string` or `number` 👍 }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:export type Scalars = { ID: { input: string; output: string | number; } } export type Book = { __typename?: "Book"; id: Scalars["ID"]['output']; // Resolvers can return `string` or `number` in ID fields 👍 }; export type QueryBookArgs = { id: Scalars["ID"]['input']; // Resolvers receive `string` in ID fields 👍 }; export type ResolversTypes = { ID: ID: ResolverTypeWrapper<Scalars['ID']['output']>; // Resolvers can return `string` or `number` in ID fields 👍 } export type ResolversParentTypes = { ID: Scalars['ID']['output']; // Resolvers receive `string` or `number` from parents 👍 };
Config changes:
- Scalars option can now take input/output types:
config: { scalars: { ID: { input: 'string', output: 'string | number' } } }- If a string is given (instead of an object with input/output fields), it will be used as both input and output types:
config: { scalars: { ID: 'string' // This means `string` will be used for both ID's input and output types } }- BREAKING CHANGE: External module Scalar types need to be an object with input/output fields
config: { scalars: { ID: './path/to/scalar-module' } }If correctly, wired up, the following will be generated:
// Previously, imported `ID` type can be a primitive type, now it must be an object with input/output fields import { ID } from './path/to/scalar-module' export type Scalars = { ID: { input: ID['input']; output: ID['output'] } }
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.
- A client may send
-
bb66c2a31Thanks @n1ru4l! - Require Node.js>= 16. Drop support for Node.js 14
Minor Changes
-
#9196
3848a2b73Thanks @beerose! - Add@deferdirective 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
@deferdirective in your queries, the generated code will automatically include support for the directive.// src/index.tsx import { graphql } from './gql' const OrdersFragment = graphql(` fragment OrdersFragment on User { orders { id total } } `) const GetUserQuery = graphql(` query GetUser($id: ID!) { user(id: $id) { id name ...OrdersFragment @defer } } `)The generated type for
GetUserQuerywill have information that the fragment is incremental, meaning it may not be available right away.// gql/graphql.ts export type GetUserQuery = { __typename?: 'Query'; id: string; name: string } & ({ __typename?: 'Query' } & { ' $fragmentRefs'?: { OrdersFragment: Incremental<OrdersFragment> } })Apart from generating code that includes support for the
@deferdirective, the Codegen also exports a utility function calledisFragmentReady. You can use it to conditionally render components based on whether the data for a deferred fragment is available:const OrdersList = (props: { data: FragmentType<typeof OrdersFragment> }) => { const data = useFragment(OrdersFragment, props.data); return ( // render orders list ) }; function App() { const { data } = useQuery(GetUserQuery); return ( {data && ( <> {isFragmentReady(GetUserQuery, OrdersFragment, data) && <OrdersList data={data} />} </> )} ); } export default App; -
#9304
e1dc75f3cThanks @esfomeado! - Added support for disabling suffixes on Enums.
Patch Changes
- Updated dependencies
[
4d9ea1a5a,4d9ea1a5a,4d9ea1a5a,f46803a8c,3848a2b73,ba84a3a27,63827fabe,50471e651,5aa95aa96,ca02ad172,e1dc75f3c,bb66c2a31,5950f5a68,5aa95aa96]:- @graphql-codegen/plugin-helpers@5.0.0
- @graphql-codegen/schema-ast@4.0.0
- @graphql-codegen/visitor-plugin-common@4.0.0
3.0.4
Patch Changes
3.0.3
Patch Changes
-
#9150
92d86b009Thanks @rliljest! - Properly escape enum identifiers when enumsAsConst is used -
Updated dependencies [
e56790104,b7dacb21f,f104619ac,acb647e4e,9f4d9c5a4]:- @graphql-codegen/visitor-plugin-common@3.1.0
- @graphql-codegen/plugin-helpers@4.2.0
3.0.2
Patch Changes
- Updated dependencies
[
ba0610bbd,4b49f6fbe,b343626c9]:- @graphql-codegen/visitor-plugin-common@3.0.2
3.0.1
Patch Changes
- #8879
8206b268dThanks @renovate! - dependencies updates:- Updated dependency
tslib@~2.5.0↗︎ (from~2.4.0, independencies)
- Updated dependency
- Updated dependencies
[
8206b268d,8206b268d,8206b268d,a118c307a,6b6fe3cbc,a3309e63e]:- @graphql-codegen/plugin-helpers@4.1.0
- @graphql-codegen/schema-ast@3.0.1
- @graphql-codegen/visitor-plugin-common@3.0.1
3.0.0
Major Changes
Patch Changes
- Updated dependencies
[
fc79b65d4,fd0b0c813]:- @graphql-codegen/visitor-plugin-common@3.0.0
- @graphql-codegen/plugin-helpers@4.0.0
- @graphql-codegen/schema-ast@3.0.0
2.8.8
Patch Changes
- Updated dependencies
[
a98198524]:- @graphql-codegen/visitor-plugin-common@2.13.8
2.8.7
Patch Changes
- Updated dependencies
[
eb454d06c]:- @graphql-codegen/visitor-plugin-common@2.13.7
2.8.6
Patch Changes
- Updated dependencies
[
ed87c782b,ed87c782b,ed87c782b,6c6b6f2df]:- @graphql-codegen/plugin-helpers@3.1.2
- @graphql-codegen/schema-ast@2.6.1
- @graphql-codegen/visitor-plugin-common@2.13.6
2.8.5
Patch Changes
-
46f75304aThanks @saihaj! - fix the version of@graphql-codegen/plugin-helpers@3.1.1 -
Updated dependencies [
fedd71cbb,307a5d350,46f75304a]:- @graphql-codegen/schema-ast@2.6.0
- @graphql-codegen/plugin-helpers@3.1.1
- @graphql-codegen/visitor-plugin-common@2.13.5
2.8.4
Patch Changes
- Updated dependencies
[
a6c2097f4,a6c2097f4,f79a00e8a,c802a0c0b]:- @graphql-codegen/plugin-helpers@3.0.0
- @graphql-codegen/visitor-plugin-common@2.13.4
- @graphql-codegen/schema-ast@2.5.2
2.8.3
Patch Changes
- Updated dependencies
[
62f655452]:- @graphql-codegen/visitor-plugin-common@2.13.3
2.8.2
Patch Changes
-
#8586
ef4c2c9c2Thanks @levrik! - Fix incompatibility between@oneOfinput types and declaration kind other thantype -
Updated dependencies [
ef4c2c9c2]:- @graphql-codegen/visitor-plugin-common@2.13.2
2.8.1
Patch Changes
- Updated dependencies
[
63dc8f205]:- @graphql-codegen/visitor-plugin-common@2.13.1
- @graphql-codegen/plugin-helpers@2.7.2
2.8.0
Minor Changes
- #8390
12ecbe067Thanks @Diizzayy! - handle undefined namedType when including introspection type definitions
2.7.5
Patch Changes
- Updated dependencies
[
a46b8d99c]:- @graphql-codegen/visitor-plugin-common@2.13.0
2.7.4
Patch Changes
- Updated dependencies
[
1bd7f771c]:- @graphql-codegen/visitor-plugin-common@2.12.2
2.7.3
Patch Changes
-
#8189
b408f8238Thanks @n1ru4l! - Fix CommonJS TypeScript resolution withmoduleResolutionnode16ornodenext -
Updated dependencies [
b408f8238,47d0a57e2]:- @graphql-codegen/schema-ast@2.5.1
- @graphql-codegen/visitor-plugin-common@2.12.1
- @graphql-codegen/plugin-helpers@2.6.2
2.7.2
Patch Changes
- Updated dependencies [2cbcbb371]
- @graphql-codegen/visitor-plugin-common@2.12.0
- @graphql-codegen/plugin-helpers@2.6.0
2.7.1
Patch Changes
- Updated dependencies [525ad580b]
- @graphql-codegen/visitor-plugin-common@2.11.1
2.7.0
Minor Changes
-
d84afec09: Support TypeScript ESM modules (
"module": "node16"and"moduleResolution": "node16").
Patch Changes
- Updated dependencies [68bb30e19]
- Updated dependencies [d84afec09]
- Updated dependencies [a4fe5006b]
- Updated dependencies [8e44df58b]
- @graphql-codegen/visitor-plugin-common@2.11.0
- @graphql-codegen/schema-ast@2.5.0
- @graphql-codegen/plugin-helpers@2.5.0
2.6.0
Minor Changes
- aa1e6eafd: Add @Deprecated support for input
Patch Changes
- 8b10f22be: Ensure falsy enum values are still mapped
- Updated dependencies [aa1e6eafd]
- Updated dependencies [a42fcbfe4]
- Updated dependencies [8b10f22be]
- @graphql-codegen/visitor-plugin-common@2.10.0
2.5.1
Patch Changes
- Updated dependencies [d16bebacb]
- @graphql-codegen/visitor-plugin-common@2.9.1
2.5.0
Minor Changes
- c3d7b7226: support the
@oneOfdirective on input types.
Patch Changes
- Updated dependencies [c3d7b7226]
- @graphql-codegen/visitor-plugin-common@2.9.0
2.4.11
Patch Changes
- Updated dependencies [f1fb77bd4]
- @graphql-codegen/visitor-plugin-common@2.8.0
2.4.10
Patch Changes
- 9a5f31cb6: New option
onlyEnumsfor Typescript - Updated dependencies [9a5f31cb6]
- @graphql-codegen/visitor-plugin-common@2.7.6
2.4.9
Patch Changes
- Updated dependencies [2966686e9]
- @graphql-codegen/visitor-plugin-common@2.7.5
2.4.8
Patch Changes
- Updated dependencies [337fd4f77]
- @graphql-codegen/visitor-plugin-common@2.7.4
2.4.7
Patch Changes
- 54718c039: Improve @Deprecated Enum Type developer experience
- Updated dependencies [54718c039]
- @graphql-codegen/visitor-plugin-common@2.7.3
2.4.6
Patch Changes
- Updated dependencies [11d05e361]
- @graphql-codegen/visitor-plugin-common@2.7.2
2.4.5
Patch Changes
- Updated dependencies [fd55e2039]
- @graphql-codegen/visitor-plugin-common@2.7.1
2.4.4
Patch Changes
- Updated dependencies [1479233df]
- @graphql-codegen/visitor-plugin-common@2.7.0
2.4.3
Patch Changes
- Updated dependencies [c8ef37ae0]
- Updated dependencies [754a33715]
- Updated dependencies [bef4376d5]
- Updated dependencies [be7cb3a82]
- @graphql-codegen/visitor-plugin-common@2.6.0
- @graphql-codegen/plugin-helpers@2.4.0
2.4.2
Patch Changes
- 6002feb3d: Fix exports in package.json files for react-native projects
- Updated dependencies [6002feb3d]
- @graphql-codegen/schema-ast@2.4.1
- @graphql-codegen/visitor-plugin-common@2.5.2
- @graphql-codegen/plugin-helpers@2.3.2
2.4.1
Patch Changes
- Updated dependencies [a9f1f1594]
- Updated dependencies [9ea6621ec]
- @graphql-codegen/visitor-plugin-common@2.5.1
2.4.0
Minor Changes
- 4c5c84c1b: Added InputMaybe, a different type of Maybe type for input/arguments
2.3.1
Patch Changes
- 6c898efe5: list all dependencies used by the package in the package.json
- Updated dependencies [f3833243d]
- Updated dependencies [6c898efe5]
- @graphql-codegen/schema-ast@2.4.0
2.3.0
Minor Changes
- 97ddb487a: feat: GraphQL v16 compatibility
Patch Changes
- Updated dependencies [97ddb487a]
- @graphql-codegen/visitor-plugin-common@2.5.0
- @graphql-codegen/plugin-helpers@2.3.0
2.2.4
Patch Changes
- Updated dependencies [ad02cb9b8]
- @graphql-codegen/visitor-plugin-common@2.4.0
2.2.3
Patch Changes
- Updated dependencies [b9e85adae]
- Updated dependencies [7c60e5acc]
- Updated dependencies [3c2c847be]
- @graphql-codegen/visitor-plugin-common@2.3.0
- @graphql-codegen/plugin-helpers@2.2.0
2.2.2
Patch Changes
- Updated dependencies [0b090e31a]
- @graphql-codegen/visitor-plugin-common@2.2.1
2.2.1
Patch Changes
- cfa0a8f80: Apply missing namingConvention when numericEnums is used
2.2.0
Minor Changes
-
d6c2d4c09: Allow declaring Argument and InputType field mappings based on directive annotations.
WARNING: Using this option does only change the type definitions.
For actually ensuring that a type is correct at runtime you will have to use schema transforms (e.g. with @graphql-tools/utils mapSchema) that apply those rules! Otherwise, you might end up with a runtime type mismatch which could cause unnoticed bugs or runtime errors.
Please use this configuration option with care!
plugins: config: directiveArgumentAndInputFieldMappings: asNumber: numberdirective @asNumber on ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION input MyInput { id: ID! @asNumber } type User { id: ID! } type Query { user(id: ID! @asNumber): User }Usage e.g. with
typescript-resolversconst Query: QueryResolvers = { user(_, args) { // args.id is of type 'number' } } -
8261e4161: Make futureProofEnums option work for all enum output types, (it worked only with enumsAsTypes)
Patch Changes
- Updated dependencies [d6c2d4c09]
- Updated dependencies [feeae1c66]
- Updated dependencies [5086791ac]
- @graphql-codegen/visitor-plugin-common@2.2.0
2.1.2
Patch Changes
- Updated dependencies [6470e6cc9]
- Updated dependencies [263570e50]
- Updated dependencies [35199dedf]
- @graphql-codegen/visitor-plugin-common@2.1.2
- @graphql-codegen/plugin-helpers@2.1.1
2.1.1
Patch Changes
- Updated dependencies [aabeff181]
- @graphql-codegen/visitor-plugin-common@2.1.1
2.1.0
Minor Changes
- 440172cfe: support ESM
Patch Changes
- Updated dependencies [290170262]
- Updated dependencies [24185985a]
- Updated dependencies [39773f59b]
- Updated dependencies [440172cfe]
- @graphql-codegen/visitor-plugin-common@2.1.0
- @graphql-codegen/plugin-helpers@2.1.0
2.0.0
Major Changes
-
b0cb13df4: Update to latest
graphql-toolsandgraphql-configversion.‼️ ‼️ ‼️ Please note ‼️ ‼️ ‼️:
This is a breaking change since Node 10 is no longer supported in
graphql-tools, and also no longer supported for Codegen packages.
Patch Changes
- Updated dependencies [d80efdec4]
- Updated dependencies [d80efdec4]
- Updated dependencies [b0cb13df4]
- @graphql-codegen/visitor-plugin-common@2.0.0
- @graphql-codegen/plugin-helpers@2.0.0
1.23.0
Minor Changes
- 9005cc17: add
allowEnumStringTypesoption for allowing string literals as valid return types from resolvers in addition to enum values._
Patch Changes
- Updated dependencies [df19a4ed]
- Updated dependencies [470336a1]
- Updated dependencies [9005cc17]
- @graphql-codegen/visitor-plugin-common@1.22.0
- @graphql-codegen/plugin-helpers@1.18.8
1.22.4
Patch Changes
- Updated dependencies [6762aff5]
- @graphql-codegen/visitor-plugin-common@1.21.3
1.22.3
Patch Changes
- Updated dependencies [6aaecf1c]
- @graphql-codegen/visitor-plugin-common@1.21.2
1.22.2
Patch Changes
- Updated dependencies [cf1e5abc]
- @graphql-codegen/visitor-plugin-common@1.21.1
1.22.1
Patch Changes
- Updated dependencies [dfd25caf]
- Updated dependencies [8da7dff6]
- @graphql-codegen/visitor-plugin-common@1.21.0
- @graphql-codegen/plugin-helpers@1.18.7
1.22.0
Minor Changes
- f0b5ea53: Add entireFieldWrapperValue configuration option, to wrap arrays
- 097bea2f: Added new configuration settings for scalars:
strictScalarsanddefaultScalarType
Patch Changes
- d9212aa0: fix(visitor-plugin-common): guard for a runtime type error
- Updated dependencies [d9212aa0]
- Updated dependencies [f0b5ea53]
- Updated dependencies [097bea2f]
- @graphql-codegen/visitor-plugin-common@1.20.0
- @graphql-codegen/plugin-helpers@1.18.5
1.21.1
Patch Changes
- e947f8e3: Allow to have declarationKind of type: class, interface: interface
- 29b75b1e: enhance(namingConvention): use change-case-all instead of individual packages for naming convention
- Updated dependencies [e947f8e3]
- Updated dependencies [29b75b1e]
- Updated dependencies [d4942d04]
- Updated dependencies [1f6f3db6]
- Updated dependencies [29b75b1e]
- @graphql-codegen/visitor-plugin-common@1.19.0
- @graphql-codegen/plugin-helpers@1.18.3
1.21.0
Minor Changes
- 34b8087e: Adds futureProofUnion option to account for a possible unknown new type added to union types
Patch Changes
- Updated dependencies [5749cb8a]
- Updated dependencies [5a12fe58]
- @graphql-codegen/visitor-plugin-common@1.18.3
1.20.2
Patch Changes
- ca66569f: Fix issues with undefined calls for str.replace
- Updated dependencies [ca66569f]
- @graphql-codegen/visitor-plugin-common@1.18.2
1.20.1
Patch Changes
- 4444348d: Correctly escape enum values defined in the GraphQLSchema object
- Updated dependencies [63be0f40]
- Updated dependencies [190482a1]
- Updated dependencies [4444348d]
- Updated dependencies [142b32b3]
- Updated dependencies [42213fa0]
- @graphql-codegen/visitor-plugin-common@1.18.1
1.20.0
Minor Changes
- d95db95b: feat(typescript): bump visitor-plugin-common
1.19.0
Minor Changes
- 1d6a593f: Added
useImplementingTypesflag for generating code that uses implementing types instead of interfaces
Patch Changes
- Updated dependencies [8356f8a2]
- @graphql-codegen/visitor-plugin-common@1.17.21
1.18.1
Patch Changes
- 1183d173: Bump all packages to resolve issues with shared dependencies
- Updated dependencies [1183d173]
- @graphql-codegen/visitor-plugin-common@1.17.20
- @graphql-codegen/plugin-helpers@1.18.2
1.18.0
Minor Changes
- 49242c20: Added a “defaultValue” option in the “avoidOptionals” config See https://github.com/dotansimha/graphql-code-generator/issues/5112
Patch Changes
- Updated dependencies [99819bf1]
- Updated dependencies [c3b59e81]
- @graphql-codegen/visitor-plugin-common@1.17.19
1.17.11
Patch Changes
- 077cf064: Fixed reading of enumValues config values
- 92d8f876: Fixed unquoted numeric enum identifiers
- Updated dependencies [92d8f876]
- @graphql-codegen/visitor-plugin-common@1.17.16
1.17.10
Patch Changes
- 7ad7a1ae: Make non nullable input field with default value optional
- Updated dependencies [d2cde3d5]
- Updated dependencies [89a6aa80]
- Updated dependencies [f603b8f8]
- Updated dependencies [da8bdd17]
- @graphql-codegen/visitor-plugin-common@1.17.15
- @graphql-codegen/plugin-helpers@1.17.9
1.17.9
Patch Changes
- 07f9b1b2: Fix a bug caused numeric enum values defined in the GraphQLSchema to be printed incorrectly
- Updated dependencies [07f9b1b2]
- Updated dependencies [35f67120]
- @graphql-codegen/visitor-plugin-common@1.17.14
1.17.8
Patch Changes
- 1d7c6432: Bump all packages to allow ”^” in deps and fix compatibility issues
- 1d7c6432: Bump versions of @graphql-tools/ packages to fix issues with loading schemas and SDL comments
- Updated dependencies [1d7c6432]
- Updated dependencies [1d7c6432]
- @graphql-codegen/visitor-plugin-common@1.17.13
- @graphql-codegen/plugin-helpers@1.17.8