{"id":13438842,"url":"https://github.com/graphql/graphiql","last_synced_at":"2025-09-09T20:20:32.627Z","repository":{"id":36213750,"uuid":"40518025","full_name":"graphql/graphiql","owner":"graphql","description":"GraphiQL \u0026 the GraphQL LSP Reference Ecosystem for building browser \u0026 IDE tools.","archived":false,"fork":false,"pushed_at":"2025-05-05T12:43:48.000Z","size":28078,"stargazers_count":16423,"open_issues_count":402,"forks_count":1756,"subscribers_count":238,"default_branch":"main","last_synced_at":"2025-05-05T15:22:10.736Z","etag":null,"topics":["codemirror","graphiql","graphql","lsp-mode","lsp-server","monaco-editor","vscode"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/graphql.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-08-11T02:56:22.000Z","updated_at":"2025-05-05T13:03:30.000Z","dependencies_parsed_at":"2023-01-17T00:45:57.167Z","dependency_job_id":"7b8a4991-5551-4dfa-9175-d953cf8adb0b","html_url":"https://github.com/graphql/graphiql","commit_stats":{"total_commits":3283,"total_committers":307,"mean_commits":"10.693811074918568","dds":0.8190679256777338,"last_synced_commit":"c500e825094acac01d65840943d5ccd80e7de18a"},"previous_names":[],"tags_count":1122,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphql%2Fgraphiql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphql%2Fgraphiql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphql%2Fgraphiql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphql%2Fgraphiql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/graphql","download_url":"https://codeload.github.com/graphql/graphiql/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252522579,"owners_count":21761754,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codemirror","graphiql","graphql","lsp-mode","lsp-server","monaco-editor","vscode"],"created_at":"2024-07-31T03:01:08.911Z","updated_at":"2025-09-09T20:20:32.599Z","avatar_url":"https://github.com/graphql.png","language":"TypeScript","readme":"\n\u003c!-- @format --\u003e\n\n# GraphQL IDE Monorepo\n\n\u003e **Security Notice:** All versions of `graphiql` \u003c `1.4.7` are vulnerable to an\n\u003e XSS attack in cases where the GraphQL server to which the GraphiQL web app\n\u003e connects is not trusted. Learn more\n\u003e [in the graphiql `security` docs directory](docs/security)\n\n\u003e **Looking for the [GraphiQL Docs?](packages/graphiql/README.md)**: This is the\n\u003e root of the monorepo! The full GraphiQL docs are located at\n\u003e [`packages/graphiql`](packages/graphiql)\n\n[![Build Status](https://github.com/graphql/graphiql/workflows/Node.JS%20CI/badge.svg)](https://github.com/graphql/graphiql/actions?query=workflow%3A%22Node.JS+CI%22)\n[![Discord](https://img.shields.io/discord/625400653321076807.svg)](https://discord.gg/NP5vbPeUFp)\n[![Code Coverage](https://img.shields.io/codecov/c/github/graphql/graphiql)](https://codecov.io/gh/graphql/graphiql)\n![GitHub top language](https://img.shields.io/github/languages/top/graphql/graphiql)\n![GitHub language count](https://img.shields.io/github/languages/count/graphql/graphiql)\n[![Snyk Vulnerabilities for GitHub Repo](https://img.shields.io/snyk/vulnerabilities/github/graphql/graphiql)](https://snyk.io/test/github/graphql/graphiql)\n[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3887/badge)](https://bestpractices.coreinfrastructure.org/projects/3887)\n\n## Overview\n\nGraphiQL is the reference implementation of this monorepo, GraphQL IDE, an\nofficial project under the GraphQL Foundation. The code uses the permissive MIT\nlicense.\n\nWhether you want a simple GraphiQL IDE instance for your server, or a more\nadvanced web or desktop GraphQL IDE experience for your framework or plugin, or\nyou want to build an IDE extension or plugin, you've come to the right place!\n\nThe purpose of this monorepo is to give the GraphQL Community:\n\n- a to-specification official language service (see:\n  [API Docs](https://graphiql-test.netlify.app/typedoc))\n- a comprehensive LSP server and CLI service for use with IDEs\n- a codemirror mode\n- a monaco mode (in the works)\n- an example of how to use this ecosystem with GraphiQL.\n- examples of how to implement or extend GraphiQL.\n\n## [`graphiql`](packages/graphiql#readme)\n\n\u003c!-- prettier-ignore --\u003e\n\u003e [![NPM](https://img.shields.io/npm/v/graphiql.svg)](https://npmjs.com/graphiql)\n\u003e ![jsDelivr hits (npm)](https://img.shields.io/jsdelivr/npm/hm/graphiql)\n\u003e ![npm downloads](https://img.shields.io/npm/dm/graphiql?label=npm%20downloads)\n\u003e ![Snyk Vulnerabilities for npm package](https://img.shields.io/snyk/vulnerabilities/npm/graphiql)\n\u003e ![npm bundle size (version)](https://img.shields.io/bundlephobia/min/graphiql/latest)\n\u003e ![npm bundle size (version)](https://img.shields.io/bundlephobia/minzip/graphiql/latest)\n\n![Screenshot of GraphiQL with Doc Explorer Open](packages/graphiql/resources/graphiql.png)\n\n_/ˈɡrafək(ə)l/_ A graphical interactive in-browser GraphQL IDE.\n[Try the live demo](https://graphql.org/swapi-graphql). We also have\n[a demo using our latest netlify build](http://graphiql-test.netlify.com) for\nthe `main` branch.\n\nThe GraphiQL IDE, implemented in React, currently using\n[GraphQL mode for CodeMirror](packages/codemirror-graphql#readme) \u0026\n[GraphQL Language Service](packages/graphql-language-service#readme).\n\n**Learn more about\n[GraphiQL in `packages/graphiql/README.md`](packages/graphiql#readme)**\n\n## [`monaco-graphql`](packages/monaco-graphql#readme)\n\n[![NPM](https://img.shields.io/npm/v/monaco-graphql.svg)](https://npmjs.com/monaco-graphql)\n![jsDelivr hits (npm)](https://img.shields.io/jsdelivr/npm/hm/monaco-graphql)\n![npm downloads](https://img.shields.io/npm/dm/monaco-graphql?label=npm%20downloads)\n![Snyk Vulnerabilities for npm package](https://img.shields.io/snyk/vulnerabilities/npm/monaco-graphql)\n\nProvides monaco editor with a powerful, schema-driven graphql language mode.\nUses the `graphql-language-service`directly.\n\nSee the [webpack example](examples/monaco-graphql-webpack#readme) for a plain\njavascript demo using GitHub API\n\n## [`codemirror-graphql`](packages/codemirror-graphql#readme)\n\n[![NPM](https://img.shields.io/npm/v/codemirror-graphql.svg)](https://npmjs.com/codemirror-graphql)\n![jsDelivr hits (npm)](https://img.shields.io/jsdelivr/npm/hm/codemirror-graphql)\n![npm downloads](https://img.shields.io/npm/dm/codemirror-graphql?label=npm%20downloads)\n![Snyk Vulnerabilities for npm package](https://img.shields.io/snyk/vulnerabilities/npm/codemirror-graphql)\n\n![Animated Codemirror GraphQL Completion Example](https://raw.githubusercontent.com/graphql/graphiql/main/packages/codemirror-graphql/resources/example.gif)\n\nProvides CodeMirror 5 with a parser mode for GraphQL along with a live linter and\ntypeahead hinter powered by your GraphQL Schema. Uses the\n`graphql-language-service`.\n\n## [`cm6-graphql`](packages/cm6-graphql#readme)\n\n[![NPM](https://img.shields.io/npm/v/codemirror-graphql.svg)](https://npmjs.com/cm6-graphql)\n![jsDelivr hits (npm)](https://img.shields.io/jsdelivr/npm/hm/cm6-graphql)\n![npm downloads](https://img.shields.io/npm/dm/cm6-graphql?label=npm%20downloads)\n![Snyk Vulnerabilities for npm package](https://img.shields.io/snyk/vulnerabilities/npm/cm6-graphql)\n\nProvides CodeMirror 6 with a full-featured language mode for GraphQL. Uses the `graphql-language-service`.\n\n## [`graphql-language-service`](packages/graphql-language-service#readme)\n\n[![NPM](https://img.shields.io/npm/v/graphql-language-service.svg)](https://npmjs.com/graphql-language-service)\n![npm downloads](https://img.shields.io/npm/dm/graphql-language-service?label=npm%20downloads)\n![Snyk Vulnerabilities for npm package](https://img.shields.io/snyk/vulnerabilities/npm/graphql-language-service)\n\nProvides language services for\n[`graphql-language-service-server`](packages/graphql-language-service-server#readme)\n[`codemirror-graphql`](packages/codemirror-graphql) and\n[`monaco-graphql`](packages/monaco-graphql). Previously published separately as\nthe now-retired `graphql-language-service-interface`,\n`graphql-language-service-parser`, `graphql-language-service-utils` and\n`graphql-language-service-types`.\n\n## [`graphql-language-service-server`](packages/graphql-language-service-server#readme)\n\n[![NPM](https://img.shields.io/npm/v/graphql-language-service-server.svg)](https://npmjs.com/graphql-language-service-server)\n![npm downloads](https://img.shields.io/npm/dm/graphql-language-service-server?label=npm%20downloads)\n![Snyk Vulnerabilities for npm package](https://img.shields.io/snyk/vulnerabilities/npm/graphql-language-service-server)\n\nProvides language services for LSP-based IDE extensions using the\n`graphql-language-service`\n\n## [`graphql.vscode-graphql`](packages/vscode-graphql#readme)\n\nAn example implementation of `graphql-language-service-server` for Visual Studio\nCode. Available\n[on the marketplace](https://marketplace.visualstudio.com/items?itemName=GraphQL.vscode-graphql).\nOVSX fix is pending.\n\n## [`graphql.vscode-graphql-syntax`](packages/vscode-graphql-syntax#readme)\n\nA new syntax highlighting-only extension for vscode to be used by other vscode\nextensions.\n\n## [`graphql.vscode-graphql-execution`](packages/vscode-graphql-execution#readme)\n\nAn extension for vscode-graphql that allows inline query execution.\n\n## [`graphql-language-service-cli`](packages/graphql-language-service-cli#readme)\n\n[![NPM](https://img.shields.io/npm/v/graphql-language-service-cli.svg)](https://npmjs.com/graphql-language-service-cli)\n![npm downloads](https://img.shields.io/npm/dm/graphql-language-service-cli?label=npm%20downloads)\n![Snyk Vulnerabilities for npm package](https://img.shields.io/snyk/vulnerabilities/npm/graphql-language-service-cli)\n\nProvides a CLI for the language service server.\n\n## Browser \u0026 Runtime Support\n\nMany of these packages need to work in multiple environments.\n\nBy default, all typescript packages target `es6`.\n\n`graphql-language-service-server` and `graphql-language-service-cli` are made\nfor the node runtime, so they target `es2017`\n\n`codemirror-graphql` and the `graphiql` browser bundle use the\n[`.browserslistrc`](./.browserslistrc), which targets modern browsers to keep\nbundle size small and keep the language services performant where async/await is\nused, and especially to avoid the requirement of `regenerator-runtime` or\nspecial babel configuration.\n\n### [`.browserslistrc`](./.browserslistrc):\n\n```\nlast 2 versions\nFirefox ESR\nnot dead\nnot IE 11\nnot ios 10\nmaintained node versions\n```\n\nTo be clear, we do _not_ support Internet Explorer or older versions of\nevergreen browsers.\n\n## Development\n\nTo get setup for local development of this monorepo, refer to\n[DEVELOPMENT.md](./DEVELOPMENT.md)\n\n# Contributing to this repo\n\nThis is an open source project, and we welcome contributions. Please see\n[CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute.\n\nThis repository is managed by EasyCLA. Project participants must sign the free\n[GraphQL Specification Membership agreement](https://preview-spec-membership.graphql.org)\nbefore making a contribution. You only need to do this one time, and it can be\nsigned by\n[individual contributors](http://individual-spec-membership.graphql.org) or\ntheir [employers](http://corporate-spec-membership.graphql.org).\n\nTo initiate the signature process please open a PR against this repo. The\nEasyCLA bot will block the merge if we still need a membership agreement from\nyou.\n\nPlease note that EasyCLA is configured to accept commits from certain GitHub\nbots. These are approved on an exception basis once we are confident that any\ncontent they create is either unlikely to consist of copyrightable content or\nelse was written by someone who has already signed the CLA (e.g., a project\nmaintainer). The bots that have currently been approved as exceptions are:\n\n- github-actions (exclusively for the `changesets` Action)\n\nYou can find\n[detailed information here](https://github.com/graphql/graphql-wg/tree/main/membership).\nIf you have issues, please email\n[operations@graphql.org](mailto:operations@graphql.org).\n\n## Maintainers\n\nMaintainers of this repository regularly review PRs and issues and help advance\nthe GraphiQL roadmap\n\n### Alumni\n\nWithout these amazing past maintainers, where would we be?!\n\n- [@leebyron](https://github.com/leebyron) - original author of all libraries\n- [@asiandrummer](https://github.com/asiandrummer) - original creator of\n  GraphiQL\n- [@wincent](https://github.com/wincent) - early co-author and maintainer\n- [@lostplan](https://github.com/lostplan) - maintained the language service\n  ecosystem until about 2017\n- [@IvanGoncharov](https://github.com/ivangoncharov) - maintainer and\n  transitional mentor to @acao and others\n- [@orta](https://github.com/orta) - has helped with so many parts of the\n  project over the years, and provided the original redesign!\n- [@divyenduz](https://github.com/divyenduz) - the original creator of\n  `vscode-graphql`, and contributor to much of the ecosystem. Thanks Divy!\n\n### Active\n\nMaintainers who are currently active (to varying degrees, please contact us via\nour discord channels!):\n\n- [@imolorhe](https://github.com/imolorhe)\n- [@yoshiakis](https://github.com/yoshiakis)\n- [@urigo](https://github.com/urigo)\n- [@timsuchanek](https://github.com/timsuchanek)\n- [@thomasheyenbrock](https://github.com/thomasheyenbrock)\n- [@n1ru4l](https://github.com/n1ru4l)\n- [@acao](https://github.com/acao)\n- [@stonexer](https://github.com/stonexer)\n- [@dimaMachina](https://github.com/dimaMachina)\n- [@dotansimha](https://github.com/dotansimha)\n- [@saihaj](https://github.com/saihaj)\n- [@jonathanawesome](https://github.com/jonathanawesome)\n- [@cshaver](https://github.com/cshaver)\n\n\u003e Thank you graphql community for all the help \u0026 support! I did it all for you,\n\u003e and I couldn't have done it without you ❤️ - @acao\n\n### Fielding Proposals!\n\nThe door is open for proposals for the new GraphiQL Plugin API, and other ideas\non how to make the rest of the IDE ecosystem more performant, scalable,\ninteroperable and extensible. Feel free to open a PR to create a document in the\n`/proposals/` directory. Eventually we hope to move these to a repo that serves\nthis purpose.\n\n## Community\n\n- **Discord**\n  [![Discord](https://img.shields.io/discord/625400653321076807.svg)](https://discord.gg/NP5vbPeUFp) -\n  Most discussion outside of GitHub happens on the GraphQL\n  [Discord Server](https://discord.gg/NP5vbPeUFp)\n- **Twitter** - [@GraphiQL](https://twitter.com/@GraphiQL) and\n  [#GraphiQL](https://twitter.com/hashtag/GraphiQL)\n- **GitHub** - Create feature requests, discussions issues and bugs above\n- **Working Group** - Yes, you're invited! Monthly planning/decision making\n  meetings, and working sessions every two weeks on zoom!\n  [Learn more.](working-group#readme)\n","funding_links":[],"categories":["TypeScript","HarmonyOS","Tools","Tooling","🛠️ Developer Tools","JavaScript","Uncategorized","Data"],"sub_categories":["Windows Manager","Julia Libraries","OCaml Libraries","Crystal Libraries","Tools - Editors \u0026 IDEs \u0026 Explorers","Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraphql%2Fgraphiql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgraphql%2Fgraphiql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraphql%2Fgraphiql/lists"}