-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy path.eslintrc.json
58 lines (58 loc) · 1.84 KB
/
.eslintrc.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
{
"extends": [
"next/core-web-vitals",
"prettier",
"plugin:storybook/recommended",
"plugin:import/recommended",
"plugin:import/warnings"
],
"rules": {
"import/order": [
"error",
{
"groups": [
"builtin", // 1. fsや path などの node "builtin" のモジュール
"external", // 2. npm install したパッケージ
"internal", // 3. webpack などでパス設定したモジュール
["parent", "sibling"], // 4. 親階層と小階層のファイル
"object", // object"-imports
"type", // 型だけをインポートする type imports
"index" // 同階層のファイル
],
"alphabetize": { "order": "asc", "caseInsensitive": true },
"pathGroups": [
// react, next 関連を external より前にする
{
"pattern": "react",
"group": "builtin",
"position": "after"
},
{
"pattern": "{next,next/**}",
"group": "external",
"position": "before"
},
// `@/app`, `@/features/`, `@/libs` の import をひとグループにして internal の前に
{
"pattern": "{@/app/**,@/features/**,@/libs/**}",
"group": "internal",
"position": "before"
},
// `@/components`, `@/pages` の import をグルーピング. aliasの設定いつかやるマン
{
"pattern": "{@/components/**,@/pages/**}",
"group": "internal",
"position": "before"
},
// CSS module を一番最後に
{
"pattern": "./**.module.css",
"group": "index",
"position": "after"
}
],
"pathGroupsExcludedImportTypes": ["react"]
}
]
}
}