@graphql-eslint/eslint-plugin
Version:
GraphQL plugin for ESLint
49 lines (32 loc) • 1.34 kB
Markdown
# `known-directives`
✅ The `"extends": "plugin:@graphql-eslint/schema-recommended"` and
`"plugin:@graphql-eslint/operations-recommended"` property in a configuration file enables this
rule.
- Category: `Schema & Operations`
- Rule name: `@graphql-eslint/known-directives`
- Requires GraphQL Schema: `true` [ℹ️](../../README.md#extended-linting-rules-with-graphql-schema)
- Requires GraphQL Operations: `false`
[ℹ️](../../README.md#extended-linting-rules-with-siblings-operations)
A GraphQL document is only valid if all `@directive`s are known by the schema and legally
positioned.
> This rule is a wrapper around a `graphql-js` validation function.
## Usage Examples
### Valid
```graphql
# eslint @graphql-eslint/known-directives: ['error', { ignoreClientDirectives: ['client'] }]
{
product {
someClientField @client
}
}
```
## Config Schema
The schema defines the following properties:
### `ignoreClientDirectives` (array, required)
The object is an array with all elements of the type `string`.
Additional restrictions:
- Minimum items: `1`
- Unique items: `true`
## Resources
- [Rule source](https://github.com/graphql/graphql-js/blob/main/src/validation/rules/KnownDirectivesRule.ts)
- [Test source](https://github.com/graphql/graphql-js/tree/main/src/validation/__tests__/KnownDirectivesRule-test.ts)