Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NestJS GraphQL開発を支える 自作CodeGenerator

fujitani sora
December 18, 2024
19

NestJS GraphQL開発を支える 自作CodeGenerator

fujitani sora

December 18, 2024
Tweet

Transcript

  1. 名前 ・藤谷 想楽(ふじたに そら) ・@_fs0414 ・2001(23) 所属 ・株式会社トリドリ ・開発統括部 ・エンジニア,

    DevRel 自己紹介 TsKaigi2025の運営メンバーやったりもしてます。 イベントページ公開されてます! https://2025.tskaigi.org/
  2. 2022 12月19日 東証グロース市場 に 上場 2016 2017 2019 10月 インフルエンサー広告

    プラットフォームシステム アップロント を展開 株式会社 アップロント 設立 2020 8月 インフルエンサー マネジメント事務所 OTOZURE 設立 株式会社 コラボテクノ ロジー に社名変更 インフルエンサー広告 プラットフォームシステム コラボマーケ ティング & コラボベース をリリース 渋谷 オフィス に移転 株式会社 トリドリ に社名変更 各サービス toridori シリーズ へ名称変更 2021 7月 株式会社 GIVIN と事業統合 インフルエンサーブランド 立ち上げ支援 toridori made 始動 10月 10月 9月 6月 沿革 2023 12月 株式会社 OverFlow と事業統合
  3. toridoriのNestJS GraphQL • Dmian単位でFeatureModuleに分割し、必要なファイルを配置している • Resolver • Model • Service

    • Entity • QueryService • Repository • DTO • TxService(Transaction管理用Class) • etc… FeatureModule 特定のドメインに関連する Contoller, Service, Repositoryなどをまとめた Module。
  4. 新しいFeatureModuleを作成したい • Resolver 1. ファイルを作成していつものコードを記述 2. index.tsでexport • Module 1.

    ファイルを作成してinports, providers, exportsを記述 2. graphql.module.tsにFeatureModuleを登録 • 手で毎回作成しているとミスも起きる • デフォルトのNest CLIだけだと、プロジェクト独自のClass生成に対応できない • 新しいFeatureModuleを作成する時は、大体ServiceとかRepositoryとかも一度に必要。 ◦ [ExceptionHandler] Nest can't resolve dependencies 🥺 ◦ 個別に作って依存解決を気にするのはめんどくさい