GraphQLフォーマッター
このGraphQLフォーマッターでGraphQLのクエリ、ミューテーション、フラグメント、スキーマを整形します。ドキュメントを貼り付けると、GraphQLパーサーで解析し、標準的な形式で出力します。インデントは半角スペース2つ、フィールドは1行に1つ、フィールド間のカンマは削除され、引数と変数の空白は統一されます。構文エラーも報告されるため、APIの開発者はドキュメント、レビュー、デバッグに使える読みやすいオペレーションとSDLを得られます。
よくある質問
GraphQL Formatterはどのように動作しますか?
ドキュメントをGraphQLの構文木に解析し、標準的なレイアウトで出力し直します。ドキュメントを解析するため、無効なGraphQLは誤った形式に整形されず、エラーになります。
何をフォーマットできますか?
クエリ、ミューテーション、サブスクリプション、フラグメントに加え、type、input、enum、interface、union、schemaブロックなどのSDLスキーマ定義をフォーマットできます。1つのドキュメントに複数の定義を含めることもできます。
出力はどのような形式ですか?
各選択セットは2つのスペースでインデントされ、フィールドごとに1行で表示されます。フィールド間のカンマは削除されます。引数と変数定義では、各コロンの後にスペースが入ります。例:user(id: $id)。
構文エラーがあるとどうなりますか?
ツールは処理を停止し、「Syntax Error: Expected Name, found }」のようなパーサーのメッセージを表示します。報告された箇所を修正して、もう一度フォーマットしてください。
コメントは保持されますか?
フォーマッターは、閉じ波括弧の後など、パーサーが関連付けられる位置にハッシュコメント(#)を保持します。スキーマの型やフィールドに付けられた引用符付きの説明はドキュメントの一部であり、常に保持されます。
スキーマに照らしてクエリを検証できますか?
いいえ。このツールが確認するのは構文だけです。フィールドや引数が存在するかどうかはサーバーのスキーマで決まるため、検証にはGraphQLクライアントまたはサーバーを使用してください。
JavaScriptからコピーしたクエリ文字列をフォーマットできますか?
周囲の引用符、バッククォート、gqlタグを含めず、GraphQLドキュメントだけを貼り付けてください。JSONペイロード内のエスケープ文字は、先にエスケープを解除してください。
インデントを変更できますか?
いいえ。フォーマッターは常に2つのスペースを使用し、オプションはありません。これは、多くのGraphQLツールやドキュメントで使われているレイアウトに合わせたものです。
結果がgraphqlのコードフェンスで囲まれているのはなぜですか?
出力はgraphqlと指定されたMarkdownコードブロックとして返されるため、Markdownでシンタックスハイライトされます。.graphqlファイルには、フェンスの間にある行をコピーしてください。
ドキュメントのサイズ上限はどれくらいですか?
1回につき最大5 MBです。それより大きい入力はメッセージとともに拒否されます。出力はCode FormatterのGraphQLオプションと同じです。