@cherepanov.pavel/shareable-config 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/.editorconfig +2 -3
  2. package/.editorconfig-get.js +3 -3
  3. package/.get-all.js +16 -12
  4. package/.gitattributes-get.js +3 -3
  5. package/.gitignore-get.js +33 -30
  6. package/.vscode/.code-snippets-get.js +34 -31
  7. package/.vscode/extensions.json +17 -17
  8. package/.vscode/extensions.json-get.js +25 -25
  9. package/.vscode/settings.json +36 -27
  10. package/.vscode/settings.json-get.js +25 -25
  11. package/README.md +13 -3
  12. package/env.json5.set.js +1 -1
  13. package/jsconfig.json +4 -7
  14. package/package.json +11 -1
  15. package/tools/eslint-config/configs/global.js +21 -18
  16. package/tools/eslint-config/configs/javascript.js +14 -14
  17. package/tools/eslint-config/configs/json.js +93 -0
  18. package/tools/eslint-config/configs/typescript.js +17 -17
  19. package/tools/eslint-config/configs/vue.js +22 -22
  20. package/tools/eslint-config/index.js +1 -0
  21. package/tools/eslint-config/rules/constants.js +10 -9
  22. package/tools/eslint-config/rules/javascript/index.js +2 -2
  23. package/tools/eslint-config/rules/javascript/possible-problems.js +76 -58
  24. package/tools/eslint-config/rules/javascript/suggestions.js +405 -249
  25. package/tools/eslint-config/rules/stylistic/jsFormatting.js +321 -167
  26. package/tools/eslint-config/rules/stylistic/tsFormatting.js +4 -4
  27. package/tools/eslint-config/rules/typescript/common.js +135 -126
  28. package/tools/eslint-config/rules/typescript/compatibility.js +20 -20
  29. package/tools/eslint-config/rules/typescript/extension.js +44 -44
  30. package/tools/eslint-config/rules/typescript/index.js +3 -3
  31. package/tools/eslint-config/rules/vue/base.js +2 -2
  32. package/tools/eslint-config/rules/vue/extension.js +47 -44
  33. package/tools/eslint-config/rules/vue/formatting.js +66 -36
  34. package/tools/eslint-config/rules/vue/index.js +5 -5
  35. package/tools/eslint-config/rules/vue/possibleProblems.js +182 -109
  36. package/tools/eslint-config/rules/vue/suggestions.js +82 -79
  37. package/tools/stylelint-config/config.js +18 -20
  38. package/tools/stylelint-config/rules/base.js +30 -24
  39. package/tools/stylelint-config/rules/conflicts.js +5 -5
  40. package/tools/stylelint-config/rules/order.js +38 -38
  41. package/tools/stylelint-config/rules/property-groups.js +392 -389
  42. package/tools/stylelint-config/rules/scss.js +9 -6
  43. package/tools/stylelint-config/rules/stylistic.js +110 -109
  44. package/utils/communication.js +26 -26
  45. package/utils/copy-with-override.js +35 -33
  46. package/utils/env.js +4 -4
  47. package/utils/file-header.js +9 -9
  48. package/utils/file.js +46 -46
  49. package/utils/merge.js +161 -155
@@ -1,254 +1,410 @@
1
1
  import { ERROR, OFF, WARN } from '../severity.js';
2
2
 
3
3
  export const suggestionRules = {
4
- 'accessor-pairs': [ERROR],
5
- 'arrow-body-style': [ERROR, 'always'],
6
- 'block-scoped-var': [ERROR],
7
- 'camelcase': [ERROR, { properties: 'never' }],
8
- 'capitalized-comments': [OFF, 'never'],
9
- 'class-methods-use-this': [ERROR],
10
- 'complexity': [OFF],
11
- 'consistent-return': [OFF],
12
- 'consistent-this': [OFF],
13
- 'curly': [ERROR, 'all'],
14
- 'default-case': [OFF],
15
- 'default-case-last': [ERROR],
16
- 'default-param-last': [ERROR],
17
- 'dot-notation': [ERROR],
18
- 'eqeqeq': [ERROR, 'always', { null: 'always' }],
19
- 'func-name-matching': [WARN],
20
- 'func-names': [WARN, 'as-needed'],
21
- 'func-style': [ERROR, 'declaration', { allowArrowFunctions: true }],
22
- 'grouped-accessor-pairs': [ERROR, 'getBeforeSet'],
23
- 'guard-for-in': [OFF],
24
- 'id-denylist': [OFF],
25
- 'id-length': [ERROR, {
26
- min: 2,
27
- exceptionPatterns: ['sort', '^a$', '^b$', 'for', '^i$'],
28
- properties: 'never',
29
- }],
30
- 'id-match': [OFF],
31
- 'init-declarations': [OFF],
32
- 'logical-assignment-operators': [ERROR, 'always', { enforceForIfStatements: true }],
33
- 'max-classes-per-file': [ERROR, 1],
34
- 'max-depth': [ERROR, 4],
35
- // 'max-lines': [WARN, {
36
- // max: 600,
37
- // skipBlankLines: true,
38
- // skipComments: true,
39
- // }],
40
- // 'max-lines-per-function': [WARN, {
41
- // max: 120,
42
- // skipBlankLines: true,
43
- // skipComments: true,
44
- // }],
45
- 'max-nested-callbacks': [WARN, { max: 5 }],
46
- 'max-params': [WARN, { max: 5 }],
47
- 'max-statements': [WARN, { max: 20 }],
48
- 'multiline-comment-style': [OFF],
49
- 'new-cap': [ERROR, {
50
- capIsNew: true,
51
- newIsCap: true,
52
- }],
53
- 'no-alert': [ERROR],
54
- 'no-array-constructor': [ERROR],
55
- 'no-bitwise': [ERROR],
56
- 'no-caller': [ERROR],
57
- 'no-case-declarations': [ERROR],
58
- 'no-console': [WARN, { allow: ['warn', 'error', 'info'] }],
59
- 'no-continue': [ERROR],
60
- 'no-delete-var': [ERROR],
61
- 'no-div-regex': [ERROR],
62
- 'no-else-return': [ERROR, { allowElseIf: false }],
63
- 'no-empty': [ERROR, { allowEmptyCatch: true }],
64
- 'no-empty-function': [ERROR],
65
- 'no-empty-static-block': [ERROR],
66
- 'no-eq-null': [OFF],
67
- 'no-eval': [ERROR],
68
- 'no-extend-native': [ERROR],
69
- 'no-extra-bind': [ERROR],
70
- 'no-extra-boolean-cast': [ERROR],
71
- 'no-extra-label': [ERROR],
72
- 'no-global-assign': [ERROR],
73
- 'no-implicit-coercion': [ERROR, {
74
- boolean: true,
75
- number: true,
76
- string: true,
77
- }],
78
- 'no-implicit-globals': [OFF],
79
- 'no-implied-eval': [ERROR],
80
- 'no-inline-comments': [OFF],
81
- 'no-invalid-this': [ERROR],
82
- 'no-iterator': [ERROR],
83
- 'no-label-var': [ERROR],
84
- 'no-labels': [ERROR, { allowLoop: false, allowSwitch: false }],
85
- 'no-lone-blocks': [ERROR],
86
- 'no-lonely-if': [ERROR],
87
- 'no-loop-func': [ERROR],
88
- 'no-magic-numbers': [OFF],
89
- 'no-multi-assign': [ERROR],
90
- 'no-multi-str': [ERROR],
91
- 'no-negated-condition': [ERROR],
92
- 'no-nested-ternary': [ERROR],
93
- 'no-new': [ERROR],
94
- 'no-new-func': [ERROR],
95
- 'no-new-object': [ERROR],
96
- 'no-new-wrappers': [ERROR],
97
- 'no-nonoctal-decimal-escape': [ERROR],
98
- 'no-octal': [ERROR],
99
- 'no-octal-escape': [ERROR],
100
- 'no-param-reassign': [ERROR, {
101
- props: true,
102
- }],
103
- 'no-plusplus': [ERROR, { allowForLoopAfterthoughts: true }],
104
- 'no-proto': [ERROR],
105
- 'no-redeclare': [ERROR, { builtinGlobals: true }],
106
- 'no-regex-spaces': [ERROR],
107
- 'no-restricted-exports': [ERROR, {
108
- restrictedNamedExports: [
109
- 'default', // use `export default` to provide a default export
110
- 'then', // this will cause tons of confusion when your module is dynamically `import()`ed, and will break in most node ESM versions
111
- ],
112
- }],
113
- 'no-restricted-imports': [OFF, { paths: [], patterns: [] }],
114
- 'no-restricted-properties': [ERROR, {
115
- object: 'arguments',
116
- property: 'callee',
117
- message: 'arguments.callee is deprecated',
118
- }, {
119
- object: 'global',
120
- property: 'isFinite',
121
- message: 'Please use Number.isFinite instead',
122
- }, {
123
- object: 'self',
124
- property: 'isFinite',
125
- message: 'Please use Number.isFinite instead',
126
- }, {
127
- object: 'window',
128
- property: 'isFinite',
129
- message: 'Please use Number.isFinite instead',
130
- }, {
131
- object: 'global',
132
- property: 'isNaN',
133
- message: 'Please use Number.isNaN instead',
134
- }, {
135
- object: 'self',
136
- property: 'isNaN',
137
- message: 'Please use Number.isNaN instead',
138
- }, {
139
- object: 'window',
140
- property: 'isNaN',
141
- message: 'Please use Number.isNaN instead',
142
- }, {
143
- property: '__defineGetter__',
144
- message: 'Please use Object.defineProperty instead.',
145
- }, {
146
- property: '__defineSetter__',
147
- message: 'Please use Object.defineProperty instead.',
148
- }, {
149
- object: 'Math',
150
- property: 'pow',
151
- message: 'Use the exponentiation operator (**) instead.',
152
- }],
153
- 'no-restricted-syntax': [
154
- ERROR,
155
- {
156
- selector: 'ForInStatement',
157
- message: 'for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.',
158
- },
159
- {
160
- selector: 'LabeledStatement',
161
- message: 'Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.',
162
- },
163
- {
164
- selector: 'WithStatement',
165
- message: '`with` is disallowed in strict mode because it makes code impossible to predict and optimize.',
166
- },
167
- ],
168
- 'no-return-assign': [ERROR, 'always'],
169
- 'no-return-await': [ERROR],
170
- 'no-script-url': [ERROR],
171
- 'no-sequences': [ERROR],
172
- 'no-shadow': [OFF],
173
- 'no-shadow-restricted-names': [ERROR],
174
- 'no-ternary': [OFF],
175
- 'no-throw-literal': [ERROR],
176
- 'no-undef-init': [ERROR],
177
- 'no-undefined': [OFF],
178
- 'no-underscore-dangle': [ERROR, {
179
- allow: [],
180
- allowAfterSuper: false,
181
- allowAfterThis: true,
182
- allowFunctionParams: false,
183
- allowInObjectDestructuring: false,
184
- }],
185
- 'no-unneeded-ternary': [ERROR, {
186
- defaultAssignment: false,
187
- }],
188
- 'no-unused-expressions': [ERROR, {
189
- allowShortCircuit: false,
190
- allowTernary: false,
191
- allowTaggedTemplates: false,
192
- }],
193
- 'no-unused-labels': [ERROR],
194
- 'no-useless-call': [WARN],
195
- 'no-useless-catch': [ERROR],
196
- 'no-useless-computed-key': [ERROR, { enforceForClassMembers: true }],
197
- 'no-useless-concat': [ERROR],
198
- 'no-useless-constructor': [ERROR],
199
- 'no-useless-escape': [ERROR],
200
- 'no-useless-rename': [ERROR, {
201
- ignoreImport: false,
202
- ignoreExport: false,
203
- ignoreDestructuring: false,
204
- }],
205
- 'no-useless-return': [ERROR],
206
- 'no-var': [ERROR],
207
- 'no-void': [ERROR, { allowAsStatement: true }],
208
- 'no-warning-comments': [OFF],
209
- 'no-with': [ERROR],
210
- 'object-shorthand': [ERROR, 'always', {
211
- avoidQuotes: true,
212
- ignoreConstructors: false,
213
- }],
214
- 'one-var': [ERROR, 'never'],
215
- 'operator-assignment': [ERROR, 'always'],
216
- 'prefer-arrow-callback': [ERROR, {
217
- allowNamedFunctions: false,
218
- allowUnboundThis: true,
219
- }],
220
- 'prefer-const': [ERROR, {
221
- destructuring: 'any',
222
- ignoreReadBeforeAssign: true,
223
- }],
224
- 'prefer-destructuring': [ERROR, {
225
- array: false,
226
- object: true,
227
- }, {
228
- enforceForRenamedProperties: false,
229
- }],
230
- 'prefer-exponentiation-operator': [ERROR],
231
- 'prefer-named-capture-group': [OFF],
232
- 'prefer-numeric-literals': [ERROR],
233
- 'prefer-object-has-own': [ERROR],
234
- 'prefer-object-spread': [ERROR],
235
- 'prefer-promise-reject-errors': [ERROR],
236
- 'prefer-regex-literals': [ERROR, { disallowRedundantWrapping: true }],
237
- 'prefer-rest-params': [ERROR],
238
- 'prefer-spread': [ERROR],
239
- 'prefer-template': [ERROR],
240
- 'radix': [ERROR],
241
- 'require-await': [OFF],
242
- 'require-unicode-regexp': [WARN],
243
- 'require-yield': [ERROR],
244
- 'sort-imports': [OFF],
245
- 'sort-keys': [OFF],
246
- 'sort-vars': [OFF],
247
- 'strict': [ERROR, 'never'],
248
- 'symbol-description': [ERROR],
249
- 'vars-on-top': [ERROR],
250
- 'yoda': [ERROR],
4
+ 'accessor-pairs': [ERROR],
5
+ 'arrow-body-style': [
6
+ ERROR,
7
+ 'always',
8
+ ],
9
+ 'block-scoped-var': [ERROR],
10
+ 'camelcase': [
11
+ ERROR,
12
+ { properties: 'never' },
13
+ ],
14
+ 'capitalized-comments': [
15
+ OFF,
16
+ 'never',
17
+ ],
18
+ 'class-methods-use-this': [ERROR],
19
+ 'complexity': [OFF],
20
+ 'consistent-return': [OFF],
21
+ 'consistent-this': [OFF],
22
+ 'curly': [
23
+ ERROR,
24
+ 'all',
25
+ ],
26
+ 'default-case': [OFF],
27
+ 'default-case-last': [ERROR],
28
+ 'default-param-last': [ERROR],
29
+ 'dot-notation': [ERROR],
30
+ 'eqeqeq': [
31
+ ERROR,
32
+ 'always',
33
+ { null: 'always' },
34
+ ],
35
+ 'func-name-matching': [WARN],
36
+ 'func-names': [
37
+ WARN,
38
+ 'as-needed',
39
+ ],
40
+ 'func-style': [
41
+ ERROR,
42
+ 'declaration',
43
+ { allowArrowFunctions: true },
44
+ ],
45
+ 'grouped-accessor-pairs': [
46
+ ERROR,
47
+ 'getBeforeSet',
48
+ ],
49
+ 'guard-for-in': [OFF],
50
+ 'id-denylist': [OFF],
51
+ 'id-length': [
52
+ ERROR,
53
+ {
54
+ min: 2,
55
+ exceptionPatterns: [
56
+ 'sort',
57
+ '^a$',
58
+ '^b$',
59
+ 'for',
60
+ '^i$',
61
+ '^j$',
62
+ ],
63
+ properties: 'never',
64
+ },
65
+ ],
66
+ 'id-match': [OFF],
67
+ 'init-declarations': [OFF],
68
+ 'logical-assignment-operators': [
69
+ ERROR,
70
+ 'always',
71
+ { enforceForIfStatements: true },
72
+ ],
73
+ 'max-classes-per-file': [
74
+ ERROR,
75
+ 1,
76
+ ],
77
+ 'max-depth': [
78
+ ERROR,
79
+ 4,
80
+ ],
81
+ // 'max-lines': [WARN, {
82
+ // max: 600,
83
+ // skipBlankLines: true,
84
+ // skipComments: true,
85
+ // }],
86
+ // 'max-lines-per-function': [WARN, {
87
+ // max: 120,
88
+ // skipBlankLines: true,
89
+ // skipComments: true,
90
+ // }],
91
+ 'max-nested-callbacks': [
92
+ WARN,
93
+ { max: 5 },
94
+ ],
95
+ 'max-params': [
96
+ WARN,
97
+ { max: 5 },
98
+ ],
99
+ 'max-statements': [
100
+ WARN,
101
+ { max: 20 },
102
+ ],
103
+ 'multiline-comment-style': [OFF],
104
+ 'new-cap': [
105
+ ERROR,
106
+ {
107
+ capIsNew: true,
108
+ newIsCap: true,
109
+ },
110
+ ],
111
+ 'no-alert': [ERROR],
112
+ 'no-array-constructor': [ERROR],
113
+ 'no-bitwise': [ERROR],
114
+ 'no-caller': [ERROR],
115
+ 'no-case-declarations': [ERROR],
116
+ 'no-console': [
117
+ WARN,
118
+ {
119
+ allow: [
120
+ 'warn',
121
+ 'error',
122
+ 'info',
123
+ ],
124
+ },
125
+ ],
126
+ 'no-continue': [ERROR],
127
+ 'no-delete-var': [ERROR],
128
+ 'no-div-regex': [ERROR],
129
+ 'no-else-return': [
130
+ ERROR,
131
+ { allowElseIf: false },
132
+ ],
133
+ 'no-empty': [
134
+ ERROR,
135
+ { allowEmptyCatch: true },
136
+ ],
137
+ 'no-empty-function': [ERROR],
138
+ 'no-empty-static-block': [ERROR],
139
+ 'no-eq-null': [OFF],
140
+ 'no-eval': [ERROR],
141
+ 'no-extend-native': [ERROR],
142
+ 'no-extra-bind': [ERROR],
143
+ 'no-extra-boolean-cast': [ERROR],
144
+ 'no-extra-label': [ERROR],
145
+ 'no-global-assign': [ERROR],
146
+ 'no-implicit-coercion': [
147
+ ERROR,
148
+ {
149
+ boolean: true,
150
+ number: true,
151
+ string: true,
152
+ },
153
+ ],
154
+ 'no-implicit-globals': [OFF],
155
+ 'no-implied-eval': [ERROR],
156
+ 'no-inline-comments': [OFF],
157
+ 'no-invalid-this': [ERROR],
158
+ 'no-iterator': [ERROR],
159
+ 'no-label-var': [ERROR],
160
+ 'no-labels': [
161
+ ERROR,
162
+ { allowLoop: false, allowSwitch: false },
163
+ ],
164
+ 'no-lone-blocks': [ERROR],
165
+ 'no-lonely-if': [ERROR],
166
+ 'no-loop-func': [ERROR],
167
+ 'no-magic-numbers': [OFF],
168
+ 'no-multi-assign': [ERROR],
169
+ 'no-multi-str': [ERROR],
170
+ 'no-negated-condition': [ERROR],
171
+ 'no-nested-ternary': [ERROR],
172
+ 'no-new': [ERROR],
173
+ 'no-new-func': [ERROR],
174
+ 'no-new-object': [ERROR],
175
+ 'no-new-wrappers': [ERROR],
176
+ 'no-nonoctal-decimal-escape': [ERROR],
177
+ 'no-octal': [ERROR],
178
+ 'no-octal-escape': [ERROR],
179
+ 'no-param-reassign': [
180
+ ERROR,
181
+ {
182
+ props: true,
183
+ },
184
+ ],
185
+ 'no-plusplus': [
186
+ ERROR,
187
+ { allowForLoopAfterthoughts: true },
188
+ ],
189
+ 'no-proto': [ERROR],
190
+ 'no-redeclare': [
191
+ ERROR,
192
+ { builtinGlobals: true },
193
+ ],
194
+ 'no-regex-spaces': [ERROR],
195
+ 'no-restricted-exports': [
196
+ ERROR,
197
+ {
198
+ restrictedNamedExports: [
199
+ 'default', // use `export default` to provide a default export
200
+ 'then', // this will cause tons of confusion when your module is dynamically `import()`ed, and will break in most node ESM versions
201
+ ],
202
+ },
203
+ ],
204
+ 'no-restricted-imports': [
205
+ OFF,
206
+ { paths: [], patterns: [] },
207
+ ],
208
+ 'no-restricted-properties': [
209
+ ERROR,
210
+ {
211
+ object: 'arguments',
212
+ property: 'callee',
213
+ message: 'arguments.callee is deprecated',
214
+ },
215
+ {
216
+ object: 'global',
217
+ property: 'isFinite',
218
+ message: 'Please use Number.isFinite instead',
219
+ },
220
+ {
221
+ object: 'self',
222
+ property: 'isFinite',
223
+ message: 'Please use Number.isFinite instead',
224
+ },
225
+ {
226
+ object: 'window',
227
+ property: 'isFinite',
228
+ message: 'Please use Number.isFinite instead',
229
+ },
230
+ {
231
+ object: 'global',
232
+ property: 'isNaN',
233
+ message: 'Please use Number.isNaN instead',
234
+ },
235
+ {
236
+ object: 'self',
237
+ property: 'isNaN',
238
+ message: 'Please use Number.isNaN instead',
239
+ },
240
+ {
241
+ object: 'window',
242
+ property: 'isNaN',
243
+ message: 'Please use Number.isNaN instead',
244
+ },
245
+ {
246
+ property: '__defineGetter__',
247
+ message: 'Please use Object.defineProperty instead.',
248
+ },
249
+ {
250
+ property: '__defineSetter__',
251
+ message: 'Please use Object.defineProperty instead.',
252
+ },
253
+ {
254
+ object: 'Math',
255
+ property: 'pow',
256
+ message: 'Use the exponentiation operator (**) instead.',
257
+ },
258
+ ],
259
+ 'no-restricted-syntax': [
260
+ ERROR,
261
+ {
262
+ selector: 'ForInStatement',
263
+ message: 'for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.',
264
+ },
265
+ {
266
+ selector: 'LabeledStatement',
267
+ message: 'Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.',
268
+ },
269
+ {
270
+ selector: 'WithStatement',
271
+ message: '`with` is disallowed in strict mode because it makes code impossible to predict and optimize.',
272
+ },
273
+ ],
274
+ 'no-return-assign': [
275
+ ERROR,
276
+ 'always',
277
+ ],
278
+ 'no-return-await': [ERROR],
279
+ 'no-script-url': [ERROR],
280
+ 'no-sequences': [ERROR],
281
+ 'no-shadow': [OFF],
282
+ 'no-shadow-restricted-names': [ERROR],
283
+ 'no-ternary': [OFF],
284
+ 'no-throw-literal': [ERROR],
285
+ 'no-undef-init': [ERROR],
286
+ 'no-undefined': [OFF],
287
+ 'no-underscore-dangle': [
288
+ ERROR,
289
+ {
290
+ allow: [],
291
+ allowAfterSuper: false,
292
+ allowAfterThis: true,
293
+ allowFunctionParams: false,
294
+ allowInObjectDestructuring: false,
295
+ },
296
+ ],
297
+ 'no-unneeded-ternary': [
298
+ ERROR,
299
+ {
300
+ defaultAssignment: false,
301
+ },
302
+ ],
303
+ 'no-unused-expressions': [
304
+ ERROR,
305
+ {
306
+ allowShortCircuit: false,
307
+ allowTernary: false,
308
+ allowTaggedTemplates: false,
309
+ },
310
+ ],
311
+ 'no-unused-labels': [ERROR],
312
+ 'no-useless-call': [WARN],
313
+ 'no-useless-catch': [ERROR],
314
+ 'no-useless-computed-key': [
315
+ ERROR,
316
+ { enforceForClassMembers: true },
317
+ ],
318
+ 'no-useless-concat': [ERROR],
319
+ 'no-useless-constructor': [ERROR],
320
+ 'no-useless-escape': [ERROR],
321
+ 'no-useless-rename': [
322
+ ERROR,
323
+ {
324
+ ignoreImport: false,
325
+ ignoreExport: false,
326
+ ignoreDestructuring: false,
327
+ },
328
+ ],
329
+ 'no-useless-return': [ERROR],
330
+ 'no-var': [ERROR],
331
+ 'no-void': [
332
+ ERROR,
333
+ { allowAsStatement: true },
334
+ ],
335
+ 'no-warning-comments': [OFF],
336
+ 'no-with': [ERROR],
337
+ 'object-shorthand': [
338
+ ERROR,
339
+ 'always',
340
+ {
341
+ avoidQuotes: true,
342
+ ignoreConstructors: false,
343
+ },
344
+ ],
345
+ 'one-var': [
346
+ ERROR,
347
+ 'never',
348
+ ],
349
+ 'operator-assignment': [
350
+ ERROR,
351
+ 'always',
352
+ ],
353
+ 'prefer-arrow-callback': [
354
+ ERROR,
355
+ {
356
+ allowNamedFunctions: false,
357
+ allowUnboundThis: true,
358
+ },
359
+ ],
360
+ 'prefer-const': [
361
+ ERROR,
362
+ {
363
+ destructuring: 'any',
364
+ ignoreReadBeforeAssign: true,
365
+ },
366
+ ],
367
+ 'prefer-destructuring': [
368
+ ERROR,
369
+ {
370
+ array: false,
371
+ object: true,
372
+ },
373
+ {
374
+ enforceForRenamedProperties: false,
375
+ },
376
+ ],
377
+ 'prefer-exponentiation-operator': [ERROR],
378
+ 'prefer-named-capture-group': [OFF],
379
+ 'prefer-numeric-literals': [ERROR],
380
+ 'prefer-object-has-own': [ERROR],
381
+ 'prefer-object-spread': [ERROR],
382
+ 'prefer-promise-reject-errors': [ERROR],
383
+ 'prefer-regex-literals': [
384
+ ERROR,
385
+ { disallowRedundantWrapping: true },
386
+ ],
387
+ 'prefer-rest-params': [ERROR],
388
+ 'prefer-spread': [ERROR],
389
+ 'prefer-template': [ERROR],
390
+ 'radix': [ERROR],
391
+ 'require-await': [OFF],
392
+ 'require-unicode-regexp': [WARN],
393
+ 'require-yield': [ERROR],
394
+ 'sort-imports': [OFF],
395
+ 'sort-keys': [OFF],
396
+ 'sort-vars': [OFF],
397
+ 'strict': [
398
+ ERROR,
399
+ 'never',
400
+ ],
401
+ 'symbol-description': [ERROR],
402
+ 'vars-on-top': [ERROR],
403
+ 'yoda': [ERROR],
251
404
 
252
- 'line-comment-position': [OFF],
253
- 'unicode-bom': [ERROR, 'never'],
405
+ 'line-comment-position': [OFF],
406
+ 'unicode-bom': [
407
+ ERROR,
408
+ 'never',
409
+ ],
254
410
  };