graphql-js VS graphql-helix

Compare graphql-js vs graphql-helix and see what are their differences.

graphql-js

A reference implementation of GraphQL for JavaScript (by graphql)

graphql-helix

A highly evolved GraphQL HTTP Server 🧬 (by contra)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
graphql-js graphql-helix
26 17
19,887 831
0.3% -0.5%
7.4 0.0
7 days ago 7 days ago
TypeScript TypeScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

graphql-js

Posts with mentions or reviews of graphql-js. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-08.

graphql-helix

Posts with mentions or reviews of graphql-helix. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-15.
  • Apollo Layoffs
    6 projects | news.ycombinator.com | 15 Dec 2022
    Depends on language, I've build GraphQL servers in a few, though mostly JavaScript and Python. For Python I used to use Graphene, these days I use Strawberry.

    For JavaScript, I originally used graphql-js and express-graphql, as these were the original libraries and I was a literal day 1 adopter. All the libraries are essentially just wrappers around graphql-js, so it's still viable to use directly. But for schema-building I now use Pothos (https://pothos-graphql.dev/), I'd probably use graphql-helix as the http layer (https://github.com/contra/graphql-helix).

  • Does Apollo GraphQL cost money to use in production? And other beginner questions about GraphQL
    6 projects | /r/graphql | 5 Mar 2022
    If you want a lower level graphql server https://graphql-helix.vercel.app/ or https://benzene.vercel.app/ might be worth checking out.
  • Code-first schema definition
    3 projects | dev.to | 23 Feb 2022
    While there are many GraphQL server packages available, we need one that will play nicely with Nuxt3's server engine (Nitro / h3). In the spirit of keeping things extensible and framework-agnostic, GraphQL Helix seems like a really good choice. Let's add it to our project:
  • What's next?
    5 projects | /r/graphql | 12 Dec 2021
    E.g. recently I found Graphql-helix, replaced apollo-server-micro with it and had never looked back ever since (incl. subscriptions), what else could be done better? Also in terms of DX
    5 projects | /r/graphql | 12 Dec 2021
    Looks interesting, have you tried graphql-helix?
  • a first look at graphQL helix
    6 projects | dev.to | 20 Sep 2021
    GraphQL Helix is a framework and runtime agnostic collection of utility functions for building your own GraphQL HTTP server. Instead of providing a complete HTTP server or middleware plugin function, GraphQL Helix only provides a handful of functions for turning an HTTP request into a GraphQL execution result. You decide how to send back the response.
  • Introducing Envelop - The GraphQL Plugin System
    12 projects | dev.to | 29 Jul 2021
    import { envelop, useSchema, useLogger } from '@envelop/core'; import fastify from 'fastify'; import { processRequest, getGraphQLParameters } from 'graphql-helix'; // This creates the `getEnveloped` function for us. Behind the scense the wrapped functions are created once, here. const getEnveloped = envelop({ plugins: [useSchema(schema), useLogger()], }); const app = fastify(); app.route({ method: ['POST'], url: '/graphql', async handler(req, res) { // Here we can pass the request and make available as part of the "context". // The return value is the a GraphQL-proxy that exposes all the functions. const { parse, validate, contextFactory, execute, schema } = getEnveloped({ req, }); const request = { body: req.body, headers: req.headers, method: req.method, query: req.query, }; const { operationName, query, variables } = getGraphQLParameters(request); // Here, we pass our custom functions to Helix, and it will take care of the rest. const result = await processRequest({ operationName, query, variables, request, schema, parse, validate, execute, contextFactory, }); if (result.type === 'RESPONSE') { res.status(result.status); res.send(result.payload); } else { // You can find a complete example with Subscriptions and stream/defer here: // https://github.com/contrawork/graphql-helix/blob/master/examples/fastify/server.ts res.send({ errors: [{ message: 'Not Supported in this demo' }] }); } }, }); app.listen(3000, () => { console.log(`GraphQL server is running...`); });
  • Subscriptions and Live Queries - Real Time with GraphQL
    5 projects | dev.to | 29 Jul 2021
    Fortunately, we now have libraries like Graphql Helix, which, in my humble opinion, should replace express-graphql as the reference HTTP implementation since GraphQL Helix is also not tied to any web server framework.
  • GraphQL - Diving Deep
    47 projects | dev.to | 29 Jul 2021
    If you are using Node.js there are a lot of implementations of GraphQL servers with a few being express-graphql, apollo-server, mercurius, graphql-helix and more. And if you are using other languages, you can see a great list here
  • The Stack #1
    9 projects | dev.to | 29 Jul 2021
    Graphql Helix

What are some alternatives?

When comparing graphql-js and graphql-helix you can also consider the following projects:

graphql-yoga - 🧘 Rewrite of a fully-featured GraphQL Server with focus on easy setup, performance & great developer experience. The core of Yoga implements WHATWG Fetch API and can run/deploy on any JS environment.

apollo-server - 🌍  Spec-compliant and production ready JavaScript GraphQL server that lets you develop in a schema-first way. Built for Express, Connect, Hapi, Koa, and more.

mercurius - Implement GraphQL servers and gateways with Fastify

nestjs-graphql - GraphQL (TypeScript) module for Nest framework (node.js) 🍷

graphql-jit - GraphQL execution using a JIT compiler

express-graphql - Create a GraphQL HTTP server with Express.

graphql-ws - Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client.

envelop - Envelop is a lightweight library allowing developers to easily develop, share, collaborate and extend their GraphQL execution layer. Envelop is the missing GraphQL plugin system.

pothos - Pothos GraphQL is library for creating GraphQL schemas in typescript using a strongly typed code first approach

Postwoman - 👽 Open source API development ecosystem - https://hoppscotch.io

graphql-upload - Middleware and an Upload scalar to add support for GraphQL multipart requests (file uploads via queries and mutations) to various Node.js GraphQL servers.