Skip to content

Commit a42cb99

Browse files
committed
Upgrade many ESLint plugins
1 parent 11b50a2 commit a42cb99

File tree

3 files changed

+615
-180
lines changed

3 files changed

+615
-180
lines changed

.eslintrc.yml

+108-92
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ globals:
2929
window: readonly
3030

3131
plugins:
32+
- '@stylistic/js'
33+
- '@stylistic/ts'
34+
- '@stylistic/plus'
3235
- '@typescript-eslint'
3336
- ava
3437
- eslint-comments
@@ -45,7 +48,7 @@ plugins:
4548

4649
rules:
4750
## Added by eslint-config-standard
48-
array-bracket-spacing: 2
51+
'@stylistic/js/array-bracket-spacing': 2
4952
camelcase:
5053
- 2
5154
- allow: ['^UNSAFE_']
@@ -57,7 +60,7 @@ rules:
5760
- 2
5861
- always
5962
- 'null': ignore
60-
multiline-ternary:
63+
'@stylistic/js/multiline-ternary':
6164
- 2
6265
- always-multiline
6366
no-async-promise-executor: 2
@@ -136,7 +139,7 @@ rules:
136139
prefer-regex-literals:
137140
- 2
138141
- disallowRedundantWrapping: true
139-
spaced-comment:
142+
'@stylistic/js/spaced-comment':
140143
- 2
141144
- always
142145
- line:
@@ -206,59 +209,59 @@ rules:
206209
n/no-path-concat: 0
207210

208211
## Disabled by eslint-config-prettier although added by eslint-config-standard
209-
arrow-spacing: 0
210-
comma-style: 0
211-
computed-property-spacing: 0
212-
dot-location: 0
213-
eol-last: 0
214-
generator-star-spacing: 0
215-
new-parens: 0
216-
no-floating-decimal: 0
217-
no-mixed-operators: 0
218-
no-mixed-spaces-and-tabs: 0
219-
no-multi-spaces: 0
220-
no-multiple-empty-lines: 0
221-
no-trailing-spaces: 0
212+
'@stylistic/js/arrow-spacing': 0
213+
'@stylistic/js/comma-style': 0
214+
'@stylistic/js/computed-property-spacing': 0
215+
'@stylistic/js/dot-location': 0
216+
'@stylistic/js/eol-last': 0
217+
'@stylistic/js/generator-star-spacing': 0
218+
'@stylistic/js/new-parens': 0
219+
'@stylistic/js/no-floating-decimal': 0
220+
'@stylistic/js/no-mixed-operators': 0
221+
'@stylistic/js/no-mixed-spaces-and-tabs': 0
222+
'@stylistic/js/no-multi-spaces': 0
223+
'@stylistic/js/no-multiple-empty-lines': 0
224+
'@stylistic/js/no-trailing-spaces': 0
225+
'@stylistic/js/no-whitespace-before-property': 0
226+
'@stylistic/js/object-curly-newline': 0
227+
'@stylistic/js/object-property-newline': 0
228+
'@stylistic/js/operator-linebreak': 0
229+
'@stylistic/js/padded-blocks': 0
230+
'@stylistic/js/quote-props': 0
231+
'@stylistic/js/rest-spread-spacing': 0
232+
'@stylistic/js/semi-spacing': 0
233+
'@stylistic/js/space-in-parens': 0
234+
'@stylistic/js/space-unary-ops': 0
235+
'@stylistic/js/template-curly-spacing': 0
236+
'@stylistic/js/template-tag-spacing': 0
237+
'@stylistic/js/wrap-iife': 0
238+
'@stylistic/js/yield-star-spacing': 0
222239
no-unexpected-multiline: 0
223-
no-whitespace-before-property: 0
224-
object-curly-newline: 0
225-
object-property-newline: 0
226-
operator-linebreak: 0
227-
padded-blocks: 0
228-
quote-props: 0
229-
rest-spread-spacing: 0
230-
semi-spacing: 0
231-
space-in-parens: 0
232-
space-unary-ops: 0
233-
template-curly-spacing: 0
234-
template-tag-spacing: 0
235-
wrap-iife: 0
236-
yield-star-spacing: 0
237240
unicorn/no-nested-ternary: 0
238241

239242
# Disabled by eslint-config-prettier
240-
array-bracket-newline: 0
241-
array-element-newline: 0
242-
arrow-parens: 0
243-
function-paren-newline: 0
244-
function-call-argument-newline: 0
245-
implicit-arrow-linebreak: 0
246-
jsx-quotes: 0
247-
linebreak-style: 0
248-
max-len: 0
249-
max-statements-per-line: 0
250-
newline-per-chained-call: 0
251-
no-confusing-arrow: 0
252-
nonblock-statement-body-position: 0
253-
one-var-declaration-per-line: 0
254-
semi-style: 0
255-
switch-colon-spacing: 0
256-
wrap-regex: 0
243+
'@stylistic/js/array-bracket-newline': 0
244+
'@stylistic/js/array-element-newline': 0
245+
'@stylistic/js/arrow-parens': 0
246+
'@stylistic/js/function-call-argument-newline': 0
247+
'@stylistic/js/function-paren-newline': 0
248+
'@stylistic/js/implicit-arrow-linebreak': 0
249+
'@stylistic/js/jsx-quotes': 0
250+
'@stylistic/js/linebreak-style': 0
251+
'@stylistic/js/max-len': 0
252+
'@stylistic/js/max-statements-per-line': 0
253+
'@stylistic/js/newline-per-chained-call': 0
254+
'@stylistic/js/no-confusing-arrow': 0
255+
'@stylistic/js/nonblock-statement-body-position': 0
256+
'@stylistic/js/one-var-declaration-per-line': 0
257+
'@stylistic/js/semi-style': 0
258+
'@stylistic/js/switch-colon-spacing': 0
259+
'@stylistic/js/wrap-regex': 0
257260
unicorn/empty-brace-spaces: 0
258261
unicorn/number-literal-case: 0
259262

260263
## Warned against, but allowed by eslint-config-prettier
261-
no-tabs: 2
264+
'@stylistic/js/no-tabs': 2
262265

263266
## Globals
264267
n/prefer-global/console: 2
@@ -278,10 +281,10 @@ rules:
278281
no-inline-comments:
279282
- 2
280283
- ignorePattern: c8
281-
multiline-comment-style:
284+
'@stylistic/js/multiline-comment-style':
282285
- 2
283286
- separate-lines
284-
line-comment-position: 2
287+
'@stylistic/js/line-comment-position': 2
285288
# This makes commenting/uncommenting code tedious
286289
capitalized-comments: 0
287290
# We allow TODO comments
@@ -312,6 +315,7 @@ rules:
312315

313316
## Indentation
314317
unicorn/template-indent: 2
318+
'@stylistic/plus/indent-binary-ops': 0
315319

316320
## Parenthesis
317321
unicorn/no-unreadable-iife: 2
@@ -957,7 +961,7 @@ overrides:
957961
rules:
958962
## Added by eslint-config-standard
959963
dot-notation: 2
960-
lines-between-class-members:
964+
'@stylistic/js/lines-between-class-members':
961965
- 2
962966
- always
963967
- exceptAfterSingleLine: true
@@ -981,26 +985,26 @@ overrides:
981985
- caughtErrors: all
982986

983987
## Disabled by eslint-config-prettier
984-
block-spacing: 0
985-
brace-style: 0
986-
comma-dangle: 0
987-
comma-spacing: 0
988-
func-call-spacing: 0
989-
indent: 0
990-
key-spacing: 0
991-
keyword-spacing: 0
992-
lines-around-comment: 0
993-
no-extra-parens: 0
994-
no-extra-semi: 0
995-
object-curly-spacing: 0
996-
quotes: 0
997-
semi: 0
998-
space-before-blocks: 0
999-
space-before-function-paren: 0
1000-
space-infix-ops: 0
988+
'@stylistic/js/block-spacing': 0
989+
'@stylistic/js/brace-style': 0
990+
'@stylistic/js/comma-dangle': 0
991+
'@stylistic/js/comma-spacing': 0
992+
'@stylistic/js/function-call-spacing': 0
993+
'@stylistic/js/indent': 0
994+
'@stylistic/js/key-spacing': 0
995+
'@stylistic/js/keyword-spacing': 0
996+
'@stylistic/js/lines-around-comment': 0
997+
'@stylistic/js/no-extra-parens': 0
998+
'@stylistic/js/no-extra-semi': 0
999+
'@stylistic/js/object-curly-spacing': 0
1000+
'@stylistic/js/quotes': 0
1001+
'@stylistic/js/semi': 0
1002+
'@stylistic/js/space-before-blocks': 0
1003+
'@stylistic/js/space-before-function-paren': 0
1004+
'@stylistic/js/space-infix-ops': 0
10011005

10021006
## Blank lines
1003-
padding-line-between-statements:
1007+
'@stylistic/js/padding-line-between-statements':
10041008
- 2
10051009
- blankLine: always
10061010
prev: [multiline-block-like, directive]
@@ -1066,7 +1070,7 @@ overrides:
10661070
rules:
10671071
# Same rules as JavaScript files
10681072
'@typescript-eslint/dot-notation': 2
1069-
'@typescript-eslint/lines-between-class-members':
1073+
'@stylistic/ts/lines-between-class-members':
10701074
- 2
10711075
- always
10721076
- exceptAfterSingleLine: true
@@ -1088,31 +1092,35 @@ overrides:
10881092
'@typescript-eslint/no-unused-vars':
10891093
- 2
10901094
- caughtErrors: all
1091-
'@typescript-eslint/block-spacing': 0
1092-
'@typescript-eslint/brace-style': 0
1093-
'@typescript-eslint/comma-dangle': 0
1094-
'@typescript-eslint/comma-spacing': 0
1095-
'@typescript-eslint/func-call-spacing': 0
1096-
'@typescript-eslint/indent': 0
1097-
'@typescript-eslint/key-spacing': 0
1098-
'@typescript-eslint/keyword-spacing': 0
1099-
'@typescript-eslint/lines-around-comment': 0
1100-
'@typescript-eslint/no-extra-parens': 0
1101-
'@typescript-eslint/no-extra-semi': 0
1102-
'@typescript-eslint/object-curly-spacing': 0
1103-
'@typescript-eslint/quotes': 0
1104-
'@typescript-eslint/semi': 0
1105-
'@typescript-eslint/space-before-blocks': 0
1106-
'@typescript-eslint/space-before-function-paren': 0
1107-
'@typescript-eslint/space-infix-ops': 0
1108-
'@typescript-eslint/padding-line-between-statements':
1095+
'@stylistic/ts/block-spacing': 0
1096+
'@stylistic/ts/brace-style': 0
1097+
'@stylistic/ts/comma-dangle': 0
1098+
'@stylistic/ts/comma-spacing': 0
1099+
'@stylistic/ts/function-call-spacing': 0
1100+
'@stylistic/ts/indent': 0
1101+
'@stylistic/ts/key-spacing': 0
1102+
'@stylistic/ts/keyword-spacing': 0
1103+
'@stylistic/ts/lines-around-comment': 0
1104+
'@stylistic/ts/no-extra-parens': 0
1105+
'@stylistic/ts/no-extra-semi': 0
1106+
'@stylistic/ts/object-curly-newline': 0
1107+
'@stylistic/ts/object-curly-spacing': 0
1108+
'@stylistic/ts/quote-props': 0
1109+
'@stylistic/ts/quotes': 0
1110+
'@stylistic/ts/semi': 0
1111+
'@stylistic/ts/space-before-blocks': 0
1112+
'@stylistic/ts/space-before-function-paren': 0
1113+
'@stylistic/ts/space-infix-ops': 0
1114+
'@stylistic/ts/padding-line-between-statements':
11091115
- 2
11101116
- blankLine: always
11111117
prev: [multiline-block-like, directive, interface, type]
11121118
next: '*'
11131119
- blankLine: always
11141120
prev: '*'
11151121
next: multiline-block-like
1122+
'@stylistic/plus/type-generic-spacing': 0
1123+
'@stylistic/plus/type-named-tuple-spacing': 0
11161124
'@typescript-eslint/no-shadow':
11171125
- 2
11181126
- builtinGlobals: true
@@ -1142,6 +1150,7 @@ overrides:
11421150
# - enforceForDeclarationWithTypeAnnotation: true
11431151
'@typescript-eslint/class-methods-use-this': 2
11441152
'@typescript-eslint/no-invalid-this': 2
1153+
'@typescript-eslint/prefer-promise-reject-errors': 2
11451154
'@typescript-eslint/require-await': 2
11461155
'@typescript-eslint/return-await': 2
11471156
'@typescript-eslint/no-restricted-imports':
@@ -1153,8 +1162,8 @@ overrides:
11531162
allowTypeImports: true
11541163

11551164
## Disabled by eslint-config-prettier
1156-
'@typescript-eslint/member-delimiter-style': 0
1157-
'@typescript-eslint/type-annotation-spacing': 0
1165+
'@stylistic/ts/member-delimiter-style': 0
1166+
'@stylistic/ts/type-annotation-spacing': 0
11581167

11591168
# Types requires more lines of code
11601169
max-lines:
@@ -1217,6 +1226,7 @@ overrides:
12171226
# `${...}` is useful in validation error messages where input might be
12181227
# unknown or of many different types
12191228
'@typescript-eslint/restrict-template-expressions': 0
1229+
'@typescript-eslint/no-unnecessary-template-expression': 2
12201230

12211231
## Tests
12221232
'@typescript-eslint/no-unnecessary-boolean-literal-compare': 2
@@ -1237,7 +1247,9 @@ overrides:
12371247
'@typescript-eslint/no-for-in-array': 2
12381248

12391249
## Switch
1240-
'@typescript-eslint/switch-exhaustiveness-check': 2
1250+
'@typescript-eslint/switch-exhaustiveness-check':
1251+
- 2
1252+
- requireDefaultForNonUnion: true
12411253

12421254
## Functions
12431255
'@typescript-eslint/method-signature-style': 2
@@ -1282,6 +1294,7 @@ overrides:
12821294

12831295
## Arrays
12841296
'@typescript-eslint/array-type': 2
1297+
'@typescript-eslint/prefer-find': 2
12851298
'@typescript-eslint/prefer-includes': 2
12861299
'@typescript-eslint/prefer-reduce-type-parameter': 2
12871300
'@typescript-eslint/require-array-sort-compare':
@@ -1292,6 +1305,9 @@ overrides:
12921305
'@typescript-eslint/restrict-plus-operands': 2
12931306
'@typescript-eslint/prefer-string-starts-ends-with': 2
12941307

1308+
## Numbers
1309+
'@typescript-eslint/no-unsafe-unary-minus': 2
1310+
12951311
## RegExps
12961312
'@typescript-eslint/prefer-regexp-exec': 2
12971313

@@ -1444,7 +1460,7 @@ overrides:
14441460

14451461
# Inline comments can be nicer in documentation
14461462
# Examples usually include the return value as inline comments
1447-
line-comment-position: 0
1463+
'@stylistic/js/line-comment-position': 0
14481464
no-inline-comments: 0
14491465

14501466
# Documentation often require the module itself.

0 commit comments

Comments
 (0)