With this configuration, you can specify custom configurations for GraphQL's parse
method. By default, graphql-eslint
parser just adds noLocation: false
to make sure all parsed AST has location
set, since we need this for tokening and for converting the GraphQL AST into ESTree.
You can find the complete set of options for this object here
If you are using graphql-config
in your project, the parser will automatically use that to load your default GraphQL schema.
You can disable this behaviour using skipGraphQLConfig: true
in the parserOptions
:
"parserOptions": {
"skipGraphQLConfig": true
}
You can specify parserOptions.schema
to load your GraphQL schema. The parser uses graphql-tools
and it's loaders, that means you can either specify a URL, a path to a local .json
(introspection) file, or a path to a local .graphql
file(s). You can also use Glob expressions to load multiple files.
Here are a few examples for a valid setup:
"parserOptions": {
"schema": "./schema.graphql"
}
"parserOptions": {
"schema": "./schema.json"
}
"parserOptions": {
"schema": "http://my-server/graphql"
}
"parserOptions": {
"schema": "./src/**/*.graphql"
}
"parserOptions": {
"schema": [
"src/schema-a.graphql",
"src/schema-b.graphql",
"src/schema-c.graphql"
]
}
If you wish to send additional configuration for the graphql-tools
loaders that loads your schema, you can specify schemaOptions
object:
"parserOptions": {
"schema": "http://my-server/graphql",
"schemaOptions": {
"headers": {
"Authorization": "Bearer MY_TOKEN"
}
}
}
"parserOptions": {
"schema": "./src/**/*.graphql",
"schemaOptions": {
"assumeValid": true
}
}
The configuration here is flexible, and will be sent to
graphql-tools
and it's loaders. So depends on the schema source, the options may vary. You can read more about these loaders and their configuration here.