Integration with Deno

GraphQL Yoga provides you a cross-platform GraphQL Server. So you can easily integrate it into any platform besides Node.js. Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust. We will use graphql-yoga which has an agnostic HTTP handler using Fetch API’s Request and Response objects.

Example

Create a deno.json file. Learn more about import maps

Create a deno-yoga.ts file:

deno.json
{
  "imports": {
    "graphql-yoga": "npm:graphql-yoga@^3.7.3"
  }
}
deno-yoga.ts
import { createSchema, createYoga } from 'graphql-yoga'
import { serve } from 'https://deno.land/std@0.157.0/http/server.ts'
 
const yoga = createYoga({
  schema: createSchema({
    typeDefs: /* GraphQL */ `
      type Query {
        hello: String!
      }
    `,
    resolvers: {
      Query: {
        hello: () => 'Hello Deno!'
      }
    }
  })
})
 
serve(yoga, {
  onListen({ hostname, port }) {
    console.log(`Listening on http://${hostname}:${port}/${yoga.graphqlEndpoint}`)
  }
})

And run it:

deno run --allow-net deno-yoga.ts

You can also check a full example on our GitHub repository here