node-server
node-server copied to clipboard
ReadableStream issue @hono/node-server <> GraphQL Yoga
Issue
Since updating to @hono/[email protected], I'm having an issue using GraphQL Yoga. The server immediately crashes with the below message:
TypeError: The "readableStream" argument must be an instance of ReadableStream. Received an instance of bound PonyfillReadableStream
at new NodeError (node:internal/errors:399:5)
at Object.newStreamReadableFromReadableStream (node:internal/webstreams/adapters:482:11)
at Function.Readable.fromWeb (node:internal/streams/readable:1403:27)
at Server.<anonymous> (file:///workspace/node_modules/@hono/node-server/dist/listener.mjs:49:35)
at processTicksAndRejections (node:internal/process/task_queues:95:5) {
code: 'ERR_INVALID_ARG_TYPE'
Reproduction
I have created a minimal reproduction on https://codesandbox.io/p/sandbox/optimistic-lichterman-tvsgh8
Workaround
Rolling back to @hono/[email protected] fixes the issue.
Hi @maoosi
This is a workaround:
export default createYoga({
fetchAPI: { fetch, Request, ReadableStream, Response }, // <--- Add Node.js native APIs
graphqlEndpoint: '/',
schema: createSchema({
typeDefs: /* GraphQL */ `
type Query {
hello: String
}
`,
resolvers: {
Query: {
hello: () => 'world'
}
}
})
})
Thanks @yusukebe, your suggested workaround is working good on my end!
Facing the same issue with normal static assets serving. I tried removing Readable.fromWeb() here and it worked. Is this the only place we need to update?