-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eslintrc.js
181 lines (148 loc) · 3.67 KB
/
.eslintrc.js
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
module.exports = {
env: {
browser: true,
es6: true,
node: true
},
extends: ["eslint:all"],
globals: {
DndEvent: false,
MediaMetadata: true,
MusicKit: false,
NodeJS: false,
grecaptcha: false
},
overrides: [
{
extends: "./linter/.eslintrc.javascript.js",
files: ["*.js"]
},
{
extends: "./linter/.eslintrc.typescript.js",
files: ["*.ts"]
},
{
extends: "./linter/.eslintrc.svelte.js",
files: ["*.svelte"]
}
],
rules: {
// アロー関数のワンライナーを許可する
"arrow-body-style": [
"error",
"as-needed"
],
// キャメルケースを強要しない
camelcase: "off",
// コメントアウトの文章の初めを大文字にしない
"capitalized-comments": "off",
// 戻り値の値を強制しない
"consistent-return": "off",
// デフォルト値がある引数は最後にしなくても良い
"default-param-last": "off",
// function がズレるので無効
"function-call-argument-newline": [
"error",
"consistent"
],
// function の括弧内での改行を強制しない
"function-paren-newline": "off",
// 1文字の変数を許可しない
"id-length": [
"error",
{ exceptions: [
"_",
"x",
"y",
"a"
] }
],
// import 文はソートする
"import/order": [
"error",
{ alphabetize: { order: "asc" } }
],
// インデントはスペース2個分
indent: [
"error",
2
],
// 初期化するときに初期値がなくても良い
"init-declarations": "off",
// コメントのみ最大列無視
"max-len": [
"error",
{
code: 160,
ignoreComments: true,
ignoreTemplateLiterals: true
}
],
// ファイルの最大行数を制限しない
"max-lines": "off",
"max-statements": "off",
// 複数行用のコメント記述法を強制しない
"multiline-comment-style": "off",
// 三項演算子は改行してもしなくても良い
"multiline-ternary": [
"error",
"never"
],
// アロー関数を有効にする
"no-confusing-arrow": "off",
"no-duplicate-imports": "off",
// マジックナンバーを許可する
"no-magic-numbers": "off",
// 演算子の混在を許可する
"no-mixed-operators": "off",
// process.env 使用許可
"no-process-env": "off",
// return の時に変数に代入できる
"no-return-assign": "off",
// typescript で nest した [key in object] をするため
"no-shadow": [
"error",
{ allow: ["key"] }
],
// 三項演算子有効
"no-ternary": "off",
// undefined で初期化しても良い
"no-undef-init": "off",
// undefined 使える
"no-undefined": "off",
// typescript で [key in object] をするため
"no-unused-vars": [
"error",
{
argsIgnorePattern: "^_",
varsIgnorePattern: "^key$"
}
],
// object 内の改行
"object-curly-newline": [
"error",
{ minProperties: 2 }
],
// object の隙間を開ける
"object-curly-spacing": [
"error",
"always"
],
// const 宣言をまとめない
"one-var": "off",
// object key のダブルクォーツを強制しない
"quote-props": [
"error",
"as-needed"
],
// import をソートする
"sort-imports": "off",
// object key をソートする
"sort-keys-fix/sort-keys-fix": "error",
// "use strict" を強要しない
strict: [
"error",
"never"
]
}
};