alphabetize
đź”§ The --fix option on the
command line  can automatically
fix some of the problems reported by this rule.
- Category:
Schema & Operations - Rule name:
@graphql-eslint/alphabetize - Requires GraphQL Schema:
falseℹ️ - Requires GraphQL Operations:
falseℹ️
Usage Examples
Incorrect
# eslint @graphql-eslint/alphabetize: ['error', { fields: ['ObjectTypeDefinition'] }]
type User {
password: String
firstName: String! # should be before "password"
age: Int # should be before "firstName"
lastName: String!
}Correct
# eslint @graphql-eslint/alphabetize: ['error', { fields: ['ObjectTypeDefinition'] }]
type User {
age: Int
firstName: String!
lastName: String!
password: String
}Incorrect
# eslint @graphql-eslint/alphabetize: ['error', { values: true }]
enum Role {
SUPER_ADMIN
ADMIN # should be before "SUPER_ADMIN"
USER
GOD # should be before "USER"
}Correct
# eslint @graphql-eslint/alphabetize: ['error', { values: true }]
enum Role {
ADMIN
GOD
SUPER_ADMIN
USER
}Incorrect
# eslint @graphql-eslint/alphabetize: ['error', { selections: ['OperationDefinition'] }]
query {
me {
firstName
lastName
email # should be before "lastName"
}
}Correct
# eslint @graphql-eslint/alphabetize: ['error', { selections: ['OperationDefinition'] }]
query {
me {
email
firstName
lastName
}
}Config Schema
The schema defines the following properties:
fields (array)
Fields of type, interface, and input.
The elements of the array can contain the following enum values:
ObjectTypeDefinitionInterfaceTypeDefinitionInputObjectTypeDefinition
Additional restrictions:
- Minimum items:
1 - Unique items:
true
values (boolean)
Values of enum.
selections (array)
Selections of fragment and operations query, mutation and subscription.
The elements of the array can contain the following enum values:
OperationDefinitionFragmentDefinition
Additional restrictions:
- Minimum items:
1 - Unique items:
true
variables (boolean)
Variables of operations query, mutation and subscription.
arguments (array)
Arguments of fields and directives.
The elements of the array can contain the following enum values:
FieldDefinitionFieldDirectiveDefinitionDirective
Additional restrictions:
- Minimum items:
1 - Unique items:
true
definitions (boolean)
Definitions – type, interface, enum, scalar, input, union and directive.
groups (array)
Order group. Example: ['...', 'id', '*', '{'] where:
...stands for fragment spreadsidstands for field with nameid*stands for everything else{stands for fieldsselection set
The object is an array with all elements of the type string.
Additional restrictions:
- Minimum items:
2 - Unique items:
true