/graphiql

An in-browser IDE for exploring GraphQL.

Primary LanguageJavaScriptMIT LicenseMIT

GraphQL IDE Monorepo

Build Status Discord

Intro

GraphiQL is the reference implementation of this monorepo, GraphQL IDE, an official project under the GraphQL Foundation. The code uses the permissive MIT license.

The graphql-language-service-interface should be your go-to for language server protocol spec (LSP) implementations, which is now our first order IDE spec.

The purpose of this monorepo is to give folks a solid language service, and editor modes, and to show an example of how to use them with GraphiQL.

GraphiQL

NPM CDNJS

Note: We are aware that graphiql.min.js is not working as of 0.15.0, and we are waiting for the resolution to be approved so we can re-release it. If you need to use a CDN build, you can use the unminified graphiql.js which is working for all versions.

/ˈɡrafək(ə)l/ A graphical interactive in-browser GraphQL IDE. Try the live demo. We also have a demo using our latest netlify build for the master branch.

The GraphiQL IDE, implemented in React, currently using GraphQL mode for CodeMirror & GraphQL Language Service.

How To Setup/Implement GraphiQL

The GraphiQL Readme explains some of the ways to implement GraphiQL, and we also have the examples directory as well!

GraphQL mode for CodeMirror

NPM

Provides CodeMirror with a parser mode for GraphQL along with a live linter and typeahead hinter powered by your GraphQL Schema

GraphQL Language Service

NPM

Provides an interface for building GraphQL language services for IDEs.

GraphQL Language Service Server

NPM

Server process backing the GraphQL Language Service.

GraphQL Language Service Interface

NPM

LSP Interface to the GraphQL Language Service

GraphQL Language Service Parser

NPM

An online immutable parser for GraphQL, designed to be used as part of syntax-highlighting and code intelligence tools such as for the GraphQL Language Service and codemirror-graphql.

GraphQL Language Service Types

NPM

Flow type definitions for the GraphQL Language Service.

GraphQL Language Service Utilities

NPM

Utilities to support the GraphQL Language Service.

Contributing

This is an open source project, and we welcome contributions. Please see CONTRIBUTING.md for details on how to contribute.

Fielding Proposals!

The door is open for proposals for the new GraphiQL Plugin API, and other ideas on how to make the rest of the IDE ecosystem more performant, scaleable, interoperable and extensible. Feel free to open a PR to create a document in the /proposals/ directory. Eventually we hope to move these to a repo that serves this purpose.

Community

  • Discord - Most discussion outside of github happens on our Discord Server
  • Twitter - @GraphiQL and #GraphiQL
  • GitHub - Create feature requests and start discussions above