Skip to content

Latest commit

 

History

History
 
 

graphql

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Pages Plugins

GraphQL

This GraphQL Plugin creates a GraphQL server which can respond to application/json and application/graphql POST requests. It responds with the GraphQL Playground for GET requests.

Installation

npm install --save @cfpreview/pages-plugins-graphql

Usage

// ./functions/graphql.ts

import graphQLPlugin from "@cfpreview/pages-plugins-graphql";
import {
  graphql,
  GraphQLSchema,
  GraphQLObjectType,
  GraphQLString,
} from "graphql";

const schema = new GraphQLSchema({
  query: new GraphQLObjectType({
    name: "RootQueryType",
    fields: {
      hello: {
        type: GraphQLString,
        resolve() {
          return "Hello, world!";
        },
      },
    },
  }),
});

export const onRequest: PagesFunction = graphQLPlugin({
  schema,
  graphql,
});

This Plugin only exposes a single route, so wherever it is mounted is wherever it will be available. In the above example, because it is mounted in ./functions/graphql.ts the server will be available on /graphql of the app.