Closed7
フルJS環境で楽して開発したい

とりあえずサーバー、フロントエンド(web)の言語を共通化して楽したい
選択肢としてwebはReactを採用したいのでサーバもNodeが最適と判断

コードは極力書きたくないのでprismaで自動生成して吐き出してもらう
いいライブラリが多すぎる
typegraphqlのコードを吐き出してもらった

自動生成したコードを極力有効活用するためにはモデルやリゾルバは編集しないことが必要だった
つまりミドルウェアで諸々やっていくことになった

graphql-shield
これが神がかってた
contextとかから各Query, Mutationの権限周りの設定をできる

認証周りもjwtとかのミドルウェア挟んで完了
楽したいのでfirebase authentication採用

リクエストボディのバリデーションはzodのObjectTypeを使ってgraphql-shieldと同じ感じで定義できるようにした
OSS化するのもあり
zodで定義したバリデーションはフロントエンドのreact-hook-formとかでも流用したいので共通化

問題点
・自分でコード書くのがだるい
このスクラップは2023/10/12にクローズされました