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