Repolode
graphile

graphile/crystal

Grafast実行エンジンとPostGraphile自動GraphQL APIビルダーを含む、GraphQL・PostgreSQL関連ツールのモノレポ。

代替できる製品:Hasura

スター
12,934
フォーク
631
未解決の Issue
181
最終コミット
14 時間前

これは何?

Graphile Crystalは、Graphileプロジェクトの多数のパッケージを含むモノレポで、その大半はGraphQL関連です。中心となるプロジェクトは2つあります。ひとつは、GraphQL.js向けのプランニング・実行エンジンGrafastで、executeメソッドを置き換える形で利用できます。もうひとつは、PostgreSQLデータベースからGraphQL APIを自動生成するPostGraphileです。

Grafastは従来のresolverではなくplan resolverを使うため、GraphQLリクエストの宣言的な構造を活用し、ビジネスロジックをより効率的に実行できます。PostGraphileはデータベースを信頼できる唯一の情報源として扱い、graphile-exportを使って、後から手作業で保守するAPIの出発点としても利用できます。

このリポジトリには、タグ付きテンプレートリテラルでパラメーター化されたPostgreSQLクエリを構築するpg-sql2、型付きのデータベースイントロスペクションを行うpg-introspection、プラグインとプリセットを設定するgraphile-config、プラグインからGraphQLスキーマを組み立てるgraphile-buildなど、各種サポートライブラリも含まれています。PostGraphile V4向けの旧バージョンは、別のブランチで保守されています。

主な機能

  • 01GraphQL.jsのexecuteを置き換える形で組み込める、プランニング・実行エンジンを提供します。
  • 02PostgreSQLスキーマからGraphQL APIを自動生成します。
  • 03plan resolverを使うことで、エンジンが最適化できる形でビジネスロジックを宣言できます。
  • 04タグ付きテンプレートリテラルから、SQLインジェクションに安全なPostgreSQLクエリを構築します。
  • 05動的に構築したスキーマを、通常のJavaScriptソースとしてエクスポートできます。

ユースケース

  • 効率的なデータロードが必要な、GraphQL.jsベースのGraphQLサーバーを構築する。
  • 既存のPostgreSQLデータベースからGraphQL APIを直接生成する。
  • PostgreSQLからAPIのたたき台を生成し、後から手作業でカスタマイズする。
  • Node.jsでPostgreSQL向けの型安全な動的SQLクエリを書く。

使う前に知っておきたいこと

  • 多くのパッケージを含むモノレポのため、READMEには共通のインストールコマンドや実行コマンドがありません。
  • PostGraphile V4はこのメインラインではなく、別のレガシーブランチにあります。

トピック

よくある質問

crystal とは?
Grafast実行エンジンとPostGraphile自動GraphQL APIビルダーを含む、GraphQL・PostgreSQL関連ツールのモノレポ。 Graphile Crystalは、Graphileプロジェクトの多数のパッケージを含むモノレポで、その大半はGraphQL関連です。中心となるプロジェクトは2つあります。ひとつは、GraphQL.js向けのプランニング・実行エンジンGrafastで、executeメソッドを置き換える形で利用できます。もうひとつは、PostgreSQLデータベースからGraphQL APIを自動生成するPostGraphileです。
crystal は無料で使えますか?ライセンスは?
crystal は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
crystal は今もメンテナンスされていますか?
活発にメンテナンス中。crystal の最終コミットは 2026年10月21日 です。
crystal は何に使えますか?
効率的なデータロードが必要な、GraphQL.jsベースのGraphQLサーバーを構築する。 既存のPostgreSQLデータベースからGraphQL APIを直接生成する。 PostgreSQLからAPIのたたき台を生成し、後から手作業でカスタマイズする。 Node.jsでPostgreSQL向けの型安全な動的SQLクエリを書く。
crystal はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/graphile/crystal

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト