Pothos GraphQL

    Getting Started

    Installing

    yarn add @pothos/core @graphql-yoga/node
    

    Set up typescript

    Pothos is designed to be as type-safe as possible, to ensure everything works correctly, make sure that your tsconfig.json has strict mode set to true:

    {
      "compilerOptions": {
        "strict": true
      }
    }
    

    Create a simple schema

    import SchemaBuilder from '@pothos/core';
    
    const builder = new SchemaBuilder({});
    
    builder.queryType({
      fields: (t) => ({
        hello: t.string({
          args: {
            name: t.arg.string(),
          },
          resolve: (parent, { name }) => `hello, ${name || 'World'}`,
        }),
      }),
    });
    
    const schema = builder.toSchema({});
    

    Create a server

    The schema generated by Pothos is a standard graphql.js schema and can be used with several graphql server implementations including @graphql-yoga/node.

    import { createServer } from '@graphql-yoga/node';
    
    const server = createServer({
      schema: builder.toSchema({}),
    });
    
    server.start();