Apollo federation support for PostGraphile (or any Graphile Engine schema).
npm install postgraphile-plugin-apollo-federation
postgraphile --append-plugins postgraphile-plugin-apollo-federation
const express = require("express");
const { postgraphile } = require("postgraphile");
const { default: postgraphile-plugin-apollo-federation } = require("postgraphile-plugin-apollo-federation");
const app = express();
app.use(
postgraphile(process.env.DATABASE_URL, "public", {
appendPlugins: [postgraphile-plugin-apollo-federation],
})
);
app.listen(process.env.PORT || 3000);
This plugin exposes the Global Object Identification
Specification
(i.e. Node
interface) in a way that's compatible with Apollo Federation.
Requires PostGraphile v4.4.2-rc.0+
Docker can be used to spin up a test instance for running Jest tests. The instance will be exposed at port 5432
. See .env.example
for the exported Postgre connection.
docker compose up -d
./scripts/test
Only use this if you're planning to have your API consumed by Apollo Federation; exposing these redundant interfaces to regular users may be confusing.
Proof of concept. No tests, use at your own risk! Pull requests very welcome.