タグ

nestjsに関するmizdraのブックマーク (7)

  • NestJSのGraphQL Resolver関数を型安全にしたい

    ユビーではNestJSでGraphQLのサーバー実装をおこなっています。今回は実践で得られた知見を元にNestJSでGraphQLのResolverに対してGraphQLのスキーマから生成したTypeScriptの型を適用する方法について解説します。 前提としてNestJSにはスキーマファーストとコードファーストがありますが、今回はスキーマファーストで書いたうえで、スキーマから型を生成するアプローチを紹介します。 NestJS組み込みの型生成を使う NestJSのスキーマファーストのアプローチではNestJSの組み込みの機能でスキーマからTypeScriptの型を生成することができます。 以下のように書くことで、 graphql.ts に型が生成されます。 GraphQLModule.forRoot<ApolloDriverConfig>({ driver: ApolloDriver, t

    NestJSのGraphQL Resolver関数を型安全にしたい
    mizdra
    mizdra 2024/04/25
    デコレーター使って書くと型安全にならないの困るのわかる。自分はそれが嫌で NestJS を採用しなかったのだけど、GraphQL Codegen 使えば良かったのかー。デコレーターやめたことで発生したトラブルがないかは気になる。
  • Using GraphQL DataLoaders with NestJS

  • How to use DataLoader with NestJS - LogRocket Blog

  • NestJSにおけるテスト戦略アイディア

    社内向けにドキュメント書いたのでついでに公開します。 APIテスト(NestJSでいうところのe2eテスト)をどうするか nestjsの最初のテンプレートだとsrcディレクトリとtestディレクトリがあり、APIテストはapp.e2e-spec.tsという名前でtestディレクトリのなかに入っている。 選択してね 選択肢1 e2eテストをtestディレクトリ配下におくか各モジュールと一緒に置くか testディレクトリ配下におくメリット testディレクトリを指定してe2eテストを実行できる(ただjestはtestRegexpの設定でファイルの拡張子指定できるのであまり意味ないかも)。 testディレクトリ配下におくデメリット srcディレクトリ配下のリソースにアクセスしたいとき、ディレクトリをまたぐことになるのでパスが複雑になる。 せっかく全部がモジュール単位でまとまっているのに、api

    NestJSにおけるテスト戦略アイディア
  • NestJS x GraphQL x Prismaでさくっとページネーションを実装する

    NestJS x GraphQL x Prismaでページネーションを実装しようとしたところ、まだデファクトっぽい方法がなさそうで色々苦労したので対応内容をまとめてみました。 はじめに すでにnestjs/graphql x Prismaの環境が整っているうえで「細かいことはいいからページネーションをさくっと実装したい」という方向けの記事になっています。 そのため、記事中に記載するコードは必要最小限に留めています。 環境 @nestjs/graphql: 10.0.8 @prisma/client: 3.11.1 @devoxa/prisma-relay-cursor-connection: 2.2.2 実装方針 こちらの考えを参考にさせていただきながら、 こちらのライブラリを利用して実装しています。 実装内容(抜粋) 1. 利用するライブラリをインストール 2. @nestjs/grap

    NestJS x GraphQL x Prismaでさくっとページネーションを実装する
    mizdra
    mizdra 2022/10/28
    良さそう
  • NestJS の基礎概念の図解と要約

    はじめに 仕事で使用することになった NestJS について、公式の NestJS Fundamentals Course やドキュメントなどで勉強を進めているのですが、新しい概念が次々と現れるため消化しきれなくなってきました。そこで、まず全体の俯瞰図をしっかりと頭に入れるために、公式ドキュメントの Overview に出てくる範囲の概念を図解して整理し、また各々の役割やプロジェクト内のどこにどのように設定していくかについてまとめることにしました (逆に、大枠とは関係ない部分については大胆に省きました)。 対象読者としては、簡単な CRUD アプリケーションなどを NestJS によって作成したことがあり、基礎的な概念や構成要素について何となくは把握したものの、どうもスッキリとは理解できていない気がする、というような方を想定しています。 この記事が自分のような NestJS 入門者のお役に

    NestJS の基礎概念の図解と要約
    mizdra
    mizdra 2022/10/23
    めっちゃ分かりやすくて良かった。
  • メルカリ Shops での NestJS を使った GraphQL Server の実装 | メルカリエンジニアリング

    ソウゾウの Software Engineer をやっています、@mookjp です。 8/10 の記事「メルカリShopsの技術スタックと、その選定理由」では、メルカリ Shops のアーキテクチャについて、その全体像を紹介しました。 この記事では、そのうちの BFF(Backend for Frontend) レイヤとして用意した GraphQL サーバについて、NestJS を使った実装例を交えて紹介します。 GraphQL とは GraphQL サーバ周辺の構成 NestJS とは GraphQL Module NestJS で Code First なスキーマ定義をする Object types の定義 Query と Mutation の定義 GraphQL スキーマの生成 スキーマの Breaking Change (破壊的変更)を防ぐ DataLoader を使って Bat

    メルカリ Shops での NestJS を使った GraphQL Server の実装 | メルカリエンジニアリング
  • 1