本文へスキップ

GraphQL整形

GraphQL Formatter

クエリとSDLを整形し、スキーマに照らして文書を検証して、解決される型を示します。

GraphQLの文書を、慣例どおりの体裁で出力し直します。1フィールドに1行、引数のあいだに空白、選択の深さに応じたインデントです。2021年10月版の文法を丸ごとパースするので、ディレクティブやインターフェース、ユニオンの入ったスキーマファイルも、クエリと同じように通ります。

🔒 ブラウザの中だけで動きますgraphqlformatschema

GraphQL 入力

整形結果

トークン列

入力と同じ

2021 年 10 月の文法をすべて解析します。オペレーションとフラグメントはもちろん、型システム言語まで読み、慣例的な体裁で書き直します。コメントは残し、カンマは無視されるトークンなので整理して落とします。出力が入力のトークンをそのまま持っているかどうかは、実行のたびに確かめています。

使い方

  1. 文書を貼り付けるか、ファイルを開きます

    クエリでもミューテーションでもフラグメントでも、`.graphql`のスキーマ全体でも構いません。無名の操作も、名前付きの操作も受け付けます。

  2. トークン列の表示を見ます

    実行のたびに、出力を自分でトークン化し直して入力と比べます。配置のほかに何も動いていなければ「入力と同じ」と出て、そうでなければはっきり知らせます。

  3. 結果をコピーするか、ダウンロードします

    ダウンロードはMIMEタイプの正しい`.graphql`ファイルなので、スキーマのディレクトリにそのまま置けます。

よくある質問

カンマが消えたのはなぜですか

GraphQLではカンマは無視されるトークンです。形のある空白にすぎません。慣例の体裁にはカンマが無いので整理して外しますが、外しても意味は変わりません。

コメントは残りますか

残りますし、実行後の比較がそれも確かめます。出力にあるコメントのトークンは、入力にあったものと一致していなければなりません。フィールドの上の`# deprecated`の行を消すフォーマッタは、次に読む人にとっては文書を壊したのと同じです。

スキーマに照らしてクエリの検証もしますか

しません。見るのは文法であって意味ではありません。存在しないフィールドを求めるクエリも構文としては完璧で、そのまま整形されます。検証にはスキーマが要りますが、このページがスキーマを持つことはありません。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。