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