Skip to content
Execute one command (or mount one Node.js middleware) and get an instant high-performance GraphQL API for your PostgreSQL database!
JavaScript TypeScript PLpgSQL Shell CSS Dockerfile
Branch: master
Clone or download

Latest commit

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github chore(ci): run tests in CI mode on CI (#1292) Jun 3, 2020
.vscode chore: tests++; yarn2; actions; deps++; format; PG>=10; node>=12 (#1289) May 27, 2020
.yarn chore: tests++; yarn2; actions; deps++; format; PG>=10; node>=12 (#1289) May 27, 2020
__tests__ chore: tests++; yarn2; actions; deps++; format; PG>=10; node>=12 (#1289) May 27, 2020
packages chore: fix PostGraphile dev script Jun 9, 2020
scripts chore(tests): refactor all tests into TypeScript (#1291) Jun 3, 2020
.eslintignore chore: tests++; yarn2; actions; deps++; format; PG>=10; node>=12 (#1289) May 27, 2020
.eslintrc.js chore(tests): refactor all tests into TypeScript (#1291) Jun 3, 2020
.gitignore chore: tests++; yarn2; actions; deps++; format; PG>=10; node>=12 (#1289) May 27, 2020
.jest-babel-transform.js chore: tests++; yarn2; actions; deps++; format; PG>=10; node>=12 (#1289) May 27, 2020
.prettierrc.js Prettier prosewrap Feb 10, 2020
.yarnrc.yml chore: tests++; yarn2; actions; deps++; format; PG>=10; node>=12 (#1289) May 27, 2020
CHANGELOG.md Merge remote-tracking branch 'engine/v4' into monorepo-merge-2 Apr 28, 2020
CONTRIBUTING.md chore: Node 12.16; TypeScript 3.9; centralise configs (#1269) Apr 28, 2020
README.md docs(README): v5 update to README Jun 3, 2020
SPONSORS.md chore: TypeScript fixes Apr 28, 2020
babel.config.js chore: Node 12.16; TypeScript 3.9; centralise configs (#1269) Apr 28, 2020
jest.config.base.js chore(tests): refactor all tests into TypeScript (#1291) Jun 3, 2020
jest.config.js chore: tests++; yarn2; actions; deps++; format; PG>=10; node>=12 (#1289) May 27, 2020
lerna.json chore: TypeScript fixes Apr 28, 2020
next2latest chore: next2latest should promote more modules Nov 8, 2019
package.json chore: fix PostGraphiQL dev (#1297) Jun 9, 2020
release chore: tests++; yarn2; actions; deps++; format; PG>=10; node>=12 (#1289) May 27, 2020
tsconfig.json chore(tests): refactor all tests into TypeScript (#1291) Jun 3, 2020
yarn.lock chore: fix PostGraphiQL dev (#1297) Jun 9, 2020

README.md

PostGraphile / Graphile Engine monorepo

Patreon sponsor button Discord chat room Follow

Graphile Engine enables you to build high-performance easily-extensible GraphQL schemas by combining plugins. PostGraphile builds on Graphile Engine to helps you craft a best practices GraphQL API backed primarily by your PostgreSQL database in record time.

This monorepo contains the main packages that make up the PostGraphile / Graphile Engine suite.

This is (unreleased) version 5!

IMPORTANT: this master branch shows the in-progress development on version 5 of the Graphile suite. For PostGraphile version 4, see the v4 branch. Version 4 is still alive and well.

Crowd-funded open-source software

To help us develop this software sustainably under the MIT license, 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.

And please give some love to our featured sponsors 🤩:

Chad Furman
Chad Furman
*
Storyscript
Storyscript
*
Postlight
Postlight
*

* Sponsors the entire Graphile suite

Monorepo Contents

postgraphile Package on npm MIT license npm

Instant lightning-fast GraphQL API backed primarily by your PostgreSQL database. Highly customizable and extensible thanks to incredibly powerful plugin system.

graphile-build Package on npm MIT license npm

The core of Graphile Engine: a plugin system that enables you to build a GraphQL schema out of plugins with advanced performance capabilities enabled via GraphQL look-ahead functionality.

graphile-build-pg Package on npm MIT license npm

A selection of graphile-build plugins related to PostgreSQL: schema introspection, generation of fields and types for all tables, computed columns, query procedures, etc - if there's certain features you don't want, simply don't use that plugin!

graphile-utils Package on npm MIT license npm

A collection of helper utilities to make writing graphile-build plugins easier.

postgraphile-core Package on npm MIT license npm downloads

Contains the GraphQL schema functionality of PostGraphile, does not contain the web layer.

graphql-parse-resolve-info Package on npm MIT license npm downloads

Parses a GraphQLResolveInfo object into a tree of the fields that are being requested to enable optimizations to your GraphQL schema (e.g. we use it in graphile-build-pg to determine which fields are required from the SQL database).

pg-sql2 Package on npm MIT license npm downloads

Create highly dynamic SQL in a powerful and flexible manner without opening yourself to SQL injection attacks. (High performance.)

Development

Below is a quick-start, for more detailed instructions, please see the CONTRIBUTING.md documentation in PostGraphile.

yarn
yarn watch

yarn watch will keep monitoring and compiling the babel files, so open another terminal to run the tests (Note: your PostgreSQL server must be configured for logical decoding):

createdb graphileengine_test
export TEST_DATABASE_URL="postgres:///graphileengine_test"
createdb lds_test
export LDS_TEST_DATABASE_URL="postgres:///lds_test"
yarn test

If the above succeeds, you're good to go! If not, please try again after running yarn install --force and always feel free to reach out via our discord chat on the #core-development channel.

Working with Docker

If you want to work in a Docker environment you can follow the instructions on the wiki.

You can’t perform that action at this time.