Skip to main content
Version: v4.x

Plugin Options

The second argument to buildSchema and getBuilder is an options object with arbitrary properties which is made available to every plugin as its second argument.

Supported Options​

The following options apply to the default plugins:

  • nodeIdFieldName - defaults to id which might clash with your other fields. It is not recommended to change it, but you might consider nodeId instead. (Use of __id is discouraged because GraphQL wants to deprecate non-introspection fields that begin with __)

Plugins may expect further options if they wish, for example see those of graphile-build-pg. To prevent collisions between the property names, the plugins should follow some namespacing conventions.

Example​

The following example passes the nodeIdFieldName setting through, changing from the default id to flibble:

const { buildSchema, defaultPlugins } = require("graphile-build");
const { printSchema } = require("graphql/utilities");

buildSchema(defaultPlugins, { nodeIdFieldName: "flibble" }).then((schema) => {
console.log(printSchema(schema));
});

which modifies the Node interface thusly:

interface Node {
# A globally unique identifier. Can be used in various places throughout the system to identify this single value.
flibble: ID!
}