// Next.js API route support: https://nextjs.org/docs/api-routes/introduction import type { NextApiRequest, NextApiResponse } from "next"; import { createServer } from "@graphql-yoga/node"; import { getBuiltMesh } from "../../.mesh"; async function buildServer() { // retrieve the mesh instance (with configured Envelop plugins) const mesh = await getBuiltMesh(); // pass the Mesh instance to Yoga and configure GraphiQL const server = createServer({ plugins: mesh.plugins, graphiql: { endpoint: "/api/graphql", title: "GraphQL Gateway", }, }); return server; } const server$ = buildServer(); export default async function apiHandler( req: NextApiRequest, res: NextApiResponse, ) { return (await server$).requestListener(req, res); }