openpanel/packages/graphql/CHANGELOG.md
Stefan Pejcic 09f9f9502d packages
2024-11-07 19:03:37 +01:00

24 KiB

@refinedev/graphql

7.0.0

Major Changes

  • #6336 58e90f26248ed3d1bc92ae748f03a2cbe71721c2 Thanks @aliemir! - feat: rewrite GraphQL data provider.

    We've modernized GraphQL dataprovider to make it more flexible and strictly coupled into a specific API schema. You can utilize option parameter to change the behaviour of the data provider. You can also do it individually for a single action. We've removed gql-query-builder and graphql-request dependencies and now using @urql/core as a GraphQL client. This means now it's required to pass either gqlQuery or gqlMutation to the hooks, meta.fields usage is removed. graphql-tag package is also removed since @urql/core already has gql export to write queries & mutations. We are no more re-exporting other packages, just our data provider, live provider and defaultOptions.

    See the updated documentation for more details: https://refine.dev/docs/data/packages/graphql/

    Resolves #5942 Resolves #5943

6.5.4

Patch Changes

6.5.3

Patch Changes

6.5.2

Patch Changes

  • #5928 db9756e7908 Thanks @aliemir! - fix: type errors on typescript <5

    Due to the changes in #5881, typescript users below version 5 are facing type errors. This PR fixes the type errors by updating the file extensions required by the d.mts declaration files to provide a compatible declarations for both typescript 4 and 5 users.

6.5.1

Patch Changes

6.5.0

Minor Changes

  • #5742 028ba6a11d0 Thanks @alicanerdurmaz! - feat: add gqlQuery and gqlMutation support. #5743

    Previously, @refinedev/graphql package only supported GraphQL operations through meta.fields.

    Now we've added gqlQuery and gqlMutation fields in meta object.

    You can utilize these fields along with graphql-tag package to build your queries/mutations.

    See the updated documentation for more information: https://refine.dev/docs/packages/data-providers/graphql

    Query Example:

    import { useList } from "@refinedev/core";
    import gql from "graphql-tag";
    
    const POSTS_LIST_QUERY = gql`
      query PostList($where: JSON, $sort: String) {
        posts(where: $where, sort: $sort) {
          id
          title
          content
          category {
            id
          }
        }
      }
    `;
    
    const { data } = useList({
      resource: "posts",
      meta: { gqlQuery: POSTS_QUERY },
    });
    

    Mutation Example:

    import { useForm } from "@refinedev/core";
    import gql from "graphql-tag";
    
    const POST_CREATE_MUTATION = gql`
      mutation createPost($input: createPostInput!) {
        createPost(input: $input) {
          id
          title
          content
          category {
            id
          }
        }
      }
    `;
    
    const { formProps } = useForm({
      resource: "posts",
      meta: { gqlMutation: CREATE_POST_MUTATION },
    });
    

Patch Changes

  • #5765 0c197d82393 Thanks @aliemir! - refactor: package bundles and package.json configuration for exports

    Previously, Refine packages had exported ESM and CJS bundles with same .js extension and same types for both with .d.ts extensions. This was causing issues with bundlers and compilers to pick up the wrong files for the wrong environment. Now we're outputting ESM bundles with .mjs extension and CJS bundles with .cjs extension. Also types are now exported with both .d.mts and .d.cts extensions.

    In older versions ESM and CJS outputs of some packages were using wrong imports/requires to dependencies causing errors in some environments. This will be fixed since now we're also enforcing the module type with extensions.

    Above mentioned changes also supported with changes in package.json files of the packages to support the new extensions and types. All Refine packages now include exports fields in their configuration to make sure the correct bundle is picked up by the bundlers and compilers.

  • #5754 56ed144a0f5 Thanks @alicanerdurmaz! - chore: TypeScript upgraded to v5.x.x. #5752

6.4.9

Patch Changes

6.4.8

Patch Changes

6.4.7

Patch Changes

6.4.6

Patch Changes

  • #5022 80513a4e42f Thanks @BatuhanW! - chore: update README.md

    • fix grammar errors.
    • make all README.md files consistent.
    • add code example code snippets.

6.4.5

Patch Changes

  • #5022 80513a4e42f Thanks @BatuhanW! - chore: update README.md

    • fix grammar errors.
    • make all README.md files consistent.
    • add code example code snippets.

6.4.4

Patch Changes

  • #4530 a90f14301c3 Thanks @hbtecRJE! - fix(graphql): issue with graphql liveprovider subscription query

    For the graphql subscription, 'query' was used instead of 'subscription'.

6.4.3

Patch Changes

  • #4530 a90f14301c3 Thanks @hbtecRJE! - fix(graphql): issue with graphql liveprovider subscription query

    For the graphql subscription, 'query' was used instead of 'subscription'.

6.4.2

Patch Changes

6.4.1

Patch Changes

6.4.0

Minor Changes

  • #4211 dca1d8b7ca8 Thanks @mattbho! - Custom GraphQL data provider now allow users to provide a custom InputType via the meta field.

6.3.0

Minor Changes

  • #4211 dca1d8b7ca8 Thanks @mattbho! - Custom GraphQL data provider now allow users to provide a custom InputType via the meta field.

6.2.0

Minor Changes

  • #4168 51ab614f75b Thanks @alicanerdurmaz! - feat: added refine.config.js to support swizzling. Now with swizzle support, you can easily customize graphql data provider for your needs.

    feat: tests added for utility functions.

    chore: utility functions have been moved to their own files.

6.1.0

Minor Changes

  • #4168 51ab614f75b Thanks @alicanerdurmaz! - feat: added refine.config.js to support swizzling. Now with swizzle support, you can easily customize graphql data provider for your needs.

    feat: tests added for utility functions.

    chore: utility functions have been moved to their own files.

6.0.1

Patch Changes

6.0.0

Major Changes

5.1.0

Minor Changes

  • Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk!

    • metaData prop is now deprecated for all data provider methods. Use meta prop instead.

      For backward compatibility, we still support metaData prop with refine v4.

      create: async ({
      -    metaData
      +    meta
      }) => {
          ...
      },
      
    • sort, hasPagination, and metaData parameters of getList method are now deprecated. Use sorters, pagination, and meta parameters instead.

      For backward compatibility, we still support sort, hasPagination and metaData props with refine v4.

      getList: async ({
      -    sort
      +    sorters
      -    hasPagination
      +    pagination: { mode: "off" | "server | "client" }
      -    metaData
      +    meta
      }) => {
          ...
      },
      
  • Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk! Moving to the @refinedev scope 🎉🎉

    Moved to the @refinedev scope and updated our packages to use the new scope. From now on, all packages will be published under the @refinedev scope with their new names.

    Now, we're also removing the refine prefix from all packages. So, the @pankod/refine-core package is now @refinedev/core, @pankod/refine-antd is now @refinedev/antd, and so on.

Patch Changes

4.15.0

Minor Changes

4.14.0

Minor Changes

4.13.0

Minor Changes

  • #3597 69140d996ed Thanks @aliemir! - Fix typo in variable names. Exported helper genereteSort is renamed to generateSort but the old name is still exported for backward compatibility.

4.12.0

Minor Changes

  • #3597 69140d996ed Thanks @aliemir! - Fix typo in variable names. Exported helper genereteSort is renamed to generateSort but the old name is still exported for backward compatibility.

4.11.0

Minor Changes

  • Only or was supported as a conditional filter. Now and and or can be used together and nested. 🚀

    {
      operator: "or",
      value: [
        {
          operator: "and",
          value: [
            {
              field: "name",
              operator: "eq",
              value: "John Doe",
            },
            {
              field: "age",
              operator: "eq",
              value: 30,
            },
          ],
        },
        {
          operator: "and",
          value: [
            {
              field: "name",
              operator: "eq",
              value: "JR Doe",
            },
            {
              field: "age",
              operator: "eq",
              value: 1,
            },
          ],
        },
      ],
    }
    

4.10.0

Minor Changes

  • #2751 addff64c77 Thanks @yildirayunlu! - Only or was supported as a conditional filter. Now and and or can be used together and nested. 🚀

    {
      operator: "or",
      value: [
        {
          operator: "and",
          value: [
            {
              field: "name",
              operator: "eq",
              value: "John Doe",
            },
            {
              field: "age",
              operator: "eq",
              value: 30,
            },
          ],
        },
        {
          operator: "and",
          value: [
            {
              field: "name",
              operator: "eq",
              value: "JR Doe",
            },
            {
              field: "age",
              operator: "eq",
              value: 1,
            },
          ],
        },
      ],
    }
    

4.9.0

Minor Changes

  • Updated dataProvider types with Required utility to mark getMany, createMany, updateMany and deleteMany as implemented.

4.8.0

Minor Changes

  • #2688 508045ac30 Thanks @aliemir! - Updated dataProvider types with Required utility to mark getMany, createMany, updateMany and deleteMany as implemented.

4.7.0

Minor Changes

  • Update type declaration generation with tsc instead of tsup for better navigation throughout projects source code.

4.6.0

Minor Changes

  • #2440 0150dcd070 Thanks @aliemir! - Update type declaration generation with tsc instead of tsup for better navigation throughout projects source code.

4.5.0

Minor Changes

  • All of the refine packages have dependencies on the @pankod/refine-core package. So far we have managed these dependencies with peerDependencies + dependencies but this causes issues like #2183. (having more than one @pankod/refine-core version in node_modules and creating different instances)

    Managing as peerDependencies + devDependencies seems like the best way for now to avoid such issues.

4.4.0

Minor Changes

  • #2217 b4aae00f77 Thanks @omeraplak! - All of the refine packages have dependencies on the @pankod/refine-core package. So far we have managed these dependencies with peerDependencies + dependencies but this causes issues like #2183. (having more than one @pankod/refine-core version in node_modules and creating different instances)

    Managing as peerDependencies + devDependencies seems like the best way for now to avoid such issues.

4.3.0

Minor Changes

  • @pankod/refine-core

    • Added extra params to useSubscription and useResourceSubscription
    • useOne, useMany and useList passed extra params to own subscription hook.

    @pankod/refine-hasura

    • Added liveProvider.

    To see an example of how to use it, check out here.

    @pankod/refine-nhost

    • Added liveProvider.

    To see an example of how to use it, check out here.

    @pankod/refine-graphql

    • Added liveProvider.

Patch Changes

  • Updated dependencies []:
    • @pankod/refine-core@3.42.0

4.2.0

Minor Changes

  • #2120 2aa7aace52 Thanks @salihozdemir! - ### @pankod/refine-core

    • Added extra params to useSubscription and useResourceSubscription
    • useOne, useMany and useList passed extra params to own subscription hook.

    @pankod/refine-hasura

    • Added liveProvider.

    To see an example of how to use it, check out here.

    @pankod/refine-nhost

    • Added liveProvider.

    To see an example of how to use it, check out here.

    @pankod/refine-graphql

    • Added liveProvider.

Patch Changes

  • Updated dependencies [2aa7aace52]:
    • @pankod/refine-core@3.41.0

4.1.0

Minor Changes

  • Upgraded grapql-request version in graphql data provider packages.

    Now the graphql-request and qql-query-builder packages are exported in these packages.

    - import dataProvider from "@pankod/refine-strapi-graphql";
    - import { GraphQLClient } from "graphql-request";
    - import * as qqlQueryBuilder from "gql-query-builder";
    + import dataProvider, { GraphQLClient, qqlQueryBuilder } from "@pankod/refine-strapi-graphql";
    

Patch Changes

  • Updated dependencies []:
    • @pankod/refine-core@3.38.2

4.0.0

Major Changes

  • #2113 c2fb7ac0e9 Thanks @omeraplak! - Upgraded grapql-request version in graphql data provider packages.

    Now the graphql-request and qql-query-builder packages are exported in these packages.

    - import dataProvider from "@pankod/refine-strapi-graphql";
    - import { GraphQLClient } from "graphql-request";
    - import * as qqlQueryBuilder from "gql-query-builder";
    + import dataProvider, { GraphQLClient, qqlQueryBuilder } from "@pankod/refine-strapi-graphql";
    

Patch Changes

  • Updated dependencies [ee8e8bbd6c]:
    • @pankod/refine-core@3.38.1

3.25.4

Patch Changes

  • Updated pagination parameters default values and added hasPagination property to getList method of the data providers.

    Implementation

    Updated the getList method accordingly to the changes in the useTable and useList of @pankod/refine-core. hasPagination is used to disable pagination (defaults to true)

    Use Cases

    For some resources, there might be no support for pagination or users might want to see all of the data without any pagination, prior to these changes this was not supported in refine data providers.

  • Updated dependencies []:

    • @pankod/refine-core@3.36.0

3.25.3

Patch Changes

  • #2050 635cfe9fdb Thanks @ozkalai! - Updated pagination parameters default values and added hasPagination property to getList method of the data providers.

    Implementation

    Updated the getList method accordingly to the changes in the useTable and useList of @pankod/refine-core. hasPagination is used to disable pagination (defaults to true)

    Use Cases

    For some resources, there might be no support for pagination or users might want to see all of the data without any pagination, prior to these changes this was not supported in refine data providers.

  • Updated dependencies [ecde34a9b3, 635cfe9fdb]:

    • @pankod/refine-core@3.35.0

3.25.2

Patch Changes

  • Added graphql-request dependency to peerDependencies

3.25.1

Patch Changes

3.22.2

Patch Changes

  • Updated dependencies [2deb19babf]:
    • @pankod/refine-core@3.23.2