Integration with Deno – GraphQL Yoga
v3 (latest)
Integrations
Deno
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 (opens in a new tab).
We will use graphql-yoga
which has an agnostic HTTP handler using Fetch API (opens in a new tab)’s Request
(opens in a new tab) and Response
(opens in a new tab) objects.
Example
Create a import_map.json
file. Learn more about import maps (opens in a new tab)
Create a deno-yoga.ts
file:
import_map.json
{
"imports"
:
{
"graphql-yoga"
:
"npm:graphql-yoga@^3.7.3"
}
}
deno-yoga.ts
import
{ createYoga
,
createSchema }
from
'graphql-yoga'
import
{ serve }
from
'https://deno.land/[email protected]/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
--import-map
./import_map.json
index.ts
You can also check a full example on our GitHub repository here (opens in a new tab)