Package Exports
- postgraphile-remove-foreign-key-fields-plugin
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (postgraphile-remove-foreign-key-fields-plugin) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
postgraphile-remove-foreign-key-fields-plugin
Motivation
This PostGraphile plugin removes all foreign key fields from the GraphQL schema while still allowing foreign relationships to be created. Primary key fields (which may also be used as a foreign key) are not removed from the GraphQL schema.
Example
type Person {
id
firstName
lastName
addressId
address {
id
street
city
state
postalCode
}
}This extension will remove addressId from the Person type in an effort to simplify the schema.
type Person {
id
firstName
lastName
address {
id
street
city
state
postalCode
}
}You can still get the address id through the Address type.
Person->address->id.
Getting Started
Install npm package.
npm install postgraphile-remove-foreign-key-fields-pluginAdd plugin to postgraphile.
import express from "express";
import { postgraphile } from "postgraphile";
import { RemoveForeignKeyFieldsPlugin } from "postgraphile-remove-foreign-key-fields-plugin";
const app = express();
// Add PostGraphile middleware.
app.use(
postgraphile(`postgres://username:password@localhost:5432/postgres`, {
appendPlugins: [RemoveForeignKeyFieldsPlugin],
}),
);
// Start up server.
app.listen(3000, "localhost", 511, () => {
logger.info(`🚀 Server listening at http://localhost:3000`);
});