@ololoepepe/eslint-config 0.0.7 → 0.0.9

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.
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@ololoepepe/eslint-config",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "description": "ESLint config",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
7
- "lint": "eslint ./src"
7
+ "lint": "eslint ./src",
8
+ "test": "mocha ./test/*"
8
9
  },
9
10
  "publishConfig": {
10
11
  "registry": "https://registry.npmjs.com"
@@ -24,14 +25,14 @@
24
25
  "url": "https://gitlab.void-walkers.com/libs/eslint-config/issues"
25
26
  },
26
27
  "homepage": "https://gitlab.void-walkers.com/libs/eslint-config#README",
27
- "devDependencies": {
28
- "eslint-config-xo": "^0.43.1"
29
- },
30
28
  "dependencies": {
31
29
  "@babel/core": "7.21.4",
32
30
  "@babel/eslint-parser": "^7.21.3",
33
31
  "eslint": ">= 8.37.0",
34
32
  "eslint-plugin-import": "^2.27.5",
35
33
  "eslint-plugin-sort-keys-shorthand": "^2.2.0"
34
+ },
35
+ "devDependencies": {
36
+ "mocha": "^10.2.0"
36
37
  }
37
38
  }
package/src/index.js CHANGED
@@ -1,3 +1,7 @@
1
+ const {rules: pluginImportRules} = require('./plugins/import');
2
+ const {rules: pluginSortKeysShorthandRules} = require('./plugins/sort-keys-shorthand');
3
+ const rulesNo = require('./rules/no');
4
+
1
5
  module.exports = {
2
6
  env: {
3
7
  es2021: true,
@@ -19,18 +23,18 @@ module.exports = {
19
23
  getWithoutSet: false,
20
24
  setWithoutGet: true
21
25
  }],
22
- 'array-callback-return': ['error', {
23
- allowImplicit: false,
24
- checkForEach: false
25
- }],
26
- 'arrow-body-style': ['error', 'as-needed'],
27
26
  'array-bracket-newline': ['error', 'consistent'],
28
27
  'array-bracket-spacing': ['error', 'never', {
29
28
  arraysInArrays: false,
30
29
  objectsInArrays: false,
31
30
  singleValue: false
32
31
  }],
32
+ 'array-callback-return': ['error', {
33
+ allowImplicit: false,
34
+ checkForEach: false
35
+ }],
33
36
  'array-element-newline': ['error', 'consistent'],
37
+ 'arrow-body-style': ['error', 'as-needed'],
34
38
  'arrow-parens': ['error', 'as-needed', {
35
39
  requireForBlockBody: false
36
40
  }],
@@ -164,264 +168,18 @@ module.exports = {
164
168
  'newline-per-chained-call': ['error', {
165
169
  ignoreChainWithDepth: 3
166
170
  }],
167
- 'no-alert': 'error',
168
- 'no-array-constructor': 'error',
169
- 'no-async-promise-executor': 'error',
170
- 'no-await-in-loop': 'off',
171
- 'no-bitwise': ['warn', {
172
- allow: [],
173
- int32Hint: false
174
- }],
175
- 'no-caller': 'error',
176
- 'no-case-declarations': 'error',
177
- 'no-class-assign': 'error',
178
- 'no-compare-neg-zero': 'error',
179
- 'no-cond-assign': ['error', 'always'],
180
- 'no-confusing-arrow': ['error', {
181
- allowParens: true,
182
- onlyOneSimpleParam: false
183
- }],
184
- 'no-console': 'off',
185
- 'no-const-assign': 'error',
186
- 'no-constant-binary-expression': 'error',
187
- 'no-constant-condition': ['error', {
188
- checkLoops: false
189
- }],
190
- 'no-constructor-return': 'error',
191
- 'no-continue': 'off',
192
- 'no-control-regex': 'error',
193
- 'no-debugger': 'error',
194
- 'no-delete-var': 'error',
195
- 'no-div-regex': 'off',
196
- 'no-dupe-args': 'error',
197
- 'no-dupe-class-members': 'error',
198
- 'no-dupe-else-if': 'error',
199
- 'no-dupe-keys': 'error',
200
- 'no-duplicate-case': 'error',
201
- 'no-duplicate-imports': ['error', {
202
- includeExports: true
203
- }],
204
- 'no-else-return': ['error', {
205
- allowElseIf: true
206
- }],
207
- 'no-empty': ['error', {
208
- allowEmptyCatch: false
209
- }],
210
- 'no-empty-character-class': 'error',
211
- 'no-empty-function': ['error', {
212
- allow: []
213
- }],
214
- 'no-empty-pattern': 'error',
215
- 'no-empty-static-block': 'error',
216
- 'no-eq-null': 'error',
217
- 'no-eval': ['error', {
218
- allowIndirect: false
219
- }],
220
- 'no-ex-assign': 'error',
221
- 'no-extend-native': ['error', {
222
- exceptions: []
223
- }],
224
- 'no-extra-bind': 'error',
225
- 'no-extra-boolean-cast': ['error', {
226
- enforceForLogicalOperands: true
227
- }],
228
- 'no-extra-label': 'error',
229
- 'no-extra-parens': 'off', // TODO: Reconsider
230
- 'no-extra-semi': 'error',
231
- 'no-fallthrough': ['error', {
232
- allowEmptyCase: false,
233
- commentPattern: 'break[\\s\\w]*omitted'
234
- }],
235
- 'no-floating-decimal': 'error',
236
- 'no-func-assign': 'error',
237
- 'no-global-assign': ['error', {
238
- exceptions: []
239
- }],
240
- 'no-implicit-coercion': ['error', {
241
- allow: [],
242
- boolean: true,
243
- disallowTemplateShorthand: true,
244
- number: true,
245
- string: true
246
- }],
247
- 'no-implicit-globals': ['error', {
248
- lexicalBindings: false
249
- }],
250
- 'no-implied-eval': 'error',
251
- 'no-import-assign': 'error',
252
- 'no-inline-comments': 'off',
253
- 'no-inner-declarations': ['error', 'both'],
254
- 'no-invalid-regexp': ['error'],
255
- 'no-invalid-this': ['error', {
256
- capIsConstructor: true
257
- }],
258
- 'no-irregular-whitespace': ['error', {
259
- skipComments: true,
260
- skipRegExps: true,
261
- skipStrings: true,
262
- skipTemplates: true
263
- }],
264
- 'no-iterator': 'error',
265
- 'no-label-var': 'error',
266
- 'no-labels': 'off',
267
- 'no-lone-blocks': 'off',
268
- 'no-lonely-if': 'error',
269
- 'no-loop-func': 'error',
270
- 'no-loss-of-precision': 'error',
271
- 'no-magic-numbers': 'off',
272
- 'no-misleading-character-class': 'error',
273
- 'no-mixed-operators': ['error', {
274
- allowSamePrecedence: true
275
- }],
276
- 'no-mixed-spaces-and-tabs': 'error',
277
- 'no-multi-assign': ['error', {
278
- ignoreNonDeclaration: false
279
- }],
280
- 'no-multi-spaces': ['error', {
281
- exceptions: {
282
- Property: false
283
- }
284
- }],
285
- 'no-multi-str': 'error',
286
- 'no-multiple-empty-lines': ['error', {
287
- max: 1,
288
- maxBOF: 0,
289
- maxEOF: 1
290
- }],
291
- 'no-negated-condition': 'error',
292
- 'no-nested-ternary': 'off',
293
- 'no-new': 'error',
294
- 'no-new-func': 'error',
295
- 'no-new-native-nonconstructor': 'error',
296
- 'no-new-object': 'error',
297
- 'no-new-symbol': 'error',
298
- 'no-new-wrappers': 'error',
299
- 'no-nonoctal-decimal-escape': 'error',
300
- 'no-obj-calls': 'error',
301
- 'no-octal': 'error',
302
- 'no-octal-escape': 'error',
303
- 'no-param-reassign': 'off',
304
- 'no-plusplus': 'off',
305
- 'no-promise-executor-return': 'error',
306
- 'no-proto': 'error',
307
- 'no-prototype-builtins': 'error',
308
- 'no-redeclare': ['error', {
309
- builtinGlobals: true
310
- }],
311
- 'no-regex-spaces': 'error',
312
- 'no-restricted-exports': 'off',
313
- 'no-restricted-globals': 'off',
314
- 'no-restricted-imports': 'off',
315
- 'no-restricted-properties': 'off',
316
- 'no-restricted-syntax': 'off',
317
- 'no-return-assign': ['error', 'always'],
318
- 'no-return-await': 'off',
319
- 'no-script-url': 'error',
320
- 'no-sequences': ['error', {
321
- allowInParentheses: false
322
- }],
323
- 'no-self-assign': ['error', {
324
- props: true
325
- }],
326
- 'no-self-compare': 'error',
327
- 'no-setter-return': 'error',
328
- 'no-shadow': ['error', {
329
- allow: ['hasOwnProperty', 'length'],
330
- builtinGlobals: true,
331
- hoist: 'functions',
332
- ignoreOnInitialization: false
333
- }],
334
- 'no-shadow-restricted-names': 'error',
335
- 'no-sparse-arrays': 'error',
336
- 'no-tabs': ['error', {
337
- allowIndentationTabs: false
338
- }],
339
- 'no-template-curly-in-string': 'warn',
340
- 'no-ternary': 'off',
341
- 'no-throw-literal': 'error',
342
- 'no-this-before-super': 'error',
343
- 'no-trailing-spaces': ['error', {
344
- ignoreComments: false,
345
- skipBlankLines: false
346
- }],
347
- 'no-undef': ['error', {
348
- typeof: true
349
- }],
350
- 'no-undef-init': 'error',
351
- 'no-undefined': 'off',
352
- 'no-underscore-dangle': 'off',
353
- 'no-unexpected-multiline': 'error',
354
- 'no-unmodified-loop-condition': 'warn',
355
- 'no-unneeded-ternary': ['error', {
356
- defaultAssignment: false
357
- }],
358
- 'no-unreachable': 'error',
359
- 'no-unreachable-loop': ['error', {
360
- ignore: []
361
- }],
362
- 'no-unsafe-finally': 'error',
363
- 'no-unsafe-negation': ['error', {
364
- enforceForOrderingRelations: true
365
- }],
366
- 'no-unsafe-optional-chaining': ['error', {
367
- disallowArithmeticOperators: true
368
- }],
369
- 'no-unused-expressions': ['error', {
370
- allowShortCircuit: false,
371
- allowTaggedTemplates: false,
372
- allowTernary: false,
373
- enforceForJSX: true
374
- }],
375
- 'no-unused-labels': 'error',
376
- 'no-unused-private-class-members': 'error',
377
- 'no-unused-vars': ['warn', {
378
- args: 'after-used',
379
- caughtErrors: 'all',
380
- ignoreRestSiblings: true,
381
- vars: 'all'
382
- }],
383
- 'no-use-before-define': ['error', {
384
- classes: true,
385
- functions: false,
386
- variables: true
387
- }],
388
- 'no-useless-backreference': 'error',
389
- 'no-useless-call': 'error',
390
- 'no-useless-catch': 'error',
391
- 'no-useless-computed-key': ['error', {
392
- enforceForClassMembers: true
393
- }],
394
- 'no-useless-concat': 'error',
395
- 'no-useless-constructor': 'error',
396
- 'no-useless-escape': 'error',
397
- 'no-useless-rename': ['error', {
398
- ignoreDestructuring: false,
399
- ignoreExport: false,
400
- ignoreImport: false
401
- }],
402
- 'no-useless-return': 'error',
403
- 'no-var': 'error',
404
- 'no-void': ['error', {
405
- allowAsStatement: false
406
- }],
407
- 'no-warning-comments': ['warn', {
408
- location: 'start',
409
- terms: ['fix', 'fixme', 'todo']
410
- }],
411
- 'no-whitespace-before-property': 'error',
412
- 'no-with': 'error',
413
171
  'nonblock-statement-body-position': 'off',
414
172
  'object-curly-newline': 'off',
415
173
  'object-curly-spacing': ['error', 'never', {
416
174
  arraysInObjects: false,
417
175
  objectsInObjects: false
418
176
  }],
177
+ 'object-property-newline': 'off', // Reconsider
419
178
  'object-shorthand': ['error', 'always', {
420
179
  avoidExplicitReturnArrows: false,
421
180
  avoidQuotes: true,
422
181
  ignoreConstructors: false
423
182
  }],
424
- 'object-property-newline': 'off', // Reconsider
425
183
  'one-var': ['error', 'never'],
426
184
  'one-var-declaration-per-line': 'off',
427
185
  'operator-assignment': ['error', 'always'],
@@ -538,88 +296,8 @@ module.exports = {
538
296
  'wrap-regex': 'off',
539
297
  'yield-star-spacing': ['error', 'both'],
540
298
  yoda: ['error', 'never'],
541
- // Plugin: import
542
- 'import/consistent-type-specifier-style': 'off', // TODO: Reconsider if use TS/Flow
543
- 'import/default': 'error',
544
- 'import/dynamic-import-chunkname': ['error'],
545
- 'import/export': 'error',
546
- 'import/exports-last': 'off',
547
- 'import/extensions': 'off',
548
- 'import/first': ['error', 'absolute-first'],
549
- 'import/group-exports': 'off',
550
- 'import/max-dependencies': 'off',
551
- 'import/named': 'error',
552
- 'import/namespace': ['error', {
553
- allowComputed: false
554
- }],
555
- 'import/newline-after-import': ['error', {
556
- considerComments: false,
557
- count: 1
558
- }],
559
- 'import/no-absolute-path': ['error', {
560
- amd: true,
561
- commonjs: true,
562
- esmodule: true
563
- }],
564
- 'import/no-amd': 'off',
565
- 'import/no-anonymous-default-export': 'off',
566
- 'import/no-commonjs': 'off',
567
- 'import/no-cycle': ['error', {
568
- amd: true,
569
- commonjs: true,
570
- esmodule: true, // TODO
571
- ignoreExternal: true
572
- }],
573
- 'import/no-default-export': 'off',
574
- 'import/no-deprecated': 'warn',
575
- 'import/no-duplicates': ['error', {
576
- considerQueryString: true
577
- }],
578
- 'import/no-dynamic-require': 'off', // TODO
579
- 'import/no-empty-named-blocks': 'error',
580
- 'import/no-extraneous-dependencies': 'error',
581
- 'import/no-import-module-exports': 'off',
582
- 'import/no-internal-modules': 'off',
583
- 'import/no-mutable-exports': 'error',
584
- 'import/no-named-as-default': 'warn',
585
- 'import/no-named-as-default-member': 'error',
586
- 'import/no-named-default': 'off',
587
- 'import/no-named-export': 'off',
588
- 'import/no-namespace': 'off',
589
- 'import/no-nodejs-modules': 'off',
590
- 'import/no-relative-packages': 'off',
591
- 'import/no-relative-parent-imports': 'warn',
592
- 'import/no-restricted-paths': 'off',
593
- 'import/no-self-import': 'error',
594
- 'import/no-unassigned-import': 'off',
595
- 'import/no-unresolved': ['error', {
596
- ignore: ['^#']
597
- }],
598
- 'import/no-unused-modules': 'off', // TODO: Reconsider
599
- 'import/no-useless-path-segments': ['error', {
600
- commonjs: true,
601
- noUselessIndex: false
602
- }],
603
- 'import/no-webpack-loader-syntax': 'error',
604
- // TODO: Improve
605
- // See: https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/order.md
606
- 'import/order': ['error', {
607
- groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object', 'unknown'],
608
- 'newlines-between': 'always-and-inside-groups',
609
- alphabetize: {
610
- caseInsensitive: true,
611
- order: 'asc'
612
- }
613
- }],
614
- 'import/prefer-default-export': 'off',
615
- 'import/unambiguous': 'off', // TODO: Reconsider
616
- // Plugin: sort-keys-shorthand
617
- 'sort-keys-shorthand/sort-keys-shorthand': ['error', 'asc', {
618
- allowLineSeparatedGroups: false,
619
- caseSensitive: false,
620
- minKeys: 2,
621
- natural: true,
622
- shorthand: 'first'
623
- }]
299
+ ...rulesNo,
300
+ ...pluginImportRules,
301
+ ...pluginSortKeysShorthandRules
624
302
  }
625
303
  };
@@ -0,0 +1,79 @@
1
+ module.exports = {
2
+ rules: {
3
+ 'import/consistent-type-specifier-style': 'off', // TODO: Reconsider if use TS/Flow
4
+ 'import/default': 'error',
5
+ 'import/dynamic-import-chunkname': ['error'],
6
+ 'import/export': 'error',
7
+ 'import/exports-last': 'off',
8
+ 'import/extensions': 'off',
9
+ 'import/first': ['error', 'absolute-first'],
10
+ 'import/group-exports': 'off',
11
+ 'import/max-dependencies': 'off',
12
+ 'import/named': 'error',
13
+ 'import/namespace': ['error', {
14
+ allowComputed: false
15
+ }],
16
+ 'import/newline-after-import': ['error', {
17
+ considerComments: false,
18
+ count: 1
19
+ }],
20
+ 'import/no-absolute-path': ['error', {
21
+ amd: true,
22
+ commonjs: true,
23
+ esmodule: true
24
+ }],
25
+ 'import/no-amd': 'off',
26
+ 'import/no-anonymous-default-export': 'off',
27
+ 'import/no-commonjs': 'off',
28
+ 'import/no-cycle': ['error', {
29
+ amd: true,
30
+ commonjs: true,
31
+ esmodule: true, // TODO
32
+ ignoreExternal: true
33
+ }],
34
+ 'import/no-default-export': 'off',
35
+ 'import/no-deprecated': 'warn',
36
+ 'import/no-duplicates': ['error', {
37
+ considerQueryString: true
38
+ }],
39
+ 'import/no-dynamic-require': 'off', // TODO
40
+ 'import/no-empty-named-blocks': 'error',
41
+ 'import/no-extraneous-dependencies': 'error',
42
+ 'import/no-import-module-exports': 'off',
43
+ 'import/no-internal-modules': 'off',
44
+ 'import/no-mutable-exports': 'error',
45
+ 'import/no-named-as-default': 'warn',
46
+ 'import/no-named-as-default-member': 'error',
47
+ 'import/no-named-default': 'off',
48
+ 'import/no-named-export': 'off',
49
+ 'import/no-namespace': 'off',
50
+ 'import/no-nodejs-modules': 'off',
51
+ 'import/no-relative-packages': 'off',
52
+ 'import/no-relative-parent-imports': 'warn',
53
+ 'import/no-restricted-paths': 'off',
54
+ 'import/no-self-import': 'error',
55
+ 'import/no-unassigned-import': 'off',
56
+ 'import/no-unresolved': ['error', {
57
+ ignore: ['^#']
58
+ }],
59
+ 'import/no-unused-modules': 'off', // TODO: Reconsider
60
+ 'import/no-useless-path-segments': ['error', {
61
+ commonjs: true,
62
+ noUselessIndex: false
63
+ }],
64
+ 'import/no-webpack-loader-syntax': 'error',
65
+ 'import/order': ['error', {
66
+ alphabetize: {
67
+ caseInsensitive: true,
68
+ order: 'asc',
69
+ orderImportKind: 'ignore'
70
+ },
71
+ distinctGroup: true,
72
+ groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object', 'unknown', 'type'],
73
+ 'newlines-between': 'always-and-inside-groups',
74
+ warnOnUnassignedImports: false
75
+ }],
76
+ 'import/prefer-default-export': 'off',
77
+ 'import/unambiguous': 'off' // TODO: Reconsider
78
+ }
79
+ };
@@ -0,0 +1,10 @@
1
+ module.exports = {
2
+ rules: {
3
+ 'sort-keys-shorthand/sort-keys-shorthand': ['error', 'asc', {
4
+ caseSensitive: false,
5
+ minKeys: 2,
6
+ natural: true,
7
+ shorthand: 'first'
8
+ }]
9
+ }
10
+ };
@@ -0,0 +1,248 @@
1
+ module.exports = {
2
+ 'no-alert': 'error',
3
+ 'no-array-constructor': 'error',
4
+ 'no-async-promise-executor': 'error',
5
+ 'no-await-in-loop': 'off',
6
+ 'no-bitwise': ['warn', {
7
+ allow: [],
8
+ int32Hint: false
9
+ }],
10
+ 'no-caller': 'error',
11
+ 'no-case-declarations': 'error',
12
+ 'no-class-assign': 'error',
13
+ 'no-compare-neg-zero': 'error',
14
+ 'no-cond-assign': ['error', 'always'],
15
+ 'no-confusing-arrow': ['error', {
16
+ allowParens: true,
17
+ onlyOneSimpleParam: false
18
+ }],
19
+ 'no-console': 'off',
20
+ 'no-const-assign': 'error',
21
+ 'no-constant-binary-expression': 'error',
22
+ 'no-constant-condition': ['error', {
23
+ checkLoops: false
24
+ }],
25
+ 'no-constructor-return': 'error',
26
+ 'no-continue': 'off',
27
+ 'no-control-regex': 'error',
28
+ 'no-debugger': 'error',
29
+ 'no-delete-var': 'error',
30
+ 'no-div-regex': 'off',
31
+ 'no-dupe-args': 'error',
32
+ 'no-dupe-class-members': 'error',
33
+ 'no-dupe-else-if': 'error',
34
+ 'no-dupe-keys': 'error',
35
+ 'no-duplicate-case': 'error',
36
+ 'no-duplicate-imports': ['error', {
37
+ includeExports: true
38
+ }],
39
+ 'no-else-return': ['error', {
40
+ allowElseIf: true
41
+ }],
42
+ 'no-empty': ['error', {
43
+ allowEmptyCatch: false
44
+ }],
45
+ 'no-empty-character-class': 'error',
46
+ 'no-empty-function': ['error', {
47
+ allow: []
48
+ }],
49
+ 'no-empty-pattern': 'error',
50
+ 'no-empty-static-block': 'error',
51
+ 'no-eq-null': 'error',
52
+ 'no-eval': ['error', {
53
+ allowIndirect: false
54
+ }],
55
+ 'no-ex-assign': 'error',
56
+ 'no-extend-native': ['error', {
57
+ exceptions: []
58
+ }],
59
+ 'no-extra-bind': 'error',
60
+ 'no-extra-boolean-cast': ['error', {
61
+ enforceForLogicalOperands: true
62
+ }],
63
+ 'no-extra-label': 'error',
64
+ 'no-extra-parens': 'off', // TODO: Reconsider
65
+ 'no-extra-semi': 'error',
66
+ 'no-fallthrough': ['error', {
67
+ allowEmptyCase: false,
68
+ commentPattern: 'break[\\s\\w]*omitted'
69
+ }],
70
+ 'no-floating-decimal': 'error',
71
+ 'no-func-assign': 'error',
72
+ 'no-global-assign': ['error', {
73
+ exceptions: []
74
+ }],
75
+ 'no-implicit-coercion': ['error', {
76
+ allow: [],
77
+ boolean: true,
78
+ disallowTemplateShorthand: true,
79
+ number: true,
80
+ string: true
81
+ }],
82
+ 'no-implicit-globals': ['error', {
83
+ lexicalBindings: false
84
+ }],
85
+ 'no-implied-eval': 'error',
86
+ 'no-import-assign': 'error',
87
+ 'no-inline-comments': 'off',
88
+ 'no-inner-declarations': ['error', 'both'],
89
+ 'no-invalid-regexp': ['error'],
90
+ 'no-invalid-this': ['error', {
91
+ capIsConstructor: true
92
+ }],
93
+ 'no-irregular-whitespace': ['error', {
94
+ skipComments: true,
95
+ skipRegExps: true,
96
+ skipStrings: true,
97
+ skipTemplates: true
98
+ }],
99
+ 'no-iterator': 'error',
100
+ 'no-label-var': 'error',
101
+ 'no-labels': 'off',
102
+ 'no-lone-blocks': 'off',
103
+ 'no-lonely-if': 'error',
104
+ 'no-loop-func': 'error',
105
+ 'no-loss-of-precision': 'error',
106
+ 'no-magic-numbers': 'off',
107
+ 'no-misleading-character-class': 'error',
108
+ 'no-mixed-operators': ['error', {
109
+ allowSamePrecedence: true
110
+ }],
111
+ 'no-mixed-spaces-and-tabs': 'error',
112
+ 'no-multi-assign': ['error', {
113
+ ignoreNonDeclaration: false
114
+ }],
115
+ 'no-multi-spaces': ['error', {
116
+ exceptions: {
117
+ Property: false
118
+ }
119
+ }],
120
+ 'no-multi-str': 'error',
121
+ 'no-multiple-empty-lines': ['error', {
122
+ max: 1,
123
+ maxBOF: 0,
124
+ maxEOF: 1
125
+ }],
126
+ 'no-negated-condition': 'error',
127
+ 'no-nested-ternary': 'off',
128
+ 'no-new': 'error',
129
+ 'no-new-func': 'error',
130
+ 'no-new-native-nonconstructor': 'error',
131
+ 'no-new-object': 'error',
132
+ 'no-new-symbol': 'error',
133
+ 'no-new-wrappers': 'error',
134
+ 'no-nonoctal-decimal-escape': 'error',
135
+ 'no-obj-calls': 'error',
136
+ 'no-octal': 'error',
137
+ 'no-octal-escape': 'error',
138
+ 'no-param-reassign': 'off',
139
+ 'no-plusplus': 'off',
140
+ 'no-promise-executor-return': 'error',
141
+ 'no-proto': 'error',
142
+ 'no-prototype-builtins': 'error',
143
+ 'no-redeclare': ['error', {
144
+ builtinGlobals: true
145
+ }],
146
+ 'no-regex-spaces': 'error',
147
+ 'no-restricted-exports': 'off',
148
+ 'no-restricted-globals': 'off',
149
+ 'no-restricted-imports': 'off',
150
+ 'no-restricted-properties': 'off',
151
+ 'no-restricted-syntax': 'off',
152
+ 'no-return-assign': ['error', 'always'],
153
+ 'no-return-await': 'off',
154
+ 'no-script-url': 'error',
155
+ 'no-self-assign': ['error', {
156
+ props: true
157
+ }],
158
+ 'no-self-compare': 'error',
159
+ 'no-sequences': ['error', {
160
+ allowInParentheses: false
161
+ }],
162
+ 'no-setter-return': 'error',
163
+ 'no-shadow': ['error', {
164
+ allow: ['hasOwnProperty', 'length'],
165
+ builtinGlobals: true,
166
+ hoist: 'functions',
167
+ ignoreOnInitialization: false
168
+ }],
169
+ 'no-shadow-restricted-names': 'error',
170
+ 'no-sparse-arrays': 'error',
171
+ 'no-tabs': ['error', {
172
+ allowIndentationTabs: false
173
+ }],
174
+ 'no-template-curly-in-string': 'warn',
175
+ 'no-ternary': 'off',
176
+ 'no-this-before-super': 'error',
177
+ 'no-throw-literal': 'error',
178
+ 'no-trailing-spaces': ['error', {
179
+ ignoreComments: false,
180
+ skipBlankLines: false
181
+ }],
182
+ 'no-undef': ['error', {
183
+ typeof: true
184
+ }],
185
+ 'no-undef-init': 'error',
186
+ 'no-undefined': 'off',
187
+ 'no-underscore-dangle': 'off',
188
+ 'no-unexpected-multiline': 'error',
189
+ 'no-unmodified-loop-condition': 'warn',
190
+ 'no-unneeded-ternary': ['error', {
191
+ defaultAssignment: false
192
+ }],
193
+ 'no-unreachable': 'error',
194
+ 'no-unreachable-loop': ['error', {
195
+ ignore: []
196
+ }],
197
+ 'no-unsafe-finally': 'error',
198
+ 'no-unsafe-negation': ['error', {
199
+ enforceForOrderingRelations: true
200
+ }],
201
+ 'no-unsafe-optional-chaining': ['error', {
202
+ disallowArithmeticOperators: true
203
+ }],
204
+ 'no-unused-expressions': ['error', {
205
+ allowShortCircuit: false,
206
+ allowTaggedTemplates: false,
207
+ allowTernary: false,
208
+ enforceForJSX: true
209
+ }],
210
+ 'no-unused-labels': 'error',
211
+ 'no-unused-private-class-members': 'error',
212
+ 'no-unused-vars': ['warn', {
213
+ args: 'after-used',
214
+ caughtErrors: 'all',
215
+ ignoreRestSiblings: true,
216
+ vars: 'all'
217
+ }],
218
+ 'no-use-before-define': ['error', {
219
+ classes: true,
220
+ functions: false,
221
+ variables: true
222
+ }],
223
+ 'no-useless-backreference': 'error',
224
+ 'no-useless-call': 'error',
225
+ 'no-useless-catch': 'error',
226
+ 'no-useless-computed-key': ['error', {
227
+ enforceForClassMembers: true
228
+ }],
229
+ 'no-useless-concat': 'error',
230
+ 'no-useless-constructor': 'error',
231
+ 'no-useless-escape': 'error',
232
+ 'no-useless-rename': ['error', {
233
+ ignoreDestructuring: false,
234
+ ignoreExport: false,
235
+ ignoreImport: false
236
+ }],
237
+ 'no-useless-return': 'error',
238
+ 'no-var': 'error',
239
+ 'no-void': ['error', {
240
+ allowAsStatement: false
241
+ }],
242
+ 'no-warning-comments': ['warn', {
243
+ location: 'start',
244
+ terms: ['fix', 'fixme', 'todo']
245
+ }],
246
+ 'no-whitespace-before-property': 'error',
247
+ 'no-with': 'error'
248
+ };