https://zenn.dev/sonatard/articles/ca764e39c6d257
Appify Technologiesでは以下のGraphQLの静的解析ツールをGoで実装しました。
忘れないうちにGraphQLの静的解析ツールの実装方法をまとめておこうと思います。
Goの .go
ファイルの静的解析ツールの作成にはanalysis を利用しますが、GraphQLファイルの静的解析ツールの作成にはgqlgo/gqlanalysis を利用します。
gqlgo/gqlanalysisは弊社の副業で@tenntennさんに作って頂いたライブラリ[1]で、Goのanalysisと同等な使用感で静的解析ツールの実装とテストを行うことができます。
gqlgo/gqlanalysisは、内部でvektah/gqlparserを利用してGraphQLファイルをパースします。gqlparserは99designs/gqlgenが利用しているライブラリです。
gqlskeleton
は、GraphQLの静的解析開発の基盤となるソースコードを生成してくれるツールです。
インストールして基盤となるソースコードを生成します。
$ go install github.com/gqlgo/gqlanalysis/cmd/gqlskeleton@latest
以下の 自分のorg
を変更して実行する。