並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 11 件 / 11件

新着順 人気順

graphql-codegenの検索結果1 - 11 件 / 11件

  • GraphQL Code Generator(graphql-codegen) おすすめ設定 for TypeScript

    GraphQL Code Generator v3 以降で標準となった Client preset では設定が大きく異なります。 この記事は Client preset を使わない前提の内容になっているため、注意が必要です。 Client preset 用の設定は別記事で紹介します。 全体 生成物をフォーマッタにかける graphql-codegen には Lifecycle Hooks という仕組みがあり、いくつかの用意された hook ポイントで任意のコマンドを実行できる。 これを使って生成されたコードを Prettier 等のフォーマッタに通しておくのがおすすめ。 基本 DO NOT EDIT とはいえ、コードジャンプしてきて生成された型を読みたいケースはよくある。 そういうときのために、人間が見やすいように改行しておいてもらうといい。 typescript plugin, type

      GraphQL Code Generator(graphql-codegen) おすすめ設定 for TypeScript
    • graphql-codegen は validation 用の schema も自動で生成できる (yup と zod)

      GraphQL Code Generator (a.k.a. graphql-codegen) のプラグインとして graphql-codegen-typescript-validation-schema (Star ください!) を利用すると yup や zod といったフロントエンド validation 用の schema も自動で生成できます。 例えばこのような GraphQL Schema を与えます。ここで記述している constraint directive は confuser/graphql-constraint-directive で提供されているものを想定してます。 input ExampleInput { email: String! @required(msg: "Hello, World!") @constraint(minLength: 50, format:

        graphql-codegen は validation 用の schema も自動で生成できる (yup と zod)
      • graphql-codegen Client Preset 時代(v3~)の おすすめ設定 for TypeScript

        7月はLayerX エンジニアブログを活発にする期間です。今日は誰がなんと言おうと 7/6 です。 昨日 7/5 は「Datadog のコスト最適化で月額費用を 30% 削減した」でした。 2022年10月3日に、GraphQL Code Generator(以下、graphql-codegen)のおすすめ設定に関する記事を公開しました。 しかし、その後、graphql-codegen v3のリリースに伴い、ReactやVueではclient-presetが推奨されるようになりました。 client-preset前提の環境では、利用可能な設定項目などがいくつか変わるため、本記事では改めて、graphql-codegen以降のClient preset時代のおすすめ設定をまとめています。 全体 設定を TypeScript で書く graphql-codegen v3から公式ドキュメントで案

          graphql-codegen Client Preset 時代(v3~)の おすすめ設定 for TypeScript
        • mswとgraphql codegenでGraphQLをモックし、効果的で効率的なReactのテストを書く

          はじめに:テスト戦略の話 そもそもフロントエンドのテストって何をどんな粒度で書けばいいの?という疑問はよくあると思います。これについては以前Qiitaの記事: フロントエンドでTDDを実践する(理論編)で書いているので詳細は省きますが、Testing Trophyの戦略に則り、integration testを中心とし、unitテストは本当に有効なものに絞って書くというのがフロントエンドにおいては有効です。 APIモック フロントエンドのintegration testにおいて課題になるのがAPIのモックです。urqlやapollo clientのようなGraphql Clientでもqueryをモックする仕組みはありますが、どちらもclient自体をモックするような書き方になります。一見問題ないようですが、client側でキャッシュの挙動を制御したりできることもあり、本番コードと異なるコ

            mswとgraphql codegenでGraphQLをモックし、効果的で効率的なReactのテストを書く
          • @graphql-codegen/typescript-react-apolloとの思い出 - スタディサプリ Product Team Blog

            こんにちは、 Web フロントエンドエンジニアの @progfay です。 この記事は Recruit Engineers Advent Calendar 2022 の 12 日目の記事です。 今回はプロジェクト内で使っている @graphql-codegen/typescript-react-apollo package との思い出を書き綴っていきます。 出会い 私の所属するスタディサプリ中学講座の開発プロジェクト (通称: tara) では通信に GraphQL を採用しています。 また、 GraphQL Code Generator を使って GraphQL にまつわる型や関数の生成を行なっています。 Web Frontend では API Client として Apollo Client を使用しており、 TypeScript と React と Apollo Client を合わ

              @graphql-codegen/typescript-react-apolloとの思い出 - スタディサプリ Product Team Blog
            • graphql-codegen と Nominal Typing(Branded Type) で Custom Scalar をちょっといい感じにする | Wantedly Engineer Blog

              graphql-codegen と Nominal Typing(Branded Type) で Custom Scalar をちょっといい感じにする GraphQL では標準で用意されてる Int や String 以外にも、自前で Scalar を定義することができます(ここでは Custom Scalar と呼びます)。よくある用途としては日付を表す Date や日時を表す DateTime でしょうか。 type Profile { birthday: Date } scalar DateCustom Scalar をうまく使えば GraphQL スキーマでドメインを表現する力がかなり高くなるので、みんなで育てる共通言語としてはどんどん活用していきたいです。 一方で、Apollo CLI や GraphQL Code Generator(以下 graphql-codegen)で C

                graphql-codegen と Nominal Typing(Branded Type) で Custom Scalar をちょっといい感じにする | Wantedly Engineer Blog
              • @graphql-codegen/typed-document-node を使ってみた

                しんのきです。 自社サービスで Apollo Client の fetchMore を使ったページネーションを実装する際、出たばかりの TypedDocumentNode を思い出し、これを使えばもっとシンプルに型定義できそうだと思って調査してみました。 結果としては大きなハマりどころもなく期待通り動いてくれました。 (ちなみにドキュメントにもまだ反映されていませんが、 fetchMore と updateQueries を使ったページネーションは Apollo Client v3 で deprecated になっています。これはまた別のお話。) TypedDocumentNode とは TypedDocumentNode は graphql-codegen など GraphQL 関連のツール群を作っている The Guild が 2020 年 7 月にリリースした、 GraphQL ライ

                  @graphql-codegen/typed-document-node を使ってみた
                • GitHub - Code-Hex/graphql-codegen-typescript-validation-schema: GraphQL Code Generator plugin to generate form validation schema from your GraphQL schema

                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                    GitHub - Code-Hex/graphql-codegen-typescript-validation-schema: GraphQL Code Generator plugin to generate form validation schema from your GraphQL schema
                  • Unleash the power of Fragments with GraphQL Codegen (The Guild)

                    There is no doubt that Relay is the most advanced JavaScript GraphQL Client out there. However, at the same time, the learning curve and adoption is yet very sparse compared to other popular alternatives such as Apollo Client, urql, or GraphQL Request. As a consequence, many people don’t even know about all the benefits and patterns used within (and so far being exclusive to) Relay. The Guild gath

                      Unleash the power of Fragments with GraphQL Codegen (The Guild)
                    • Next.js,Prisma,GraphQL Codegenで作るフルスタックWebアプリケーション:Typebase

                      おもにNext.js、Prisma、GraphQL Code Generatorを用いたWebアプリケーションの構築手法について解説した書籍となります。 上記技術に加えて、以下の技術も採用しています。 ・Tailwind CSS ・NextAuth.js ・Apollo GraphQL ・Prettier ・ESLint ・Vitest ・React Testing Library ・GitHub Actions モダンなWebアプリケーションの開発手法について興味がある方にオススメです。 1章 Next.jsのセットアップ 2章 Prismaのセットアップ 3章 GraphQL Code Generatorのセットアップ 4章 テストコードの追加 5章 本番環境へのデプロイ 6章 次のステップ サポートページ:https://github.com/typebase-inc/nextjs-

                        Next.js,Prisma,GraphQL Codegenで作るフルスタックWebアプリケーション:Typebase
                      • モックを自動生成してくれるgraphql-codegen-typescript-mock-dataが便利だった

                        GraphQlのサーバーがあるとクライアント側でgraphql-codegen --config codegen.ymlなどのコマンドで以下のような型ファイルが降臨するので大変便利かと思います。 export type Episode = { __typename?: 'Episode'; /** The id of the episode. */ id?: Maybe<Scalars['ID']>; /** The name of the episode. */ name?: Maybe<Scalars['String']>; /** The air date of the episode. */ air_date?: Maybe<Scalars['String']>; /** The code of the episode. */ episode?: Maybe<Scalars['St

                          モックを自動生成してくれるgraphql-codegen-typescript-mock-dataが便利だった
                        1