Default nullability

By default, fields and arguments in Pothos are nullable. This default can be overwritten by setting nullable: false in the options for output fields and by setting required: true for input fields or arguments.

These defaults may not be the right choice for every application, and changing them on every field can be a pain. Instead, Pothos allows overwriting these defaults when setting up your SchemaBuilder. You will need to provide the new defaults in two places:

  1. In the type parameter for the builder, which enables the type checking to work with your new settings.

  2. In the Builder options, so that the correct schema is built at run time.

// Create a Builder that makes output fields non-nullable by default
const builder = new SchemaBuilder<{
  DefaultFieldNullability: false;
}>({
  defaultFieldNullability: false,
});