Skip to content

useSortedEnumMembers (GraphQL)

.vscode/settings.json
{
"editor.codeActionsOnSave": {
"source.action.useSortedEnumMembers.biome": "explicit",
"source.fixAll.biome": "explicit"
}
}
biome.json
{
"assist": {
"actions": {
"source": {
"useSortedEnumMembers": "on"
}
}
}
}

Sort the members of an enum in natural order.

Enforce a consistent natural sort order for GraphQL enum values.

Keeping enum values sorted makes schema definitions easier to review and maintain, especially as enums grow over time.

Members are sorted in a Natural order, meaning that uppercase letters come before lowercase letters (e.g. A < a < B < b) and numbers are compared to their numerical value (e.g. 9 < 10).

enum Role {
SUPER_ADMIN
ADMIN
USER
GOD
}
code-block.graphql:1:1 assist/source/useSortedEnumMembers  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ℹ The members of the enum Role are not sorted.

> 1 │ enum Role {
│ ^^^^^^^^^^^
> 2 │ SUPER_ADMIN
> 3 │ ADMIN
> 4 │ USER
> 5 │ GOD
> 6 │ }
│ ^
7 │

ℹ Safe fix: Sort the enum members.

1 1 │ enum Role {
2 │ - ··SUPER_ADMIN
3 │ - ··ADMIN
4 │ - ··USER
5 │ - ··GOD
2 │ + ··ADMIN
3 │ + ··GOD
4 │ + ··SUPER_ADMIN
5 │ + ··USER
6 6 │ }
7 7 │

enum Role {
ADMIN
GOD
SUPER_ADMIN
USER
}