Auto-fixable import sorting rules for ESLint

The pretty much standard way of sorting imports in JavaScript:

3rd party imports first
then local default exports
and then local exports

And here’s the snippet that sorts them in this exact order and
satisfies my needs completely!

$ npm i –sav…


This content originally appeared on DEV Community and was authored by Bartłomiej Stefański

The pretty much standard way of sorting imports in JavaScript:

  • 3rd party imports first
  • then local default exports
  • and then local exports

And here's the snippet that sorts them in this exact order and
satisfies my needs completely!

$ npm i --save-dev eslint-plugin-import  

# or    

$ yarn add -D eslint-plugin-import
// .eslintrc.js  
const fs = require('fs')  

const ignoredSortingDirectories = ['.git', '.next', '.vscode', 'node_modules']  

module.exports = {  
  /// ... some other configurations  
  rules: {  
    // ... your rules  
    'sort-imports': ['error', { ignoreCase: true, ignoreDeclarationSort: true }],  
    'import/order': [  
      1,   
      {  
        groups: ['external', 'builtin', 'internal', 'sibling', 'parent', 'index'],  
        pathGroups: [  
          ...getDirectoriesToSort().map((singleDir) => ({ pattern: `${singleDir}/**`, group: 'internal' })),  
          { pattern: 'env', group: 'internal' },  
          { pattern: 'theme', group: 'internal' },  
          { pattern: 'public/**', group: 'internal', position: 'after' },  
        ],  
        pathGroupsExcludedImportTypes: ['internal'],  
        alphabetize: {  
          order: 'asc',  
          caseInsensitive: true,  
        },  
      },  
    ],  
    // ... your rules  
  },  
}  

function getDirectoriesToSort() {  
  return getDirectories(process.cwd()).filter((f) => !ignoredSortingDirectories.includes(f))  
}  

function getDirectories(path) {  
  return fs.readdirSync(path).filter(function (file) {  
    return fs.statSync(path + '/' + file).isDirectory()  
  })  
}  


This content originally appeared on DEV Community and was authored by Bartłomiej Stefański


Print Share Comment Cite Upload Translate Updates
APA

Bartłomiej Stefański | Sciencx (2021-11-26T22:29:58+00:00) Auto-fixable import sorting rules for ESLint. Retrieved from https://www.scien.cx/2021/11/26/auto-fixable-import-sorting-rules-for-eslint/

MLA
" » Auto-fixable import sorting rules for ESLint." Bartłomiej Stefański | Sciencx - Friday November 26, 2021, https://www.scien.cx/2021/11/26/auto-fixable-import-sorting-rules-for-eslint/
HARVARD
Bartłomiej Stefański | Sciencx Friday November 26, 2021 » Auto-fixable import sorting rules for ESLint., viewed ,<https://www.scien.cx/2021/11/26/auto-fixable-import-sorting-rules-for-eslint/>
VANCOUVER
Bartłomiej Stefański | Sciencx - » Auto-fixable import sorting rules for ESLint. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/11/26/auto-fixable-import-sorting-rules-for-eslint/
CHICAGO
" » Auto-fixable import sorting rules for ESLint." Bartłomiej Stefański | Sciencx - Accessed . https://www.scien.cx/2021/11/26/auto-fixable-import-sorting-rules-for-eslint/
IEEE
" » Auto-fixable import sorting rules for ESLint." Bartłomiej Stefański | Sciencx [Online]. Available: https://www.scien.cx/2021/11/26/auto-fixable-import-sorting-rules-for-eslint/. [Accessed: ]
rf:citation
» Auto-fixable import sorting rules for ESLint | Bartłomiej Stefański | Sciencx | https://www.scien.cx/2021/11/26/auto-fixable-import-sorting-rules-for-eslint/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.