UNPKG

@graphql-eslint/eslint-plugin

Version:
49 lines (32 loc) 1.34 kB
# `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)