graphiql - GraphiQL は、GraphQL クエリを記述、検証、およびテストするためのブラウザー内ツールです。

(GraphiQL & the GraphQL LSP Reference Ecosystem for building browser & IDE tools.)

Created at: 2015-08-11 10:56:22
Language: TypeScript
License: MIT

GraphQL IDE モノレポ

セキュリティ通知: GraphiQL Web アプリが接続する GraphQL サーバーが信頼されていない場合、すべてのバージョンの

graphiql
<は XSS 攻撃に対して脆弱です。
1.4.7
詳しくは、graphiql
security
docs ディレクトリをご覧ください

GraphiQL ドキュメントをお探しですか? :これがモノレポの根幹!完全な GraphiQL ドキュメントは次の場所にあります。

packages/graphiql

ビルド ステータス 不和 コード カバレッジ GitHub トップ言語 GitHub 言語数 GitHub リポジトリの Snyk 脆弱性 LGTMグレード LGTM アラート CII のベスト プラクティス

概要

GraphiQL は、GraphQL Foundation の公式プロジェクトである、この monorepo、GraphQL IDE のリファレンス実装です。コードは寛容な MIT ライセンスを使用しています。

サーバー用の単純な GraphiQL IDE インスタンスが必要な場合でも、フレームワークまたはプラグイン用のより高度な Web またはデスクトップ GraphQL IDE エクスペリエンスが必要な場合でも、IDE 拡張機能またはプラグインを構築したい場合でも、適切な場所に来ました!

この monorepo の目的は、GraphQL コミュニティに以下を提供することです。

  • 仕様の公式言語サービス (参照: API ドキュメント)
  • IDE で使用するための包括的な LSP サーバーと CLI サービス
  • コードミラーモード
  • モナコモード(製作中)
  • このエコシステムを GraphiQL で使用する方法の例。
  • GraphiQL を実装または拡張する方法の例。

graphiql

NPM jsDelivr ヒット (npm) npm ダウンロード npm パッケージの Snyk 脆弱性 npm バンドル サイズ (バージョン) npm バンドル サイズ (バージョン)

Doc Explorer を開いた状態の GraphiQL のスクリーンショット

/ˈɡrafək(ə)l/グラフィカルでインタラクティブなブラウザー内 GraphQL IDE。ライブデモをお試しください。ブランチ用の最新の netlify ビルドを使用したデモもあります

main

React で実装された GraphiQL IDE は、現在CodeMirrorおよびGraphQL 言語サービスの GraphQL モードを使用しています。

GraphiQL の詳細については、

packages/graphiql/README.md

monaco-graphql

NPM jsDelivr ヒット (npm) npm ダウンロード npm パッケージの Snyk 脆弱性

Monaco エディターに強力なスキーマ駆動型のグラフql 言語モードを提供します。

GitHub API を使用したプレーンな JavaScript デモについては、 webpack の例を参照してください。

codemirror-graphql

NPM jsDelivr ヒット (npm) npm ダウンロード npm パッケージの Snyk 脆弱性

アニメーション化された Codemirror GraphQL 補完の例

CodeMirror に GraphQL 用のパーサー モードと、GraphQL スキーマを利用したライブ リンターおよび先行入力ヒントを提供します。

graphql-language-service

NPM npm ダウンロード npm パッケージの Snyk 脆弱性

およびの言語サービスを提供します。

graphql-language-service-server
codemirror-graphql
monaco-graphql

graphql-language-service-server

NPM npm ダウンロード npm パッケージの Snyk 脆弱性

LSP ベースの IDE 拡張機能に言語サービスを提供します

graphql-language-service-server-cli

NPM npm ダウンロード npm パッケージの Snyk 脆弱性

言語サービス サーバーの CLI を提供します

ブラウザとランタイムのサポート

これらのパッケージの多くは、複数の環境で動作する必要があります。

デフォルトでは、すべての typescript パッケージは をターゲットにしています

es6

graphql-language-service-server
ノードランタイム用に作成されて
graphql-language-service-cli
いるため、ターゲット
es2017

codemirror-graphql
および
graphiql
ブラウザー バンドルは を使用します。これは
.browserslistrc
、最新のブラウザーをターゲットにして、バンドル サイズを小さく保ち、async/await が使用される言語サービスのパフォーマンスを維持します。特に、
regenerator-runtime
または特別なバベル構成の要件を回避します。

.browserslistrc
:

last 2 versions
Firefox ESR
not dead
not IE 11
not ios 10
maintained node versions

明確に言うと、Internet Explorer や古いバージョンのエバーグリーン ブラウザーはサポートしていません。

発達

この monorepo のローカル開発のセットアップを取得するには、DEVELOPMENT.mdを参照してください。

このレポに貢献する

これはオープン ソース プロジェクトであり、貢献を歓迎します。貢献方法の詳細については、CONTRIBUTING.mdを参照してください 。

このリポジトリは EasyCLA によって管理されています。プロジェクト参加者は、貢献する前に無料のGraphQL 仕様メンバーシップ契約に署名する必要があります。これは 1 回だけ行う必要があり、個々の貢献者またはその雇用者が署名することができます。

署名プロセスを開始するには、このリポジトリに対して PR を開いてください。EasyCLA ボットは、まだメンバーシップ契約が必要な場合、マージをブロックします。

EasyCLA は、特定の GitHub ボットからのコミットを受け入れるように構成されていることに注意してください。これらは、作成したコンテンツが著作権で保護されたコンテンツで構成されている可能性が低いか、すでに CLA に署名している人物 (プロジェクト メンテナーなど) によって作成されたものであると確信した場合に、例外的に承認されます。現在、例外として承認されているボットは次のとおりです。

  • github-actions (アクション専用
    changesets
    )

詳細については、こちらを参照してください。問題がある場合は、operations @graphql.org にメールしてください。

メンテナ

このリポジトリのメンテナーは、定期的に PR と問題をレビューし、GraphiQL ロードマップの前進を支援します

卒業生

これらの素晴らしい過去のメンテナがいなければ、私たちはどこにいるでしょうか?!

  • @leebyron - すべてのライブラリのオリジナルの作者
  • @asiandrummer - GraphiQL のオリジナル作成者
  • @wincent - 初期の共同執筆者およびメンテナー
  • @lostplan - 2017年頃まで言語サービスのエコシステムを維持
  • @IvanGoncharov - @acao などのメンテナーおよび移行メンター
  • @orta - 長年にわたってプロジェクトの非常に多くの部分を支援し、元の再設計を提供してくれました!
  • @divyenduz - の最初の作成者で
    vscode-graphql
    あり、エコシステムの多くに貢献しています。ありがとうディヴィ!

アクティブ

現在アクティブなメンテナー (程度の差はありますが、discord チャンネルからご連絡ください!):

すべてのヘルプとサポートについて、graphql コミュニティに感謝します。私はあなたのためにそれをすべてやりました、そして私はあなたなしではそれをすることができなかったでしょう❤️- @アカオ

フィールディング提案!

新しい GraphiQL プラグイン API の提案や、残りの IDE エコシステムのパフォーマンス、スケーラビリティ、相互運用性、および拡張性を向上させる方法に関するその他のアイデアの扉が開かれています。PRを開いて

/proposals/
ディレクトリにドキュメントを作成してください。最終的には、これらをこの目的に役立つリポジトリに移動したいと考えています。

コミュニティ

  • Discord 不和 - github 以外のほとんどの議論は、GraphQL Discord サーバーで行われます
  • Twitter - @GraphiQLおよび#GraphiQL
  • GitHub - 上記の機能リクエスト、ディスカッションの問題、およびバグを作成します
  • ワーキング グループ- はい、招待されています。毎月の企画・意思決定会議、隔週ごとのワーキングセッションをzoomで!もっと詳しく知る。