# graphql/graphql-js

A reference implementation of GraphQL for JavaScript

Repository: https://github.com/graphql/graphql-js
Canonical: https://ross.abutalabs.com/products/graphql-js
Homepage: http://graphql.org/graphql-js/
Language: TypeScript
License: MIT
License Family: permissive
Topics: graphql, graphql-js
Last push: 2026-08-18T21:18:04+00:00

## Health v2 (maintenance only)
Score: 96/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 91, longevity 100
- inputs: {"age_days": 4082, "days_push": 15, "days_rel": 61, "gap_med": 20, "n_releases_24m": 14}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 20343, forks 2129 (observed 2026-08-28T04:11:29.972645+00:00)

## What it is
GraphQL.js is the JavaScript/TypeScript reference implementation of the GraphQL query language for APIs. It provides tools for building GraphQL type schemas, parsing and validating queries, and executing queries against those schemas.

## Use cases
- build a GraphQL API server in Node.js
- parse and validate GraphQL queries
- define a GraphQL type schema in JavaScript
- execute GraphQL queries against a schema
- implement GraphQL subscriptions and defer/stream directives
- build custom GraphQL tooling like linters or code generators
- test GraphQL resolvers and schemas

## When to choose
- you need the canonical, spec-compliant GraphQL implementation for JavaScript
- you are building a GraphQL server or schema-first tooling in Node.js
- you need low-level access to the GraphQL AST, parser, and execution engine
- you want to implement experimental GraphQL spec features like defer/stream

## When to avoid
- you only need a ready-made GraphQL HTTP server with batteries included (consider Apollo Server or Yoga)
- you are building a GraphQL client and only need query execution over HTTP
- you work in a non-JavaScript language and need a native implementation

## Facets
- artifact type: library
- maturity: stable
- function: graphql, parser, api-framework, middleware
- domain: apis, web-development, backend, developer-tools
- platform: bun, cross-platform
- tags: graphql-schema, query-execution, reference-implementation, typescript, schema-validation, resolvers, nodejs, deno

## Member repositories
- graphql/graphql-js (main) score 96

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:29.972645+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T16:59:02.185375+00:00, confidence not recorded.
  - readme: https://github.com/graphql/graphql-js (fetched 2026-08-28T04:11:29.972645+00:00, sha 69e1b3c091b1)
  - homepage: http://graphql.org/graphql-js/ (fetched 2026-08-29T07:58:10.412870+00:00, sha 8b29ffd1a0d3)
  - site_page: https://www.graphql-js.org/docs/passing-arguments (fetched 2026-08-29T07:58:10.428597+00:00, sha cd659133f9f0)
  - site_page: https://www.graphql-js.org/docs/object-types (fetched 2026-08-29T07:58:10.430904+00:00, sha ba2fcc181c49)
  - site_page: https://www.graphql-js.org/docs/getting-started (fetched 2026-08-29T07:58:10.415626+00:00, sha 83273cd43eea)
  - site_page: https://www.graphql-js.org/docs/running-an-express-graphql-server (fetched 2026-08-29T07:58:10.417577+00:00, sha 5b0e3090b0dd)
  - site_page: https://www.graphql-js.org/docs/migrating-from-express-graphql (fetched 2026-08-29T07:58:10.419352+00:00, sha 906559ad8d4d)
  - site_page: https://www.graphql-js.org/docs/graphql-clients (fetched 2026-08-29T07:58:10.421238+00:00, sha 7e2ef732eb3b)
  - site_page: https://www.graphql-js.org/docs/authentication-and-express-middleware (fetched 2026-08-29T07:58:10.423107+00:00, sha 443137e2d5bc)
  - site_page: https://www.graphql-js.org/docs/basic-types (fetched 2026-08-29T07:58:10.426103+00:00, sha 23c0959ef886)
- Data as of 2026-08-30T08:39:29.467469+00:00.
