graphql/graphql-js

A reference implementation of GraphQL for JavaScript

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 44 minutes ago
Added to GitGenius on April 8th, 2021
Created on June 30th, 2015
Open Issues & Pull Requests: 97 (+0)
Number of forks: 2,129
Total Stargazers: 20,345 (+1)
Total Subscribers: 410 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 249.2 days
Mean response time: 666.6 days
90th percentile: 1931.7 days
Tracked items: 225

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 81% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "needs exploration" is answered fastest, typically in about 6 days, while "enhancement" waits about 56 months. Only 2% of issues opened in the past year have been closed. Three people close 86% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 52
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,743 days
Stale 30+ days: 50
Stale 90+ days: 40

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • question (155)
  • enhancement (70)
  • bug (39)
  • needs exploration (33)
  • help wanted (27)
  • documentation (14)
  • discussion (7)
  • chore (5)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

GraphQL.js is the official JavaScript reference implementation of GraphQL, the query language for APIs originally created by Facebook. Written in TypeScript, it serves as the canonical implementation that other GraphQL libraries across different programming languages are built against. The repository is hosted at github.com/graphql/graphql-js and provides comprehensive documentation through the GraphQL specification website.

The library provides two core capabilities: building a type schema that maps to application code and serving queries against that schema. Developers can define GraphQL types and fields with resolver functions that return values, promises, or arrays of promises. The graphql function validates queries for syntactic and semantic correctness before execution, reporting any errors encountered. This dual functionality makes it suitable for both server-side API development and client-side applications, as demonstrated by tools like GraphiQL which is built using GraphQL.js.

GraphQL.js is distributed with both CommonJS and ESModule support, enabling seamless integration with modern JavaScript tooling. The library works in Node.js environments and browsers alike, with proper tree-shaking support when bundled with webpack or rollup. The exports map in the package.json directs runtimes and bundlers to appropriate files, while CommonJS code uses .js extensions and ESModule builds use .mjs extensions for tools that don't support the exports field.

The repository's contributor base overlaps significantly with major projects including microsoft/vscode, microsoft/typescript, and rust-lang/rust, indicating its importance in the broader development ecosystem.

The project follows Semantic Versioning and maintains a structured version support policy. The latest major version receives full support including bug fixes and security updates, while the previous major version receives feature support for 12 months after a new major release. Older versions are considered unsupported, though exceptions exist for versions released less than a year prior. Critical security updates are applied to both current and previous major versions, with EOL announcements provided at least six months in advance.

Contributing to GraphQL.js requires signing the GraphQL Specification Membership agreement through EasyCLA, a one-time requirement for individual contributors or their employers. The repository actively welcomes pull requests and maintains detailed release notes and migration guides to assist users upgrading between versions. Community support is available through the GraphQL Discord channel dedicated to graphql-js discussions.