$ npm install -D eslint-plugin-import
pathGroups
을 지정해서 Nest
를 포함할 경우 external
그룹에 포함시키고,
가장 앞단 ( before ) 위치 시킬 수 있다.
// .eslintrc.js
module.exports = {
...
plugins: ['import'],
rules: {
'import/order': [
'error',
{
groups: ['builtin', 'external', 'internal'],
pathGroups: [
{
pattern: 'Nest',
group: 'external',
position: 'before'
}
],
alphabetize: {
order: 'asc',
caseInsensitive: true
}
}
]
}
}
$ npm install -D eslint-plugin-simple-import-sort
// .eslintrc.js
module.exports = {
...
plugins: ['simple-import-sort'],
rules: {
'simple-import-sort/imports': 'error',
'simple-import-sort/exports': 'error',
}
}
위 두 plugin 은 같이 쓰지 못하기 때문에 하나만 선택해서 사용해야한다.
[simple-import-sort github] https://github.com/lydell/eslint-plugin-simple-import-sort
[import/order] https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/order.md
[import 정렬 blog]
https://velog.io/@eenaree/eslint-import-order
https://bepyan.github.io/snippets/lint/eslint-sort-import
https://db2dev.tistory.com/entry/ESLint-importorder-%EA%B7%9C%EC%B9%99-%EC%84%A4%EC%A0%95%ED%95%98%EA%B3%A0-%EB%92%A4%EC%A3%BD%EB%B0%95%EC%A3%BD-import-%EC%BD%94%EB%93%9C-%EA%B0%9C%EC%84%A0%ED%95%98%EA%B8%B0
$ npm i eslint-plugin-no-relative-import-paths
// .eslint.rc
{
"plugins": ["no-relative-import-paths"],
"rules": {
"no-relative-import-paths/no-relative-import-paths": [
"warn",
{
"allowSameFolder": true,
"rootDir": 'src',
"prefix": '@',
}
]
}
}
[npm] https://www.npmjs.com/package/eslint-plugin-no-relative-import-paths