# graphile-build

> Build a GraphQL schema from plugins

Latest version **5.2.0** (published 2026-10-30) · MIT license · 0 weekly downloads

## Install

```sh
npm install graphile-build
pnpm add graphile-build
yarn add graphile-build
bun add graphile-build
```

## Health

**Score 75/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; popular repo.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 5.2.0 |
| Published | 2026-10-30 |
| First published | 2017-08-01 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=22 |
| Dependencies | 13 |
| Unpacked size | 552 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 12934 |
| Author | Benjie Gillam |
| Maintainers | benjie |
| Keywords | graphile, graphql, engine, apollo, graphqljs, plugin, build, extension, graphite |

## Links

- npm: https://www.npmjs.com/package/graphile-build
- Repository: https://github.com/graphile/crystal
- Homepage: https://graphile.org/graphile-build/
- Issues: https://github.com/graphile/crystal/issues
- npm.io page: https://npm.io/package/graphile-build

## Dependencies (13)

- [chalk](https://npm.io/package/chalk.md) ^4.1.2
- [debug](https://npm.io/package/debug.md) ^4.4.3
- [tslib](https://npm.io/package/tslib.md) ^2.8.1
- [lodash](https://npm.io/package/lodash.md) ^4.18.1
- [semver](https://npm.io/package/semver.md) ^7.7.3
- [graphql](https://npm.io/package/graphql.md) ^16.9.0
- [pluralize](https://npm.io/package/pluralize.md) ^7.0.0
- [tamedevil](https://npm.io/package/tamedevil.md) ^0.1.2
- [@types/node](https://npm.io/package/@types/node.md) ^22.19.1
- [@types/semver](https://npm.io/package/@types/semver.md) ^7.7.1
- [graphile-config](https://npm.io/package/graphile-config.md) ^1.1.2
- [transliteration](https://npm.io/package/transliteration.md) ^2.3.5
- [@types/pluralize](https://npm.io/package/@types/pluralize.md) ^0.0.33

## Alternatives

- [apollo-link-http-common](https://npm.io/package/apollo-link-http-common.md) — 879.0K weekly downloads
- [react-relay](https://npm.io/package/react-relay.md) — 336.8K weekly downloads
- [relay-test-utils](https://npm.io/package/relay-test-utils.md) — 181.6K weekly downloads
- [@vendure/core](https://npm.io/package/@vendure/core.md) — 14.8K weekly downloads
- [@pnpm/deps.graph-sequencer](https://npm.io/package/@pnpm/deps.graph-sequencer.md) — 13.4K weekly downloads

## Recent versions

- 5.2.0 (latest) — 2026-10-30
- 5.2.0-aardvark.next-20260928202932 (snapshot-next) — 2026-09-28
- 5.0.0-rc.6 (rc) — 2026-03-10
- 5.0.0-beta.39 (beta) — 2025-09-24
- 4.14.1 (next) — 2025-04-27
- 5.0.0-alpha.18 (alpha) — 2023-08-02
- 5.0.0-alpha.2 (prealpha) — 2023-05-03
- 4.4.0-beta.10 (nextnext) — 2019-04-14
- 4.3.2-beta.0 (ws) — 2019-02-19
- 5.2.0-aardvark.next-20260925164249 — 2026-09-25
- 5.2.0-aardvark.next-20260922224416 — 2026-09-22
- 5.2.0-aardvark.next-20260919185130 — 2026-09-19
- 5.2.0-aardvark.next-20260918085327 — 2026-09-18
- 5.2.0-aardvark.next-20260910230054 — 2026-09-10
- 5.2.0-aardvark.next-20260907131448 — 2026-09-07
- … 199 more at https://npm.io/package/graphile-build/versions

## README

# graphile-build

[![GitHub Sponsors](https://img.shields.io/github/sponsors/benjie?color=ff69b4&label=github%20sponsors)](https://github.com/sponsors/benjie)
[![Discord chat room](https://img.shields.io/discord/489127045289476126.svg)](http://discord.gg/graphile)
[![Follow](https://img.shields.io/badge/BSky-@Graphile.org-006aff.svg)](https://bsky.app/profile/graphile.org)
[![Follow](https://img.shields.io/badge/Mastodon-@Graphile.fosstodon.org-6364ff.svg)](https://fosstodon.org/@graphile)

`graphile-build` provides a framework to build extensible GraphQL APIs by
combining plugins. Each plugin typically has its own small purpose (such as
implementing the [`Node` interface][global-object-identification], 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 because you're changing your schema in
broad ways it helps to guarantee consistency.

Graphile Build has strong built-in support for [Gra*fast*](https://grafast.org)
so you can make an exceptionally performant auto-generated (or
generator-assisted) GraphQL API.

[PostGraphile](https://github.com/graphile/postgraphile) uses Graphile Build and
Gra*fast* to produce an extremely high performance standards-compliant GraphQL
API with minimal fuss. The separate
[`graphile-build-pg` module](../graphile-build-pg/README.md) contains the
plugins that are specific to PostgreSQL support (`graphile-build` itself does
not know nor care 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://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

TODO!

[global-object-identification]:
  https://relay.dev/graphql/objectidentification.htm

---
_Source: https://npm.io/package/graphile-build · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
