Default Plugins
The following plugins come bundled with graphile-build as defaultPlugins and
it's recommended to use them in your schemas.
StandardTypesPlugin
Declares Cursor, UUID, JSON and PageInfo types you can get from
build.getTypeByName('Cursor') etc.
NodePlugin
Implements some foundations for the
Relay Global Object Identification Specification -
adds id (or whatever you set as nodeIdFieldName) to Query and allows you
to look up registered nodes by their id.
QueryPlugin
Defines the Query object and hooks GraphQLSchema to add it in. To hook this,
function MyPlugin(builder) {
builder.hook(
"GraphQLObjectType",
(spec, { extend }, { scope: { isRootQuery } }) => {
if (!isRootQuery) {
return spec;
}
return extend(spec, {
//... Add new query fields here
});
},
);
}
MutationPlugin
Defines the Mutation object and hooks GraphQLSchema to add it in. Will only
be added to the Schema if a hook adds fields to it.
function MyPlugin(builder) {
builder.hook(
"GraphQLObjectType",
(spec, { extend }, { scope: { isRootMutation } }) => {
if (!isRootMutation) {
return spec;
}
return extend(spec, {
//... Add new mutation fields here
});
},
);
}
ClientMutationIdDescriptionPlugin
Adds a description to clientMutationId field...
MutationPayloadQueryPlugin
Adds query to mutation payloads so that you can query any data you like after
the mutation has resolved.