@aarongoldenthal/eslint-config-standard 27.0.0 → 28.0.0

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/index.js DELETED
@@ -1,362 +0,0 @@
1
- /* eslint-disable max-lines -- required given number of rules */
2
- 'use strict';
3
-
4
- const complexityThreshold = 20;
5
- const maxFunctionLinesThreshold = 30;
6
- const maxLinesThreshold = 300;
7
- const maxParametersThreshold = 4;
8
- const maxStatementsPerLineThreshold = 1;
9
- const maxStatementsThreshold = 50;
10
- const nestedThreshold = 5;
11
- const tabSpaces = 4;
12
-
13
- module.exports = {
14
- env: {
15
- es2022: true,
16
- node: true
17
- },
18
- overrides: [
19
- {
20
- files: [
21
- // Patterns for jest-config
22
- '**/__tests__/**/*.[jt]s?(x)',
23
- '**/?(*.)+(spec|test).[jt]s?(x)',
24
- // Pattern for playwright-config
25
- '**/*.pwtest.[jt]s'
26
- ],
27
- rules: {
28
- // Assuming 1 test file per module, it can exceed limit
29
- 'max-lines': 'off',
30
- // Describes are functions and frequently exceed limit
31
- 'max-lines-per-function': 'off',
32
- // Tests frequently use indices and counts
33
- 'no-magic-numbers': 'off',
34
- // Undefined is a common value to test no value
35
- 'no-undefined': 'off',
36
- // Tests frequently check array elements, destructuring is
37
- // les intuitive
38
- 'prefer-destructuring': 'off',
39
- // Regexes in tests frequently check for match patterns, but
40
- // groups are not captured
41
- 'prefer-named-capture-group': 'off',
42
- // Async tests frequently return promises, which the test
43
- // runner awaits implicitly
44
- 'require-await': 'off'
45
- }
46
- }
47
- ],
48
- parserOptions: {
49
- ecmaVersion: 2022,
50
- sourceType: 'script'
51
- },
52
- reportUnusedDisableDirectives: true,
53
- rules: {
54
- // Possible problems
55
- 'array-callback-return': 'error',
56
- 'constructor-super': 'error', // Recommended
57
- 'for-direction': 'error', // Recommended
58
- 'getter-return': 'error', // Recommended
59
- 'no-async-promise-executor': 'error', // Recommended
60
- 'no-await-in-loop': 'error',
61
- 'no-class-assign': 'error', // Recommended
62
- 'no-compare-neg-zero': 'error', // Recommended
63
- 'no-cond-assign': 'error', // Recommended
64
- 'no-const-assign': 'error', // Recommended
65
- 'no-constant-binary-expression': 'error',
66
- 'no-constant-condition': 'error', // Recommended
67
- 'no-constructor-return': 'error',
68
- 'no-control-regex': 'error', // Recommended
69
- 'no-debugger': 'error', // Recommended
70
- 'no-dupe-args': 'error', // Recommended
71
- 'no-dupe-class-members': 'error', // Recommended
72
- 'no-dupe-else-if': 'error', // Recommended
73
- 'no-dupe-keys': 'error', // Recommended
74
- 'no-duplicate-case': 'error', // Recommended
75
- 'no-duplicate-imports': 'error',
76
- 'no-empty-character-class': 'error', // Recommended
77
- 'no-empty-pattern': 'error', // Recommended
78
- 'no-ex-assign': 'error', // Recommended
79
- 'no-fallthrough': 'error', // Recommended
80
- 'no-func-assign': 'error', // Recommended
81
- 'no-import-assign': 'error', // Recommended
82
- 'no-inner-declarations': 'error', // Recommended
83
- 'no-invalid-regexp': 'error', // Recommended
84
- 'no-irregular-whitespace': ['error', { skipStrings: true }], // Recommended
85
- 'no-loss-of-precision': 'error', // Recommended
86
- 'no-misleading-character-class': 'error', // Recommended
87
- 'no-new-native-nonconstructor': 'error',
88
- 'no-new-symbol': 'error', // Recommended
89
- 'no-obj-calls': 'error', // Recommended
90
- 'no-promise-executor-return': 'error',
91
- 'no-prototype-builtins': 'error', // Recommended
92
- 'no-self-assign': 'error', // Recommended
93
- 'no-self-compare': 'error',
94
- 'no-setter-return': 'error', // Recommended
95
- 'no-sparse-arrays': 'error', // Recommended
96
- 'no-template-curly-in-string': 'error',
97
- 'no-this-before-super': 'error', // Recommended
98
- 'no-undef': 'error', // Recommended
99
- 'no-unexpected-multiline': 'error', // Recommended, Prettier
100
- 'no-unmodified-loop-condition': 'error',
101
- 'no-unreachable': 'error', // Recommended
102
- 'no-unreachable-loop': 'error',
103
- 'no-unsafe-finally': 'error', // Recommended
104
- 'no-unsafe-negation': 'error', // Recommended
105
- 'no-unsafe-optional-chaining': 'error', // Recommended
106
- 'no-unused-private-class-members': 'error',
107
- 'no-unused-vars': 'error', // Recommended
108
- 'no-use-before-define': ['error', { functions: false }],
109
- 'no-useless-backreference': 'error', // Recommended
110
- 'require-atomic-updates': 'error',
111
- 'use-isnan': 'error', // Recommended
112
- 'valid-typeof': 'error', // Recommended
113
-
114
- // Suggestions
115
- // eslint-disable-next-line sort-keys -- match eslint docs
116
- 'accessor-pairs': 'error',
117
- 'arrow-body-style': ['error', 'as-needed'],
118
- 'block-scoped-var': 'error',
119
- camelcase: 'error',
120
- 'capitalized-comments': [
121
- 'error',
122
- 'always',
123
- { ignoreConsecutiveComments: true, ignorePattern: 'nosemgrep' }
124
- ],
125
- 'class-methods-use-this': 'error',
126
- complexity: ['error', complexityThreshold],
127
- 'consistent-return': 'error',
128
- // Disabled due to 'unicorn/no-this-assignment
129
- 'consistent-this': 'off',
130
- curly: 'error', // Prettier
131
- 'default-case': 'error',
132
- 'default-case-last': 'error',
133
- 'default-param-last': 'error',
134
- 'dot-notation': ['error', { allowPattern: '^[a-z]+(_[a-z]+)+$' }],
135
- eqeqeq: ['error', 'always'],
136
- 'func-name-matching': 'off',
137
- 'func-names': 'off',
138
- 'func-style': ['error', 'declaration', { allowArrowFunctions: true }],
139
- 'grouped-accessor-pairs': ['error', 'getBeforeSet'],
140
- 'guard-for-in': 'error',
141
- 'id-denylist': 'off',
142
- 'id-length': 'off',
143
- 'id-match': 'off',
144
- 'init-declarations': 'off',
145
- 'logical-assignment-operators': ['error', 'always'],
146
- 'max-classes-per-file': ['error', 1],
147
- 'max-depth': ['error', { max: nestedThreshold }],
148
- 'max-lines': ['error', maxLinesThreshold],
149
- 'max-lines-per-function': [
150
- 'error',
151
- {
152
- max: maxFunctionLinesThreshold,
153
- skipBlankLines: true,
154
- skipComments: true
155
- }
156
- ],
157
- 'max-nested-callbacks': ['error', { max: nestedThreshold }],
158
- 'max-params': ['error', { max: maxParametersThreshold }],
159
- 'max-statements': ['error', { max: maxStatementsThreshold }],
160
- 'multiline-comment-style': ['error', 'separate-lines'],
161
- 'new-cap': 'error',
162
- 'no-alert': 'error',
163
- 'no-array-constructor': 'error',
164
- 'no-bitwise': 'error',
165
- 'no-caller': 'error',
166
- 'no-case-declarations': 'error', // Recommended
167
- 'no-confusing-arrow': 'error', // Prettier
168
- 'no-console': 'off',
169
- 'no-continue': 'error',
170
- 'no-delete-var': 'error', // Recommended
171
- 'no-div-regex': 'error',
172
- 'no-else-return': 'error',
173
- 'no-empty': 'error', // Recommended
174
- 'no-empty-function': ['error', { allow: ['arrowFunctions'] }],
175
- 'no-empty-static-block': 'error',
176
- 'no-eq-null': 'error',
177
- 'no-eval': 'error',
178
- 'no-extend-native': 'error',
179
- 'no-extra-bind': 'error',
180
- 'no-extra-boolean-cast': 'error', // Recommended
181
- 'no-extra-label': 'error',
182
- 'no-extra-semi': 'error', // Recommended, Prettier
183
- 'no-floating-decimal': 'error', // Prettier
184
- 'no-global-assign': 'error', // Recommended
185
- 'no-implicit-coercion': 'error',
186
- 'no-implicit-globals': 'off',
187
- 'no-implied-eval': 'error',
188
- 'no-inline-comments': 'off',
189
- 'no-invalid-this': 'error',
190
- 'no-iterator': 'error',
191
- 'no-label-var': 'error',
192
- 'no-labels': 'error',
193
- 'no-lone-blocks': 'error',
194
- 'no-lonely-if': 'error',
195
- 'no-loop-func': 'error',
196
- 'no-magic-numbers': ['error', { ignore: [-1, 0, 1] }],
197
- 'no-mixed-operators': 'error', // Prettier
198
- 'no-multi-assign': 'error',
199
- 'no-multi-str': 'error',
200
- // Disabled in favor of unicorn/no-negated-condition
201
- 'no-negated-condition': 'off',
202
- // Disabled in favor of unicorn/no-nested-ternary
203
- 'no-nested-ternary': 'off',
204
- 'no-new': 'error',
205
- 'no-new-func': 'error',
206
- 'no-new-object': 'off',
207
- 'no-new-wrappers': 'error',
208
- 'no-nonoctal-decimal-escape': 'error', // Recommended
209
- 'no-object-constructor': 'error',
210
- 'no-octal': 'error', // Recommended
211
- 'no-octal-escape': 'error',
212
- 'no-param-reassign': ['error', { props: false }],
213
- 'no-plusplus': 'off',
214
- 'no-proto': 'error',
215
- 'no-redeclare': 'error', // Recommended
216
- 'no-regex-spaces': 'error', // Recommended
217
- 'no-restricted-exports': 'off',
218
- 'no-restricted-globals': 'off',
219
- 'no-restricted-imports': 'off',
220
- 'no-restricted-properties': 'off',
221
- 'no-restricted-syntax': 'off',
222
- 'no-return-assign': 'error',
223
- 'no-return-await': 'off',
224
- 'no-script-url': 'error',
225
- 'no-sequences': ['error', { allowInParentheses: false }],
226
- 'no-shadow': 'error',
227
- 'no-shadow-restricted-names': 'error', // Recommended
228
- 'no-ternary': 'off',
229
- 'no-throw-literal': 'error',
230
- 'no-undef-init': 'error',
231
- // Disabled, too many valid positives
232
- 'no-undefined': 'off',
233
- 'no-underscore-dangle': 'error',
234
- 'no-unneeded-ternary': 'error',
235
- 'no-unused-expressions': [
236
- 'error',
237
- { allowShortCircuit: true, allowTernary: true }
238
- ],
239
- 'no-unused-labels': 'error', // Recommended
240
- 'no-useless-call': 'error',
241
- 'no-useless-catch': 'error', // Recommended
242
- 'no-useless-computed-key': 'error',
243
- 'no-useless-concat': 'error',
244
- 'no-useless-constructor': 'error',
245
- 'no-useless-escape': 'error', // Recommended
246
- 'no-useless-rename': 'error',
247
- 'no-useless-return': 'error',
248
- 'no-var': 'error',
249
- 'no-void': 'error',
250
- 'no-warning-comments': [
251
- 'error',
252
- { terms: ['TODO', 'FIXME', 'HACK', 'XXX', 'BUG'] }
253
- ],
254
- 'no-with': 'error', // Recommended
255
- 'object-shorthand': 'error',
256
- 'one-var': 'off',
257
- 'one-var-declaration-per-line': 'off', // Prettier
258
- 'operator-assignment': 'error',
259
- 'prefer-arrow-callback': 'error',
260
- 'prefer-const': 'error',
261
- 'prefer-destructuring': ['error', { array: true, object: true }],
262
- 'prefer-exponentiation-operator': 'error',
263
- 'prefer-named-capture-group': 'error',
264
- 'prefer-numeric-literals': 'error',
265
- 'prefer-object-has-own': 'error',
266
- 'prefer-object-spread': ['error'],
267
- 'prefer-promise-reject-errors': 'error',
268
- 'prefer-regex-literals': 'error',
269
- 'prefer-rest-params': 'error',
270
- 'prefer-spread': 'error',
271
- 'prefer-template': 'error',
272
- 'quote-props': 'off', // Prettier
273
- radix: ['error', 'as-needed'],
274
- 'require-await': 'error',
275
- 'require-unicode-regexp': 'off',
276
- 'require-yield': 'error', // Recommended
277
- 'sort-imports': ['error', { allowSeparatedGroups: true }],
278
- 'sort-keys': ['error', 'asc', { caseSensitive: true, natural: true }],
279
- 'sort-vars': 'error',
280
- 'spaced-comment': ['error', 'always'],
281
- strict: 'error',
282
- 'symbol-description': 'error',
283
- // Disabled due to no-var
284
- 'vars-on-top': 'off',
285
- yoda: 'error',
286
-
287
- // Layout & Formatting
288
- // eslint-disable-next-line sort-keys -- match eslint docs
289
- 'array-bracket-newline': 'off', // Prettier
290
- 'array-bracket-spacing': 'off', // Prettier
291
- 'array-element-newline': 'off', // Prettier
292
- 'arrow-parens': ['error', 'always'], // Prettier
293
- 'arrow-spacing': 'error', // Prettier
294
- 'block-spacing': 'error', // Prettier
295
- 'brace-style': ['error', 'stroustrup'], // Prettier
296
- 'comma-dangle': ['error', 'never'], // Prettier
297
- 'comma-spacing': ['error', { after: true, before: false }], // Prettier
298
- 'comma-style': 'off', // Prettier
299
- 'computed-property-spacing': ['error', 'never'], // Prettier
300
- 'dot-location': ['error', 'property'], // Prettier
301
- 'eol-last': ['error', 'always'], // Prettier
302
- 'func-call-spacing': ['error', 'never'], // Prettier
303
- 'function-call-argument-newline': 'off', // Prettier
304
- 'function-paren-newline': 'off', // Prettier
305
- 'generator-star-spacing': 'off', // Prettier
306
- 'implicit-arrow-linebreak': 'off', // Prettier
307
- indent: ['error', tabSpaces, { SwitchCase: 1 }], // Prettier
308
- 'jsx-quotes': 'off', // Prettier
309
- 'key-spacing': 'error', // Prettier
310
- 'keyword-spacing': ['error', { after: true, before: true }], // Prettier
311
- 'line-comment-position': 'off',
312
- 'linebreak-style': ['error', 'unix'], // Prettier
313
- 'lines-around-comment': 'off', // Prettier
314
- 'lines-between-class-members': ['error', 'always'],
315
- 'max-len': 'off', // Prettier
316
- 'max-statements-per-line': [
317
- 'error',
318
- { max: maxStatementsPerLineThreshold }
319
- ],
320
- 'multiline-ternary': 'off', // Prettier
321
- 'new-parens': 'error', // Prettier
322
- 'newline-per-chained-call': 'off', // Prettier
323
- 'no-extra-parens': 'off', // Prettier
324
- 'no-mixed-spaces-and-tabs': 'error', // Recommended, Prettier
325
- 'no-multi-spaces': 'error', // Prettier
326
- 'no-multiple-empty-lines': 'off', // Prettier
327
- 'no-tabs': 'off', // Prettier
328
- 'no-trailing-spaces': 'error', // Prettier
329
- 'no-whitespace-before-property': 'error', // Prettier
330
- 'nonblock-statement-body-position': 'off', // Prettier
331
- 'object-curly-newline': 'off', // Prettier
332
- 'object-curly-spacing': ['error', 'always'], // Prettier
333
- 'object-property-newline': 'off', // Prettier
334
- 'operator-linebreak': 'off', // Prettier
335
- 'padded-blocks': ['error', 'never'], // Prettier
336
- 'padding-line-between-statements': 'off',
337
- quotes: ['error', 'single'], // Prettier
338
- 'rest-spread-spacing': 'error', // Prettier
339
- semi: ['error', 'always'], // Prettier
340
- 'semi-spacing': 'error', // Prettier
341
- 'semi-style': ['error', 'last'], // Prettier
342
- 'space-before-blocks': ['error', 'always'], // Prettier
343
- 'space-before-function-paren': [
344
- 'error',
345
- {
346
- anonymous: 'always',
347
- asyncArrow: 'always',
348
- named: 'never'
349
- }
350
- ], // Prettier
351
- 'space-in-parens': ['error', 'never'], // Prettier
352
- 'space-infix-ops': 'off', // Prettier
353
- 'space-unary-ops': 'off', // Prettier
354
- 'switch-colon-spacing': 'off', // Prettier
355
- 'template-curly-spacing': 'error', // Prettier
356
- 'template-tag-spacing': 'off', // Prettier
357
- 'unicode-bom': 'off', // Prettier
358
- 'wrap-iife': 'error', // Prettier
359
- 'wrap-regex': 'off', // Prettier
360
- 'yield-star-spacing': 'off' // Prettier
361
- }
362
- };
@@ -1,16 +0,0 @@
1
- 'use strict';
2
-
3
- module.exports = {
4
- extends: [
5
- './eslint-comments-config.js',
6
- './jsdoc-config.js',
7
- './node-config.js',
8
- './playwright-config.js',
9
- './promise-config.js',
10
- './sonarjs-config.js',
11
- './unicorn-config.js',
12
- './vitest-config.js',
13
- './index.js',
14
- 'prettier'
15
- ]
16
- };
package/unicorn-config.js DELETED
@@ -1,137 +0,0 @@
1
- 'use strict';
2
-
3
- module.exports = {
4
- overrides: [
5
- {
6
- files: ['*.test.js'],
7
- rules: {
8
- // Tests utility functions are more readable when they are
9
- // nested with the tests
10
- 'unicorn/consistent-function-scoping': 'off'
11
- }
12
- }
13
- ],
14
- plugins: ['unicorn'],
15
- rules: {
16
- 'unicorn/better-regex': 'error', // Recommended
17
- 'unicorn/catch-error-name': 'error', // Recommended
18
- 'unicorn/consistent-destructuring': 'error',
19
- 'unicorn/consistent-function-scoping': 'error', // Recommended
20
- 'unicorn/custom-error-definition': 'error',
21
- 'unicorn/empty-brace-spaces': 'off', // Recommended, Prettier
22
- 'unicorn/error-message': 'error', // Recommended
23
- 'unicorn/escape-case': 'error', // Recommended
24
- 'unicorn/expiring-todo-comments': 'off', // Recommended
25
- 'unicorn/explicit-length-check': 'error', // Recommended
26
- 'unicorn/filename-case': ['error', { case: 'kebabCase' }], // Recommended
27
- 'unicorn/import-style': 'error', // Recommended
28
- 'unicorn/new-for-builtins': 'error', // Recommended
29
- 'unicorn/no-abusive-eslint-disable': 'error', // Recommended
30
- 'unicorn/no-array-callback-reference': 'error', // Recommended
31
- 'unicorn/no-array-for-each': 'error', // Recommended
32
- 'unicorn/no-array-method-this-argument': 'error', // Recommended
33
- 'unicorn/no-array-push-push': 'error', // Recommended
34
- 'unicorn/no-array-reduce': 'error', // Recommended
35
- 'unicorn/no-await-expression-member': 'error', // Recommended
36
- 'unicorn/no-console-spaces': 'error', // Recommended
37
- 'unicorn/no-document-cookie': 'error', // Recommended
38
- 'unicorn/no-empty-file': 'error', // Recommended
39
- 'unicorn/no-for-loop': 'error', // Recommended
40
- 'unicorn/no-hex-escape': 'error', // Recommended
41
- 'unicorn/no-instanceof-array': 'error', // Recommended
42
- 'unicorn/no-invalid-remove-event-listener': 'error', // Recommended
43
- 'unicorn/no-keyword-prefix': 'off', // Recommended
44
- 'unicorn/no-lonely-if': 'error', // Recommended
45
- 'unicorn/no-negated-condition': 'error', // Recommended
46
- 'unicorn/no-nested-ternary': 'error', // Recommended, Prettier
47
- 'unicorn/no-new-array': 'error', // Recommended
48
- 'unicorn/no-new-buffer': 'error', // Recommended
49
- 'unicorn/no-null': 'error', // Recommended
50
- 'unicorn/no-object-as-default-parameter': 'error', // Recommended
51
- 'unicorn/no-process-exit': 'error', // Recommended
52
- 'unicorn/no-static-only-class': 'error', // Recommended
53
- 'unicorn/no-thenable': 'error', // Recommended
54
- 'unicorn/no-this-assignment': 'error', // Recommended
55
- 'unicorn/no-typeof-undefined': 'error', // Recommended
56
- 'unicorn/no-unnecessary-await': 'error', // Recommended
57
- 'unicorn/no-unnecessary-polyfills': 'error', // Recommended
58
- 'unicorn/no-unreadable-array-destructuring': 'error', // Recommended
59
- 'unicorn/no-unreadable-iife': 'error', // Recommended
60
- 'unicorn/no-unused-properties': 'error',
61
- 'unicorn/no-useless-fallback-in-spread': 'error', // Recommended
62
- 'unicorn/no-useless-length-check': 'error', // Recommended
63
- 'unicorn/no-useless-promise-resolve-reject': 'error', // Recommended
64
- 'unicorn/no-useless-spread': 'error', // Recommended
65
- 'unicorn/no-useless-switch-case': 'error', // Recommended
66
- 'unicorn/no-useless-undefined': 'error', // Recommended
67
- 'unicorn/no-zero-fractions': 'error', // Recommended
68
- 'unicorn/number-literal-case': 'error', // Prettier // Recommended
69
- 'unicorn/numeric-separators-style': 'error', // Recommended
70
- 'unicorn/prefer-add-event-listener': 'error', // Recommended
71
- 'unicorn/prefer-array-find': 'error', // Recommended
72
- 'unicorn/prefer-array-flat': 'error', // Recommended
73
- 'unicorn/prefer-array-flat-map': 'error', // Recommended
74
- 'unicorn/prefer-array-index-of': 'error', // Recommended
75
- 'unicorn/prefer-array-some': 'error', // Recommended
76
- 'unicorn/prefer-at': 'error', // Recommended
77
- 'unicorn/prefer-blob-reading-methods': 'error', // Recommended
78
- 'unicorn/prefer-code-point': 'error', // Recommended
79
- 'unicorn/prefer-date-now': 'error', // Recommended
80
- 'unicorn/prefer-default-parameters': 'error', // Recommended
81
- 'unicorn/prefer-dom-node-append': 'error', // Recommended
82
- 'unicorn/prefer-dom-node-dataset': 'error', // Recommended
83
- 'unicorn/prefer-dom-node-remove': 'error', // Recommended
84
- 'unicorn/prefer-dom-node-text-content': 'error', // Recommended
85
- 'unicorn/prefer-event-target': 'error', // Recommended
86
- 'unicorn/prefer-export-from': 'error', // Recommended
87
- 'unicorn/prefer-includes': 'error', // Recommended
88
- 'unicorn/prefer-json-parse-buffer': 'off',
89
- 'unicorn/prefer-keyboard-event-key': 'error', // Recommended
90
- 'unicorn/prefer-logical-operator-over-ternary': 'error', // Recommended
91
- 'unicorn/prefer-math-trunc': 'off', // Recommended
92
- 'unicorn/prefer-modern-dom-apis': 'error', // Recommended
93
- 'unicorn/prefer-modern-math-apis': 'error', // Recommended
94
- 'unicorn/prefer-module': 'off', // Recommended
95
- 'unicorn/prefer-native-coercion-functions': 'error', // Recommended
96
- 'unicorn/prefer-negative-index': 'error', // Recommended
97
- 'unicorn/prefer-node-protocol': 'error', // Recommended
98
- 'unicorn/prefer-number-properties': 'error', // Recommended
99
- 'unicorn/prefer-object-from-entries': 'off', // Recommended
100
- 'unicorn/prefer-optional-catch-binding': 'error', // Recommended
101
- 'unicorn/prefer-prototype-methods': 'error', // Recommended
102
- 'unicorn/prefer-query-selector': 'error', // Recommended
103
- 'unicorn/prefer-reflect-apply': 'error', // Recommended
104
- 'unicorn/prefer-regexp-test': 'error', // Recommended
105
- 'unicorn/prefer-set-has': 'error', // Recommended
106
- 'unicorn/prefer-set-size': 'error', // Recommended
107
- 'unicorn/prefer-spread': 'error', // Recommended
108
- 'unicorn/prefer-string-replace-all': 'error', // Recommended
109
- 'unicorn/prefer-string-slice': 'error', // Recommended
110
- 'unicorn/prefer-string-starts-ends-with': 'error', // Recommended
111
- 'unicorn/prefer-string-trim-start-end': 'error', // Recommended
112
- 'unicorn/prefer-switch': 'error', // Recommended
113
- 'unicorn/prefer-ternary': 'error', // Recommended
114
- 'unicorn/prefer-top-level-await': 'off', // Recommended
115
- 'unicorn/prefer-type-error': 'error', // Recommended
116
- 'unicorn/prevent-abbreviations': [
117
- 'error',
118
- {
119
- allowList: {
120
- args: true,
121
- env: true,
122
- i: true,
123
- pkg: true
124
- }
125
- }
126
- ], // Recommended
127
- 'unicorn/relative-url-style': 'error', // Recommended
128
- 'unicorn/require-array-join-separator': 'error', // Recommended
129
- 'unicorn/require-number-to-fixed-digits-argument': 'error', // Recommended
130
- 'unicorn/require-post-message-target-origin': 'off',
131
- 'unicorn/string-content': 'off',
132
- 'unicorn/switch-case-braces': ['error', 'always'], // Recommended
133
- 'unicorn/template-indent': 'error', // Recommended
134
- 'unicorn/text-encoding-identifier-case': 'error', // Recommended
135
- 'unicorn/throw-new-error': 'error' // Recommended
136
- }
137
- };