The easiest way to configure your development environment with your GraphQL schema (supported by most tools, editors & IDEs)
TLDR: Set an environment variable called GRAPHQL_ENDPOINT
to your GraphQL endpoint (e.g. https://your.api/graphql
) or read ahead for other configuration options.
- js-graphql-intellij-plugin - GraphQL language support for IntelliJ IDEA and WebStorm, including Relay.QL tagged templates in JavaScript and TypeScript (pending)
- atom-language-graphql - GraphQL support for Atom text editor (pending)
- babel-plugin-react-relay - Babel compile step to process your
Relay.QL
queries - eslint-plugin-graphql - An ESLint plugin that checks tagged template strings against a GraphQL schema (pending)
Did we forget a tool/editor? Please add it here.
You can either configure your GraphQL endpoint via a configuration file or by providing an enviornment variable.
Note: This requires Node 5 installed or higher
The easiest way to configure your project is by setting an environment variable called GRAPHQL_ENDPOINT
to your GraphQL endpoint.
export GRAPHQL_ENDPOINT="https://your.api/graphql"
You can either use your actual GraphQL endpoint or if preferred a local schema.json or schema.js file.
Note: The headers
object is optional and can for example be used to authenticate to your GraphQL endpoint.
{
"request": {
"url": "https://example.com/graphql",
"headers": {
"Authorization": "xxxxx"
}
}
}
{
"file": "./schema.json"
}
{
"graphql-js": "./schema.js"
}
Use the same configuration options as for the .graphqlrc
file but wrap it into an object with the key graphql
.
{
"dependencies": { ... },
"graphql": {
"request": {
"url": "https://example.com/graphql"
}
}
}
This project aims to be provide a unifying configuration file format to configure your GraphQL schema in your development environment.
Additional to the format specification, it provides the graphql-config-parser
library, which is used by all supported tools and editor plugins. The library reads your provided configuration and passes the actual GraphQL schema along to the tool which called it.
In case you provided a URL to your GraphQL endpoint, the graphql-config-parser
library will run an introspection query against your endpoint in order to fetch your schema.
import { parse, resolveSchema } from 'graphql-config-parser'
const config = parse()
resolveSchema(config)
.then((schema) => {
// use json schema for your tool/plugin
})
.catch((err) => {
console.error(err)
})
Join our Slack community if you run into issues or have questions. We love talking to you!