PostgreSQL、MySQL、SQLite、MongoDBなどのデータベースに型安全にアクセスできる、Node.js向けTypeScript ORM。
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 の数値は毎日更新されます。
関連プロジェクト
Node.js、Bun、Deno、エッジランタイムで使える、PostgreSQL・MySQL・SQLite対応の軽量なヘッドレスTypeScript ORM。
PostgreSQL、MySQL、MariaDB、SQLite、MS SQL Server、Snowflake、Oracle、Db2に対応する、Node.js・TypeScript向けのPromiseベースORM。
あらゆるSQLデータベースに、REST/GraphQL API、ビジュアル管理Studio、AIエージェント向けのネイティブMCPサーバーを即座に追加します。
PostgreSQL、MongoDB、SQL Serverなどのデータベースを、きめ細かなアクセス制御を備えた安全なGraphQL APIとしてすぐに公開できるオープンソースエンジン。
バックエンドコードを書かずに、既存のPostgreSQLデータベースをRESTful APIに変換するスタンドアロンサーバー。