どのように迅速にインポートソートのためのeslintを設定する
3772 ワード
私は、コードがフォーマットされる方法で少し強迫観念を得ることができて、チームセッティングだけでなく私自身の個人のプロジェクトでスタイルを整えました.私が道に沿って注意した何かは、私が本当に特定の方法で注文されているファイルの冒頭の輸入によって好まれたということです:
そして、それらの同じサブカテゴリの中で、私もそれがアルファベットであることを望みました.
エスライン
ESPINTでは、インポートが間違った順序で設定されているときにエラーや警告を表示するオプションが2つあります.ソートインポートと、プラグインの助けを借りてプラグインの名前をインポートします.
インポートをソート
sort-importsは、宣言または宣言のメンバーを使用してインポートをアルファベット順に整理する方法を提供します.例えば、
になります.
すごい!また、文字のケースを無視するいくつかのオプションを追加することができます.これをeslintにフックするにはeslint configファイルにルールを追加しなければなりません:
"rules": {
// ..other rules,
"sort-imports":
[
"error",
{
"ignoreCase": true,
"ignoreDeclarationSort": true
}
],
}
あなたは、私がここで宣言ソートを無視されるのに気がつきました.これは意図的です、私たちはeslint-plugin-importを使用して宣言を分類するより微妙なアプローチをするつもりです.輸入・受注
このためにはまずeslintプラグインをインストールしなければなりません:
yarn add eslint-plugin-import --dev
すごい!それは我々がどのように我々の輸入を見たいかについて、非常にgranularを得る規則構成を提供します.最初にグループのグループを区別してグループ分けします."rules: {
// ..other rules,
"import/order":
[
1,
{ "groups":
[
"external",
"builtin",
"internal",
"sibling",
"parent",
"index"
],
}
]
}
これは、最初に指定したグループによってインポートを分割します!すごい!しかし、typescriptでエイリアスを使用する場合、いくつかのインポートを依存関係に混乱させることができます.この特定の規則は、パスグループと呼ばれる何かを指定することによって、これらの特定のエッジケースを回避するのを助けることができます."groups": [
"external",
"builtin",
"internal",
"sibling",
"parent",
"index"
],
"pathGroups": [
{
"pattern": "components",
"group": "internal"
},
{
"pattern": "common",
"group": "internal"
},
{
"pattern": "routes/ **",
"group": "internal"
},
{
"pattern": "assets/**",
"group": "internal",
"position": "after"
}
],
"pathGroupsExcludedImportTypes":
["internal"],
"alphabetize": {
"order": "asc",
"caseInsensitive": true
}
グレート今ではグループ内のこれらのエイリアスフォルダを考慮する内部!リンギングプロセスの一部として、現在実行できます.
yarn lint --fix
そして、それはすべてのインポートソート警告を修正します.以下のコメントでインポートをソートするために使用する任意の構成を共有!
あなたがこれが好きであるならば、私と連絡をとってください
元来は、2021年10月10日にhttps://relatablecode.comに発行された.
Reference
この問題について(どのように迅速にインポートソートのためのeslintを設定する), 我々は、より多くの情報をここで見つけました https://dev.to/diballesteros/how-to-quickly-configure-eslint-for-import-sorting-2h73テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol