graphql-http
The official graphql-http package provides a simple way to create a fully compliant GraphQL server. It has a handler for Node.js native http, together with handlers for well-known frameworks like Express, Fastify and Koa; as well as handlers for different runtimes like Deno and Bun.
Express
import { createHandler } from "graphql-http/lib/use/express" // ES6
const { createHandler } = require("graphql-http/lib/use/express") // CommonJScreateHandler
function createHandler({
  schema,
  rootValue,
  context,
  formatError,
  validationRules,
}: {
  rootValue?: any,
  context?: any,
  formatError?: Function,
  validationRules?: any[],
}): HandlerConstructs an Express handler based on a GraphQL schema.
See the tutorial for sample usage.
See the GitHub README for more extensive documentation, including how to use graphql-http with other server frameworks and runtimes.