The perfectionist/sort-modules rule sorts module imports and exports. It was introduced in version v4.0.0. You can configure it using either ESLint Flat Config or Legacy Config formats.
// Flat Config (eslint.config.js)
import perfectionist from 'eslint-plugin-perfectionist'
export default [
{
plugins: {
perfectionist,
},
rules: {
'perfectionist/sort-modules': [
'error',
{
type: 'alphabetical',
order: 'asc',
fallbackSort: { type: 'unsorted' },
ignoreCase: true,
specialCharacters: 'keep',
partitionByComment: false,
partitionByNewLine: false,
newlinesBetween: 'ignore',
newlinesInside: 'ignore',
groups: [
'declare-enum',
'export-enum',
'enum',
['declare-interface', 'declare-type'],
['export-interface', 'export-type'],
['interface', 'type'],
'declare-class',
'class',
'export-class',
'declare-function',
'export-function',
'function'
],
customGroups: [],
useExperimentalDependencyDetection: true,
},
],
},
},
]