selection-set-depth
✅ The "extends": "plugin:@graphql-eslint/operations-recommended" property in a configuration file
enables this rule.
💡 This rule provides suggestions
- Category:
Operations - Rule name:
@graphql-eslint/selection-set-depth - Requires GraphQL Schema:
falseℹ️ - Requires GraphQL Operations:
trueℹ️
Limit the complexity of the GraphQL operations solely by their depth. Based on graphql-depth-limit.
Usage Examples
Incorrect
# eslint @graphql-eslint/selection-set-depth: ['error', { maxDepth: 1 }]
query deep2 {
viewer {
# Level 0
albums {
# Level 1
title # Level 2
}
}
}Correct
# eslint @graphql-eslint/selection-set-depth: ['error', { maxDepth: 4 }]
query deep2 {
viewer {
# Level 0
albums {
# Level 1
title # Level 2
}
}
}Correct (ignored field)
# eslint @graphql-eslint/selection-set-depth: ['error', { maxDepth: 1, ignore: ['albums'] }]
query deep2 {
viewer {
# Level 0
albums {
# Level 1
title # Level 2
}
}
}Config Schema
The schema defines the following properties:
maxDepth (number, required)
ignore (array)
The object is an array with all elements of the type string.
Additional restrictions:
- Minimum items:
1 - Unique items:
true