graphile-build
Version:
Build a GraphQL schema from plugins
56 lines (41 loc) • 2.92 kB
Markdown
# graphile-build
<span class="badge-patreon"><a href="https://patreon.com/benjie" title="Support Graphile development on Patreon"><img src="https://img.shields.io/badge/sponsor-via%20Patreon-orange.svg" alt="Patreon sponsor button" /></a></span>
[](http://discord.gg/graphile)
[](https://www.npmjs.com/package/graphile-build)

[](https://twitter.com/GraphileHQ)
`graphile-build` is the core of Graphile Engine. It provides a framework to
build high-performance extensible GraphQL APIs by combining plugins and using
advanced query look-ahead features. Each plugin typically has its own small
purpose (such as implementing the Node interface, adding `query: Query` to
mutation payloads, or watching an external source for schema changes) and by
combining these plugins together you get a large, powerful, and manageable
GraphQL schema. Plugins enable you to make broad changes to your GraphQL
schema with minimal code and without sacrificing performance.
An example of an application built on `graphile-build` is
[PostGraphile](https://github.com/graphile/postgraphile) which with one
command connects to your PostgreSQL database and provides a full highly
performant standards-compliant GraphQL API. The separate `graphile-build-pg`
module contains the plugins that are specific to PostgreSQL support
(`graphile-build` itself does not know about databases).
<!-- SPONSORS_BEGIN -->
## Crowd-funded open-source software
To help us develop this software sustainably, we ask all individuals and
businesses that use it to help support its ongoing maintenance and development
via sponsorship.
### [Click here to find out more about sponsors and sponsorship.](https://www.graphile.org/sponsor/)
And please give some love to our featured sponsors 🤩:
<table><tr>
<td align="center"><a href="https://www.the-guild.dev/"><img src="https://graphile.org/images/sponsors/theguild.png" width="90" height="90" alt="The Guild" /><br />The Guild</a> *</td>
<td align="center"><a href="https://gosteelhead.com/"><img src="https://graphile.org/images/sponsors/steelhead.svg" width="90" height="90" alt="Steelhead" /><br />Steelhead</a> *</td>
</tr></table>
<em>\* Sponsors the entire Graphile suite</em>
<!-- SPONSORS_END -->
## Documentation
**For in-depth documentation about `graphile-build`, please see [the graphile
documentation website at graphile.org](https://www.graphile.org/).** The
below just serves as a limited quick-reference for people already familiar
with the library.
**Please note: rather than using the raw plugin interface that
`graphile-build` exposes, you may want to use the helpers in
the `graphile-utils` module.**