I’m trying to add the sorting of import members such as this rule in sort-member.
However, since I’m already using eslint-plugin-import, there is a conflict because each of these rules is trying to sort imports based on different parameters:
sort-membersorts following the order["none", "all", "multiple", "single"], depending on how many imports there is from one moduleeslint-plugin-importsorts following the order["builtin", "external", "parent", "sibling", "index"], depending on the type of import
Is there a way to only use the member sort of sort-member (== ignore the memberSyntaxSortOrder rule), or is there a feature similar to memberSort built in eslint-plugin-import?
All I’m trying to do is to have an error for:
import { b, a, c } from 'foo.js'
And have it automatically fixed to:
import { a, b, c } from 'foo.js'
Advertisement
Answer
I ended up finding the solution by myself: despite memberSyntaxSortOrder being mandatory and only accepting an array, you can actually ignore this rule by simply using the ignoreDeclarationSort rule, set to true.
So to make sort/import work with an alphabetical order of multiple import lines, simply add in your rule block:
'sort-imports': [
'error',
{
ignoreDeclarationSort: true,
},
],