Skip to content

useSortedEnumMembers

.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
}