GraphQLフォーマッター&圧縮
GraphQLクエリとスキーマをシンタックスハイライト付きでフォーマット、圧縮、バリデーションします。
このツールについて
GraphQLフォーマッター&圧縮ツールは、GraphQLのクエリ、ミューテーション、サブスクリプション、スキーマ定義を扱う開発者を支援する無料のブラウザベースのツールです。新しいAPIの構築、複雑なクエリのデバッグ、ドキュメントの準備など、乱雑または圧縮されたGraphQLを数秒でクリーンで読みやすいコードに変換します。
すべての処理はブラウザ内で完全に実行されます。GraphQLクエリやスキーマ定義がサーバーに送信されたり、ログに記録されたり、サードパーティと共有されることはありません。内部API、プロプライエタリなスキーマ、機密性の高いフィールド名やビジネスロジックを含むクエリにも安全にご利用いただけます。
フォーマッターには、すべての主要なGraphQLコンストラクトを認識するゼロから構築されたカスタムGraphQLトークナイザーが含まれています:オペレーション定義(query、mutation、subscription)、フラグメントとインラインフラグメント、型システム定義(type、input、enum、interface、union、scalar)、ディレクティブ、変数、コメント。出力にはキーワード、型、文字列、コメント、ディレクティブ、変数に異なる色を使用したシンタックスハイライトが施され、複雑なオペレーションの視覚的な解析が容易になります。
フォーマットモードでは、プロジェクトの規約に合わせて2スペースまたは4スペースのインデントを選択できます。フォーマッターは各フィールドを個別の行に配置し、セレクションセットを適切にネストし、コメントを論理的な位置に保持します。圧縮モードでは、不要な空白とコメントをすべて除去し、可能な限りコンパクトな表現を生成します。本番環境のGraphQLクライアントでペイロードサイズを削減したり、設定ファイルにクエリを埋め込んだりする場合に最適です。
組み込みのバリデーターは、括弧の不一致、閉じられていない丸括弧、予期しない文字などの一般的な構文問題をチェックします。バリデーション結果は具体的なエラーメッセージとともにインラインで表示され、GraphQLサーバーにクエリを送信する前に問題を特定して修正するのに役立ちます。
使い方
- 左側の入力パネルにGraphQLクエリ、ミューテーション、サブスクリプション、またはスキーマ定義を貼り付けるか入力します(またはサンプルボタンで例を読み込みます)。
- ツールは入力を自動的に処理し、出力パネルにシンタックスハイライト付きで結果を表示します。
- ツールバーのボタンでフォーマットモードと圧縮モードを切り替えます。
- フォーマットモードでは、プロジェクトのスタイルに合わせて2スペースと4スペースのインデントを切り替えます。
- 出力ラベルの横のバリデーションバッジを確認します。Validは正しい構文を確認し、Has Issuesは上部に詳細が表示される潜在的な問題を示します。
- コピーをクリックしてフォーマットまたは圧縮された出力をクリップボードにコピーするか、キーボードショートカット Ctrl+Shift+C を使用します。
- クリアをクリックして両パネルをリセットします。パネルの下のサイズ比較は、元のサイズと結果のサイズをバイト数と変化率で表示します。
よくある質問
データは安全ですか?
はい。すべてのフォーマット、圧縮、バリデーションはJavaScriptを使用してブラウザ内で完全に実行されます。GraphQLクエリやスキーマ定義がサーバーに送信されることはありません。データは常に端末に留まります。
どのGraphQLコンストラクトに対応していますか?
本ツールはクエリ、ミューテーション、サブスクリプション、フラグメント、インラインフラグメント、型定義、入力型、列挙型、インターフェース、ユニオン、スカラー、ディレクティブ、変数、コメント(単行およびブロック文字列)を含むすべての主要なGraphQLコンストラクトをサポートしています。
圧縮ボタンは何をしますか?
圧縮ボタンはGraphQLからすべてのコメントと不要な空白を除去し、最もコンパクトな表現を生成します。トークンの区切りに必要なスペース(キーワードと名前の間など)のみ保持されます。本番クライアントやパーシステッドクエリでペイロードサイズを削減するのに便利です。
フォーマッターはコメントを保持しますか?
フォーマットモードでは、コメントは保持され、適切なインデントで独自の行に配置されます。圧縮モードでは、可能な限り小さい出力を生成するためにコメントは除去されます。
GraphQLスキーマ定義をフォーマットできますか?
はい。本ツールはクエリ側のオペレーション(query、mutation、subscription、fragment)とスキーマ側の定義(type、input、enum、interface、union、scalar、directive、extend)の両方を処理します。スキーマファイル全体を貼り付けると、フォーマッターがすべての型定義をインデントして整理します。
どのようなバリデーションチェックが実行されますか?
バリデーターは波括弧、丸括弧、角括弧の一致をチェックします。また、GraphQL構文で有効でない予期しない文字も検出します。スキーマ対応の完全なバリデーション(サーバーサイドのスキーマが必要)は行いませんが、GraphQLサーバーがクエリを拒否する最も一般的な構造エラーをキャッチします。
利用可能なキーボードショートカットは?
Ctrl+Enter(macOSではCmd+Enter)でフォーマットモードに切り替え、Ctrl+Shift+C(macOSではCmd+Shift+C)でフォーマットまたは圧縮された出力をクリップボードにコピーします。