Skip to content

Releases: dotansimha/graphql-code-generator

January 31, 2025

31 Jan 15:52
62dd4c7
Compare
Choose a tag to compare

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

January 28, 2025

28 Jan 11:56
8192a88
Compare
Choose a tag to compare

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

  • #10230 60dd72f Thanks @eddeee888! - Fix generateInternalResolversIfNeeded.__resolveReference making the resolver required

    __resolveReference's default behaviour when not declared is to pass the ref to subsequent resolvers i.e. becoming the parent. So, it means we don't have to make this resolver required.

    This patch makes __resolveReference optional when generateInternalResolversIfNeeded.__resolveReference is set to true.

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

  • #10230 60dd72f Thanks @eddeee888! - Fix generateInternalResolversIfNeeded.__resolveReference making the resolver required

    __resolveReference's default behaviour when not declared is to pass the ref to subsequent resolvers i.e. becoming the parent. So, it means we don't have to make this resolver required.

    This patch makes __resolveReference optional when generateInternalResolversIfNeeded.__resolveReference is set to true.

  • Updated dependencies [60dd72f]:

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Minor Changes

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

November 22, 2024

22 Nov 20:42
839b6f0
Compare
Choose a tag to compare

@graphql-codegen/[email protected]

Minor Changes

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Minor Changes

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

October 28, 2024

28 Oct 12:19
876ea0c
Compare
Choose a tag to compare

@graphql-codegen/[email protected]

Minor Changes

  • #9989 55a1e9e Thanks @eddeee888! - Add generateInternalResolversIfNeeded option

    This option can be used to generate more correct types for internal resolvers. For example, only generate __resolveReference if the federation object has a resolvable @key.

    In the future, this option can be extended to support other internal resolvers e.g. __isTypeOf is only generated for implementing types and union members.

  • #10141 a235051 Thanks @eddeee888! - Add avoidCheckingAbstractTypesRecursively to avoid checking and generating abstract types recursively

    For users that already sets recursive default mappers e.g. Partial<{T}> or DeepPartial<{T}>, having both options on will cause a nested loop which eventually crashes Codegen. In such case, setting avoidCheckingAbstractTypesRecursively: true allows users to continue to use recursive default mappers as before.

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Minor Changes

  • #9989 55a1e9e Thanks @eddeee888! - Add generateInternalResolversIfNeeded option

    This option can be used to generate more correct types for internal resolvers. For example, only generate __resolveReference if the federation object has a resolvable @key.

    In the future, this option can be extended to support other internal resolvers e.g. __isTypeOf is only generated for implementing types and union members.

  • #10141 a235051 Thanks @eddeee888! - Add avoidCheckingAbstractTypesRecursively to avoid checking and generating abstract types recursively

    For users that already sets recursive default mappers e.g. Partial<{T}> or DeepPartial<{T}>, having both options on will cause a nested loop which eventually crashes Codegen. In such case, setting avoidCheckingAbstractTypesRecursively: true allows users to continue to use recursive default mappers as before.

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Minor Changes

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Minor Changes

  • #9989 55a1e9e Thanks @eddeee888! - Add generateInternalResolversIfNeeded option

    This option can be used to generate more correct types for internal resolvers. For example, only generate __resolveReference if the federation object has a resolvable @key.

    In the future, this option can be extended to support other internal resolvers e.g. __isTypeOf is only generated for implementing types and union members.

October 07, 2024

07 Oct 15:02
effc3bc
Compare
Choose a tag to compare

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Minor Changes

  • #10077 3f4f546 Thanks @eddeee888! - Extend config.avoidOptions to support query, mutation and subscription

    Previously, config.avoidOptions.resolvers was being used to make query, mutation and subscription fields non-optional.
    Now, config.avoidOptions.query, config.avoidOptions.mutation and config.avoidOptions.subscription can be used to target the respective types.

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Minor Changes

  • #10077 3f4f546 Thanks @eddeee888! - Extend config.avoidOptions to support query, mutation and subscription

    Previously, config.avoidOptions.resolvers was being used to make query, mutation and subscription fields non-optional.
    Now, config.avoidOptions.query, config.avoidOptions.mutation and config.avoidOptions.subscription can be used to target the respective types.

Patch Changes

@graphql-codegen/[email protected]

Minor Changes

  • #10077 3f4f546 Thanks @eddeee888! - Extend config.avoidOptions to support query, mutation and subscription

    Previously, config.avoidOptions.resolvers was being used to make query, mutation and subscription fields non-optional.
    Now, config.avoidOptions.query, config.avoidOptions.mutation and config.avoidOptions.subscription can be used to target the respective types.

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Minor Changes

  • #10077 3f4f546 Thanks @eddeee888! - Extend config.avoidOptions to support query, mutation and subscription

    Previously, config.avoidOptions.resolvers was being used to make query, mutation and subscription fields non-optional.
    Now, config.avoidOptions.query, config.avoidOptions.mutation and config.avoidOptions.subscription can be used to target the respective types.

Patch Changes

@graphql-codegen/[email protected]

Minor Changes

  • #10073 8471a18 Thanks @n1ru4l! - Reduce noise of generated code by only generating code relevant to GraphQL operations.

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

July 28, 2024

28 Jul 13:44
942c25d
Compare
Choose a tag to compare

@graphql-codegen/[email protected]

Patch Changes

July 02, 2024

02 Jul 08:26
1691769
Compare
Choose a tag to compare

@graphql-codegen/[email protected]

Patch Changes

  • #10014 79fee3c Thanks @eddeee888! - Fix object types with fields being abstract types not pointing to resolver types correctly

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

June 30, 2024

30 Jun 06:21
673857c
Compare
Choose a tag to compare

@graphql-codegen/[email protected]

Minor Changes

June 28, 2024

28 Jun 07:56
61b6a94
Compare
Choose a tag to compare

@graphql-codegen/[email protected]

Minor Changes

Patch Changes

  • #10019 14ce39e Thanks @vhfmag! - Improve code generation performance by computing ClientSideBaseVisitor's fragmentsGraph once at instantiation time.

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Minor Changes

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

@graphql-codegen/[email protected]

Patch Changes

June 13, 2024

13 Jun 10:03
cac19e5
Compare
Choose a tag to compare

@graphql-codegen/[email protected]

Patch Changes

  • #9987 5501c62 Thanks @taro-28! - Export configuration types (e.g. AddPluginConfig) from the entry point.

    import type { AddPluginConfig } from '@graphql-codegen/add';

@graphql-codegen/[email protected]

Minor Changes

  • #10001 1be6e65 Thanks @n1ru4l! - Support discriminating null and undefined within the useFragment function.

    function MyComponent(props: FragmentType<typeof MyFragment> | null) {
      const data = useFragment(MyFragment, props);
      // data is `MyFragment | null`
    }
    
    function MyComponent(props: FragmentType<typeof MyFragment> | undefined) {
      const data = useFragment(MyFragment, props);
      // data is `MyFragment | undefined`
    }

    Before, the returned type from useFragment was always TType | null | undefined.

  • #9804 5e594ef Thanks @rachel-church! - Preserving Array<T> or ReadonlyArray<T> in useFragment() return type.

Patch Changes

  • #9996 99f449c Thanks @nahn20! - Added configuration to allow for custom hash functions for persisted documents in the client preset

    Example

    import { type CodegenConfig } from '@graphql-codegen/cli';
    
    const config: CodegenConfig = {
      schema: 'schema.graphql',
      documents: ['src/**/*.tsx'],
      generates: {
        './src/gql/': {
          preset: 'client',
          presetConfig: {
            persistedDocuments: {
              hashAlgorithm: operation => {
                const shasum = crypto.createHash('sha512');
                shasum.update(operation);
                return shasum.digest('hex');
              },
            },
          },
        },
      },
    };
  • Updated dependencies [5501c62]: