Universal GraphQL HTTP middleware for Deno and Bun, compatible with Deno.serve, Bun.serve, and oak.
gql is a universal GraphQL HTTP middleware for Deno and Bun runtimes that provides spec-compliant handling of GraphQL requests over HTTP. It solves the problem of setting up GraphQL servers in modern JavaScript environments by offering a standardized, lightweight middleware that integrates seamlessly with native server APIs.
Developers building GraphQL APIs with Deno or Bun who need a simple, standards-compliant way to handle GraphQL HTTP requests without heavy frameworks.
Developers choose gql because it's minimal, runtime-agnostic, and follows the official GraphQL over HTTP specification, providing reliability and compatibility while being easy to integrate with existing server setups.
☁ Universal GraphQL HTTP middleware for Deno and Bun
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works seamlessly with Deno.serve, Bun.serve, and the oak framework, as shown in the README examples, making it versatile for modern runtimes.
Enables interactive query testing by setting graphiql: true, providing a developer-friendly interface out of the box for API exploration.
Supports asynchronous setup for authentication and database connections, mentioned in features, allowing flexible pre-request operations.
Based on the graphql-http specification, ensuring reliable and standard GraphQL over HTTP implementation for compatibility.
Lacks built-in handling for GraphQL subscriptions, a common feature in modern GraphQL APIs, requiring additional setup for real-time data.
Only supports Deno and Bun, excluding Node.js, which restricts its use in broader JavaScript ecosystems and legacy projects.
Requires third-party packages like @graphql-tools/schema for schema creation, adding complexity and dependency management overhead.
Developers must handle HTTP routing manually, as shown in the example with pathname checks, which can be error-prone and less intuitive.