graphql-modules
graphql-modules copied to clipboard
async_hooks restricts to only Node.js usage
Right now GraphQL Modules uses a Node.js specific module async_hooks in /packages/graphql-modules/src/application/execution-context.ts, and that restricts the usage of GraphQL Modules to only Node.js, making it harder/impossible to be used in other environments like Deno or Cloudflare workers.
Workaround: In this repo I had to add a no-op for async_hooks to be able to include it in the Cloudflare workers environment
Describe the solution you'd like
Re-factor the current implementation to not require async_hooks
Describe alternatives you've considered
Ship an extra module that doesn't include the async_hooks usage.
We recently hit this problem trying to use GraphQL Modules with Deno. We'd love to help with this if possible.
@kamilkisiela do you think this is something we can find a solution for?
I'm having the same problem trying to use it in Cloudflare Workers.
https://github.com/Urigo/graphql-modules/pull/2255 but I haven't test it anywhere for leaks
#2255 but I haven't test it anywhere for leaks
I've just tested it and it works just fine.
https://github.com/Jinsung-L/graphql-modules-on-cloudflare-workers
https://graphql-modules-on-cloudflare-workers.jinsung.workers.dev
I'd like to bump this issue as it's the one thing keeping me from migrating to Deno, which would greatly improve the workflow of working with GraphQL and avoiding a whole list of transpilers and bundlers before I have a workable server. Since there hasn't been many updates with Deno's implementation of the async_hooks denoland/deno#7010 can #2255 be considered or a similar implementation?
Big update, this issue is fixed in [email protected] with #2461. Please try it out! Would be happy to hear that we support Deno now too!