@hughescr/eslint-config-default 2.8.8 → 3.0.1

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.
@@ -0,0 +1,13 @@
1
+ {
2
+ "cSpell.words": [
3
+ "backreference",
4
+ "hughescr",
5
+ "linebreak",
6
+ "lookarounds",
7
+ "nofunc",
8
+ "nonwords",
9
+ "nums",
10
+ "sonarjs",
11
+ "typecheck"
12
+ ]
13
+ }
package/README.md CHANGED
@@ -4,42 +4,24 @@ Overview
4
4
  This is a default configuration set-up for how I like my ESLint to be set up.
5
5
 
6
6
  ```
7
- npm install eslint-config-default eslint eslint-plugin-promise
7
+ yarn add -D @hughescr/eslint-config-default eslint
8
8
  ```
9
9
 
10
- Then put this in .eslintrc:
10
+ Then put this in `eslint.config.mjs`:
11
11
 
12
12
  ```
13
- 'use strict';
13
+ import defaultConfig from '@hughescr/eslint-config-default';
14
14
 
15
- module.exports = {
16
- 'extends': '@hughescr/eslint-config-default',
17
- };
15
+ export default [
16
+ defaultConfig.configs.recommended,
17
+ ];
18
18
  ```
19
19
 
20
20
  Developer
21
21
  ---------
22
22
 
23
- If you want to know which new rules might exist out there which aren't specified:
23
+ If you want to browse the config, find un-configured rules, etc:
24
24
 
25
25
  ```
26
- yarn omitted-rules
27
- ```
28
-
29
- These rules are turned off:
30
-
31
- ```
32
- yarn disabled-rules
33
- ```
34
-
35
- Errors:
36
-
37
- ```
38
- yarn error-rules
39
- ```
40
-
41
- and warnings:
42
-
43
- ```
44
- yarn warn-rules
26
+ yarn rules-checkup
45
27
  ```
@@ -0,0 +1,5 @@
1
+ import defaultConfig from './index.mjs';
2
+
3
+ export default [
4
+ defaultConfig.configs.recommended,
5
+ ];
package/index.mjs ADDED
@@ -0,0 +1,197 @@
1
+ import js from '@eslint/js';
2
+ import n from 'eslint-plugin-n';
3
+ import lodash from 'eslint-plugin-lodash';
4
+ import promise from 'eslint-plugin-promise';
5
+ import comments from 'eslint-plugin-eslint-comments';
6
+ import regexp from 'eslint-plugin-regexp';
7
+ import stylistic from '@stylistic/eslint-plugin';
8
+ import globals from 'globals';
9
+
10
+ const recommendedRules = {
11
+ 'eslint-comments/disable-enable-pair': ['warn', { allowWholeFile: true }],
12
+ 'eslint-comments/no-aggregating-enable': 'off',
13
+ 'eslint-comments/no-duplicate-disable': 'warn',
14
+ 'eslint-comments/no-restricted-disable': 'off',
15
+ 'eslint-comments/no-unlimited-disable': 'warn',
16
+ 'eslint-comments/no-unused-disable': 'warn',
17
+ 'eslint-comments/no-unused-enable': 'warn',
18
+ 'eslint-comments/no-use': ['warn', { allow: ['eslint-disable', 'eslint-enable', 'eslint-disable-line', 'eslint-disable-next-line'] }],
19
+ 'eslint-comments/require-description': 'warn',
20
+
21
+ 'lodash/callback-binding': 'warn',
22
+ 'lodash/chain-style': ['warn', 'as-needed'],
23
+ 'lodash/chaining': ['warn', 'always', 2],
24
+ 'lodash/collection-method-value': 'warn',
25
+ 'lodash/collection-ordering': 'warn',
26
+ 'lodash/collection-return': 'warn',
27
+ 'lodash/consistent-compose': ['warn', 'flow'],
28
+ 'lodash/identity-shorthand': ['warn', 'always'],
29
+ 'lodash/import-scope': 'off',
30
+ 'lodash/matches-prop-shorthand': 'warn',
31
+ 'lodash/matches-shorthand': ['warn', 'always', 3],
32
+ 'lodash/no-commit': 'warn',
33
+ 'lodash/no-double-unwrap': 'warn',
34
+ 'lodash/no-extra-args': 'warn',
35
+ 'lodash/no-unbound-this': 'warn',
36
+ 'lodash/path-style': ['warn', 'as-needed'],
37
+ 'lodash/prefer-compact': 'warn',
38
+ 'lodash/prefer-constant': 'warn',
39
+ 'lodash/prefer-filter': 'warn',
40
+ 'lodash/prefer-find': 'warn',
41
+ 'lodash/prefer-flat-map': 'warn',
42
+ 'lodash/prefer-get': 'warn',
43
+ 'lodash/prefer-immutable-method': 'warn',
44
+ 'lodash/prefer-includes': ['warn', { includeNative: true }],
45
+ 'lodash/prefer-invoke-map': 'warn',
46
+ 'lodash/prefer-is-nil': 'off',
47
+ 'lodash/prefer-lodash-chain': 'warn',
48
+ 'lodash/prefer-lodash-method': ['warn', { ignoreMethods: ['includes'] }],
49
+ 'lodash/prefer-lodash-typecheck': 'warn',
50
+ 'lodash/prefer-map': 'warn',
51
+ 'lodash/prefer-matches': ['warn', 3],
52
+ 'lodash/prefer-noop': 'warn',
53
+ 'lodash/prefer-over-quantifier': 'off',
54
+ 'lodash/prefer-reject': 'off',
55
+ 'lodash/prefer-some': ['warn', { includeNative: true }],
56
+ 'lodash/prefer-startswith': 'warn',
57
+ 'lodash/prefer-thru': 'warn',
58
+ 'lodash/prefer-times': 'warn',
59
+ 'lodash/prefer-wrapper-method': 'warn',
60
+ 'lodash/preferred-alias': 'warn',
61
+ 'lodash/prop-shorthand': ['warn', 'always'],
62
+ 'lodash/unwrap': 'warn',
63
+
64
+ 'n/callback-return': ['error', ['callback', 'cb', 'next', 'done']],
65
+ 'n/handle-callback-err': 'warn',
66
+ 'n/no-extraneous-import': 'off',
67
+ 'n/no-path-concat': 'error',
68
+ 'n/no-sync': 'warn',
69
+
70
+ // 'promise/always-return': 'warn',
71
+ // 'promise/catch-or-return': 'warn',
72
+ // 'promise/param-names': 'warn',
73
+
74
+ 'regexp/match-any': 'warn',
75
+ 'regexp/no-dupe-characters-character-class': 'warn',
76
+ 'regexp/no-empty-group': 'warn',
77
+ 'regexp/no-empty-lookarounds-assertion': 'warn',
78
+ 'regexp/no-escape-backspace': 'warn',
79
+ 'regexp/no-invisible-character': 'warn',
80
+ 'regexp/no-octal': 'warn',
81
+ 'regexp/no-useless-backreference': 'off', // This rule is a copy of the ESLint core no-useless-backreference rule so useless
82
+ 'regexp/no-useless-two-nums-quantifier': 'warn',
83
+ 'regexp/prefer-d': 'warn',
84
+ 'regexp/prefer-plus-quantifier': 'warn',
85
+ 'regexp/prefer-question-quantifier': 'warn',
86
+ 'regexp/prefer-star-quantifier': 'warn',
87
+ 'regexp/prefer-w': 'warn',
88
+
89
+ '@stylistic/array-bracket-spacing': ['warn', 'never', { arraysInArrays: false, objectsInArrays: false }],
90
+ '@stylistic/arrow-spacing': ['warn', { before: true, after: true }],
91
+ '@stylistic/block-spacing': ['warn', 'always'],
92
+ '@stylistic/brace-style': ['warn', '1tbs', { allowSingleLine: true }],
93
+ '@stylistic/comma-dangle': ['warn', { objects: 'only-multiline', arrays: 'only-multiline', functions: 'never', imports: 'never', exports: 'never' }],
94
+ '@stylistic/comma-spacing': ['warn', { before: false, after: true }],
95
+ '@stylistic/comma-style': ['error', 'last'],
96
+ '@stylistic/eol-last': 'warn',
97
+ '@stylistic/func-call-spacing': 'warn',
98
+ '@stylistic/indent': ['warn', 4, { SwitchCase: 1 }],
99
+ '@stylistic/keyword-spacing': ['warn', {
100
+ before: true,
101
+ after: true,
102
+ overrides:
103
+ {
104
+ 'if': { after: false },
105
+ 'for': { after: false },
106
+ 'while': { after: false },
107
+ 'continue': { after: false },
108
+ 'catch': { after: false },
109
+ 'switch': { after: false },
110
+ },
111
+ }],
112
+ '@stylistic/linebreak-style': ['warn', 'unix'],
113
+ '@stylistic/no-confusing-arrow': 'warn',
114
+ '@stylistic/no-multi-spaces': ['off', { ignoreEOLComments: true }],
115
+ '@stylistic/no-trailing-spaces': 'warn',
116
+ '@stylistic/object-curly-spacing': ['warn', 'always', { arraysInObjects: true }],
117
+ '@stylistic/padded-blocks': ['warn', 'never'],
118
+ '@stylistic/quote-props': ['warn', 'as-needed', { keywords: true, numbers: true }],
119
+ '@stylistic/quotes': ['warn', 'single', 'avoid-escape'],
120
+ '@stylistic/semi': ['error', 'always'],
121
+ '@stylistic/semi-spacing': ['error', { before: false, after: true }],
122
+ '@stylistic/space-before-blocks': ['warn', { functions: 'always', keywords: 'always' }],
123
+ '@stylistic/space-before-function-paren': ['warn', { anonymous: 'never', named: 'never', asyncArrow: 'always' }],
124
+ '@stylistic/space-in-parens': ['warn', 'never'],
125
+ '@stylistic/space-infix-ops': 'warn',
126
+ '@stylistic/space-unary-ops': ['warn', { words: true, nonwords: false }],
127
+
128
+ 'array-callback-return': 'warn',
129
+ 'block-scoped-var': 'error',
130
+ complexity: ['warn', 15],
131
+ curly: ['warn', 'all'],
132
+ 'default-case-last': 'warn',
133
+ 'default-param-last': 'error',
134
+ 'dot-notation': 'warn',
135
+ 'no-bitwise': 'warn',
136
+ 'no-console': 'warn',
137
+ 'no-const-assign': 'error',
138
+ 'no-constant-binary-expression': 'warn',
139
+ 'no-constructor-return': 'warn',
140
+ 'no-control-regex': 'off',
141
+ 'no-delete-var': 'error',
142
+ 'no-dupe-args': 'warn',
143
+ 'no-dupe-else-if': 'error',
144
+ 'no-dupe-keys': 'warn',
145
+ 'no-duplicate-case': 'warn',
146
+ 'no-eval': 'warn',
147
+ 'no-fallthrough': 'warn',
148
+ 'no-implied-eval': 'warn',
149
+ 'no-loop-func': 'error',
150
+ 'no-nested-ternary': 'error',
151
+ 'no-param-reassign': ['warn', { props: false }],
152
+ 'no-redeclare': ['error', { builtinGlobals: true }],
153
+ 'no-return-assign': ['error', 'always'],
154
+ 'no-self-compare': 'error',
155
+ 'no-sequences': 'error',
156
+ 'no-unexpected-multiline': 'error',
157
+ 'no-unmodified-loop-condition': 'error',
158
+ 'no-unneeded-ternary': 'error',
159
+ 'no-unreachable': 'error',
160
+ 'no-unsafe-negation': 'warn',
161
+ 'no-unused-expressions': ['error', { allowShortCircuit: true, allowTernary: true }],
162
+ 'no-unused-vars': ['warn', { args: 'after-used' }],
163
+ 'no-use-before-define': ['error', 'nofunc'],
164
+ 'no-useless-call': 'error',
165
+ 'no-useless-concat': 'error',
166
+ 'no-useless-escape': 'error',
167
+ 'no-var': 'warn',
168
+ 'no-warning-comments': ['warn', { terms: ['todo', 'fixme', 'xxx'], location: 'anywhere' }],
169
+ 'prefer-arrow-callback': ['warn', { allowNamedFunctions: true }],
170
+ 'prefer-const': 'warn',
171
+ strict: ['warn', 'global'],
172
+ 'use-isnan': 'error',
173
+ 'valid-typeof': 'warn',
174
+ };
175
+
176
+ export default {
177
+ configs: {
178
+ recommended: {
179
+ languageOptions: {
180
+ globals: {
181
+ ...globals.node,
182
+ },
183
+ },
184
+ plugins: { js, '@stylistic': stylistic, n, lodash, promise, 'eslint-comments': comments, regexp },
185
+ rules: {
186
+ ...(js.configs.recommended.rules),
187
+ ...(stylistic.configs['recommended-flat'].rules),
188
+ ...(n.configs.recommended.rules),
189
+ ...(lodash.configs.recommended.rules),
190
+ ...(promise.configs.recommended.rules),
191
+ ...(comments.configs.recommended.rules),
192
+ ...(regexp.configs.recommended.rules),
193
+ ...recommendedRules,
194
+ },
195
+ },
196
+ },
197
+ };
package/package.json CHANGED
@@ -3,9 +3,9 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "2.8.8",
6
+ "version": "3.0.1",
7
7
  "description": "Default base config for eslint",
8
- "main": "index.js",
8
+ "main": "index.mjs",
9
9
  "repository": {
10
10
  "type": "git",
11
11
  "url": "git://github.com/hughescr/eslint-config-default.git"
@@ -13,24 +13,23 @@
13
13
  "scripts": {
14
14
  "test": "echo \"Error: no test specified\" && exit 1",
15
15
  "postversion": "git commit -m \"Bump package version to $npm_package_version\" package.json; git flow release start $npm_package_version; git flow release finish -m $npm_package_version $npm_package_version; git checkout develop; git merge master",
16
- "omitted-rules": "eslint-index .eslintrc.js -d -s omitted",
17
- "disabled-rules": "eslint-index .eslintrc.js -d -s off",
18
- "error-rules": "eslint-index .eslintrc.js -d -s error",
19
- "warn-rules": "eslint-index .eslintrc.js -d -s warn"
16
+ "rules-checkup": "eslint --inspect-config"
20
17
  },
21
18
  "author": "Craig Hughes <craig.npm@rungie.com>",
22
19
  "license": "BSD-3-Clause",
23
20
  "dependencies": {
21
+ "@eslint/eslintrc": "^3.1.0",
22
+ "@eslint/js": "^9.11.1",
23
+ "@stylistic/eslint-plugin": "^2.8.0",
24
24
  "eslint-formatter-git-log": "^0.6.4",
25
25
  "eslint-plugin-eslint-comments": "^3.2.0",
26
- "eslint-plugin-lodash": "^7.4.0",
27
- "eslint-plugin-node": "^11.1.0",
28
- "eslint-plugin-promise": "^6.0.0",
29
- "eslint-plugin-regexp": "^1.7.0",
30
- "eslint-plugin-sonarjs": "^0.13.0"
26
+ "eslint-plugin-lodash": "^8.0.0",
27
+ "eslint-plugin-n": "^17.10.3",
28
+ "eslint-plugin-promise": "^7.1.0",
29
+ "eslint-plugin-regexp": "^2.6.0"
31
30
  },
32
31
  "devDependencies": {
33
- "eslint": "^8.14.0",
34
- "eslint-index": "^1.5.0"
32
+ "@eslint/config-inspector": "^0.5.4",
33
+ "eslint": "^9.11.1"
35
34
  }
36
35
  }
package/.eslintrc.js DELETED
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- module.exports =
4
- {
5
- 'extends': './index.js',
6
- };
package/index.js DELETED
@@ -1,198 +0,0 @@
1
- 'use strict';
2
-
3
- module.exports = {
4
- parserOptions: {
5
- ecmaVersion: 2020,
6
- },
7
-
8
- env: {
9
- es6: true,
10
- node: true,
11
- browser: true,
12
- },
13
-
14
- 'extends': [
15
- 'eslint:recommended',
16
- 'plugin:eslint-comments/recommended',
17
- 'plugin:lodash/recommended',
18
- 'plugin:promise/recommended',
19
- 'plugin:node/recommended',
20
- 'plugin:regexp/recommended',
21
- 'plugin:sonarjs/recommended'
22
- ],
23
-
24
- plugins: [
25
- 'lodash',
26
- 'promise',
27
- 'node',
28
- 'sonarjs',
29
- ],
30
- rules: {
31
- 'eslint-comments/disable-enable-pair': ['warn', { allowWholeFile: true }],
32
- 'eslint-comments/no-aggregating-enable': 'off',
33
- 'eslint-comments/no-duplicate-disable': 'warn',
34
- 'eslint-comments/no-restricted-disable': 'off',
35
- 'eslint-comments/no-unlimited-disable': 'warn',
36
- 'eslint-comments/no-unused-disable': 'warn',
37
- 'eslint-comments/no-unused-enable': 'warn',
38
- 'eslint-comments/no-use': ['warn', { allow: ['eslint-disable', 'eslint-enable', 'eslint-disable-line', 'eslint-disable-next-line'] }],
39
- 'eslint-comments/require-description': 'warn',
40
-
41
- 'lodash/callback-binding': 'warn',
42
- 'lodash/chain-style': ['warn', 'as-needed'],
43
- 'lodash/chaining': ['warn', 'always', 2],
44
- 'lodash/collection-method-value': 'warn',
45
- 'lodash/collection-ordering': 'warn',
46
- 'lodash/collection-return': 'warn',
47
- 'lodash/consistent-compose': ['warn', 'flow'],
48
- 'lodash/identity-shorthand': ['warn', 'always'],
49
- 'lodash/import-scope': 'off',
50
- 'lodash/matches-prop-shorthand': 'warn',
51
- 'lodash/matches-shorthand': ['warn', 'always', 3],
52
- 'lodash/no-commit': 'warn',
53
- 'lodash/no-double-unwrap': 'warn',
54
- 'lodash/no-extra-args': 'warn',
55
- 'lodash/no-unbound-this': 'warn',
56
- 'lodash/path-style': ['warn', 'as-needed'],
57
- 'lodash/prefer-compact': 'warn',
58
- 'lodash/prefer-constant': 'warn',
59
- 'lodash/prefer-filter': 'warn',
60
- 'lodash/prefer-find': 'warn',
61
- 'lodash/prefer-flat-map': 'warn',
62
- 'lodash/prefer-get': 'warn',
63
- 'lodash/prefer-immutable-method': 'warn',
64
- 'lodash/prefer-includes': ['warn', { includeNative: true }],
65
- 'lodash/prefer-invoke-map': 'warn',
66
- 'lodash/prefer-is-nil': 'off',
67
- 'lodash/prefer-lodash-chain': 'warn',
68
- 'lodash/prefer-lodash-method': ['warn', { ignoreMethods: ['includes'] }],
69
- 'lodash/prefer-lodash-typecheck': 'warn',
70
- 'lodash/prefer-map': 'warn',
71
- 'lodash/prefer-matches': ['warn', 3],
72
- 'lodash/prefer-noop': 'warn',
73
- 'lodash/prefer-over-quantifier': 'off',
74
- 'lodash/prefer-reject': 'off',
75
- 'lodash/prefer-some': ['warn', { includeNative: true }],
76
- 'lodash/prefer-startswith': 'warn',
77
- 'lodash/prefer-thru': 'warn',
78
- 'lodash/prefer-times': 'warn',
79
- 'lodash/prefer-wrapper-method': 'warn',
80
- 'lodash/preferred-alias': 'warn',
81
- 'lodash/prop-shorthand': ['warn', 'always'],
82
- 'lodash/unwrap': 'warn',
83
-
84
- // 'promise/always-return': 'warn',
85
- // 'promise/catch-or-return': 'warn',
86
- // 'promise/param-names': 'warn',
87
-
88
- 'node/exports-style': ['warn', 'module.exports'],
89
-
90
- 'regexp/match-any': 'warn',
91
- 'regexp/no-assertion-capturing-group': 'warn',
92
- 'regexp/no-dupe-characters-character-class': 'warn',
93
- 'regexp/no-empty-group': 'warn',
94
- 'regexp/no-empty-lookarounds-assertion': 'warn',
95
- 'regexp/no-escape-backspace': 'warn',
96
- 'regexp/no-invisible-character': 'warn',
97
- 'regexp/no-octal': 'warn',
98
- 'regexp/no-useless-backreference': 'off', // This rule is a copy of the ESLint core no-useless-backreference rule so useless
99
- 'regexp/no-useless-exactly-quantifier': 'warn',
100
- 'regexp/no-useless-two-nums-quantifier': 'warn',
101
- 'regexp/prefer-d': 'warn',
102
- 'regexp/prefer-plus-quantifier': 'warn',
103
- 'regexp/prefer-question-quantifier': 'warn',
104
- 'regexp/prefer-star-quantifier': 'warn',
105
- 'regexp/prefer-t': 'warn',
106
- 'regexp/prefer-w': 'warn',
107
-
108
- 'sonarjs/no-duplicate-string': 'warn',
109
- 'sonarjs/no-identical-functions': 'warn',
110
-
111
- 'array-bracket-spacing': ['warn', 'never', { arraysInArrays: false, objectsInArrays: false }],
112
- 'array-callback-return': 'warn',
113
- 'arrow-spacing': ['warn', { before: true, after: true }],
114
- 'block-scoped-var': 'error',
115
- 'block-spacing': ['warn', 'always'],
116
- 'brace-style': ['warn', '1tbs', { allowSingleLine: true }],
117
- 'callback-return': ['error', ['callback', 'cb', 'next', 'done']],
118
- 'comma-dangle': ['warn', { objects: 'only-multiline', arrays: 'only-multiline', functions: 'never', imports: 'never', exports: 'never' }],
119
- 'comma-spacing': ['warn', { before: false, after: true }],
120
- 'comma-style': ['error', 'last'],
121
- complexity: ['warn', 15],
122
- curly: ['warn', 'all'],
123
- 'default-case-last': 'warn',
124
- 'default-param-last': 'error',
125
- 'dot-notation': 'warn',
126
- 'eol-last': 'warn',
127
- 'handle-callback-err': 'warn',
128
- 'keyword-spacing': ['warn', {
129
- before: true,
130
- after: true,
131
- overrides:
132
- {
133
- 'if': { after: false },
134
- 'for': { after: false },
135
- 'while': { after: false },
136
- 'continue': { after: false },
137
- 'catch': { after: false },
138
- 'switch': { after: false },
139
- },
140
- }],
141
- 'linebreak-style': ['warn', 'unix'],
142
- 'no-bitwise': 'warn',
143
- 'no-confusing-arrow': 'warn',
144
- 'no-console' : 'warn',
145
- 'no-const-assign': 'error',
146
- 'no-constant-binary-expression': 'warn',
147
- 'no-constructor-return': 'warn',
148
- 'no-control-regex': 'off',
149
- 'no-delete-var': 'error',
150
- 'no-dupe-args': 'warn',
151
- 'no-dupe-else-if': 'error',
152
- 'no-dupe-keys': 'warn',
153
- 'no-duplicate-case': 'warn',
154
- 'no-eval': 'warn',
155
- 'no-fallthrough': 'warn',
156
- 'no-implied-eval': 'warn',
157
- 'no-loop-func': 'error',
158
- 'no-negated-in-lhs': 'warn',
159
- 'no-nested-ternary': 'error',
160
- 'no-param-reassign': ['warn', { props: false }],
161
- 'no-path-concat': 'error',
162
- 'no-redeclare': ['error', { builtinGlobals: true }],
163
- 'no-return-assign': ['error', 'always'],
164
- 'no-self-compare': 'error',
165
- 'no-sequences': 'error',
166
- 'no-spaced-func': 'warn',
167
- 'no-sync': 'warn',
168
- 'no-trailing-spaces': 'warn',
169
- 'no-unexpected-multiline': 'error',
170
- 'no-unmodified-loop-condition':'error',
171
- 'no-unneeded-ternary': 'error',
172
- 'no-unreachable': 'error',
173
- 'no-unused-expressions': ['error', { allowShortCircuit: true, allowTernary: true }],
174
- 'no-unused-vars': ['warn', { args: 'after-used' }],
175
- 'no-use-before-define': ['error', 'nofunc'],
176
- 'no-useless-call': 'error',
177
- 'no-useless-concat': 'error',
178
- 'no-useless-escape': 'error',
179
- 'no-var': 'warn',
180
- 'no-warning-comments': ['warn', { terms: ['todo', 'fixme', 'xxx'], location: 'anywhere' }],
181
- 'object-curly-spacing': ['warn', 'always', { arraysInObjects: true }],
182
- 'padded-blocks': ['warn', 'never'],
183
- 'prefer-arrow-callback': ['warn', { allowNamedFunctions: true }],
184
- 'prefer-const': 'warn',
185
- 'quote-props': ['warn', 'as-needed', { keywords: true, numbers: true }],
186
- quotes: ['warn', 'single', 'avoid-escape'],
187
- semi: ['error', 'always'],
188
- 'semi-spacing': ['error', { before: false, after: true }],
189
- 'space-before-blocks': ['warn', { functions: 'always', keywords: 'always' }],
190
- 'space-before-function-paren': ['warn', { anonymous: 'never', named: 'never', asyncArrow: 'always' }],
191
- 'space-in-parens': ['warn', 'never'],
192
- 'space-infix-ops': 'warn',
193
- 'space-unary-ops': ['warn', { words: true, nonwords: false }],
194
- strict: ['warn', 'global'],
195
- 'use-isnan': 'error',
196
- 'valid-typeof': 'warn',
197
- },
198
- };