Repolode
graphile

graphile/crystal

Монорепозиторий с инструментами для GraphQL и PostgreSQL: здесь находятся движок выполнения Grafast и генератор GraphQL API PostGraphile.

Open source альтернатива:Hasura

Звёзды
12,934
Форки
631
Открытые issues
181
Последний коммит
12 часов назад

Что это?

Graphile Crystal — это монорепозиторий со множеством пакетов проекта Graphile, большинство из которых связаны с GraphQL. Два главных проекта — Grafast, движок планирования и выполнения для GraphQL.js, который можно использовать вместо метода execute без дополнительной адаптации, и PostGraphile, автоматически создающий GraphQL API на основе базы данных PostgreSQL.

В Grafast вместо традиционных резолверов используются планировщики (plan resolvers), благодаря чему декларативную структуру GraphQL-запроса можно задействовать для более эффективного выполнения бизнес-логики. PostGraphile считает базу данных единственным источником истины и также может служить отправной точкой для API, которое впоследствии поддерживают вручную с помощью graphile-export.

В репозитории также есть вспомогательные библиотеки: pg-sql2 для создания параметризованных запросов PostgreSQL с помощью тегированных шаблонных строк, pg-introspection для типизированного анализа структуры базы данных, graphile-config для настройки плагинов и пресетов и graphile-build для сборки схем GraphQL из плагинов. Ветка legacy для PostGraphile V4 поддерживается отдельно.

Ключевые возможности

  • 01Grafast предоставляет движок планирования и выполнения, который заменяет execute в GraphQL.js.
  • 02PostGraphile автоматически создаёт GraphQL API на основе схемы PostgreSQL.
  • 03Планировщики позволяют объявлять бизнес-логику так, чтобы движок мог выполнять её эффективнее.
  • 04pg-sql2 создаёт защищённые от SQL-инъекций запросы PostgreSQL с помощью тегированных шаблонных строк.
  • 05graphile-export позволяет экспортировать динамически собранную схему в виде обычного исходного кода JavaScript.

Сценарии использования

  • Создание GraphQL-сервера на GraphQL.js, которому нужна эффективная загрузка данных.
  • Автоматическая генерация GraphQL API на основе существующей базы данных PostgreSQL.
  • Создание на основе PostgreSQL заготовки API, которую затем дорабатывают вручную.
  • Написание типобезопасных динамических SQL-запросов для PostgreSQL в Node.js.

Темы

Частые вопросы

Что такое crystal?
Монорепозиторий с инструментами для GraphQL и PostgreSQL: здесь находятся движок выполнения Grafast и генератор GraphQL API PostGraphile. Graphile Crystal — это монорепозиторий со множеством пакетов проекта Graphile, большинство из которых связаны с GraphQL. Два главных проекта — Grafast, движок планирования и выполнения для GraphQL.js, который можно использовать вместо метода execute без дополнительной адаптации, и PostGraphile, автоматически создающий GraphQL API на основе базы данных PostgreSQL.
crystal можно использовать бесплатно? Какая у него лицензия?
crystal распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
crystal всё ещё поддерживается?
Активно поддерживается. Последний коммит в crystal — 21 окт. 2026 г..
Для чего можно использовать crystal?
Создание GraphQL-сервера на GraphQL.js, которому нужна эффективная загрузка данных. Автоматическая генерация GraphQL API на основе существующей базы данных PostgreSQL. Создание на основе PostgreSQL заготовки API, которую затем дорабатывают вручную. Написание типобезопасных динамических SQL-запросов для PostgreSQL в Node.js.
Где скачать crystal?
Исходный код и инструкции по установке — на GitHub: https://github.com/graphile/crystal

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты