@qntx/oxlint 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.
package/README.md CHANGED
@@ -4,7 +4,7 @@ Shareable [Oxlint](https://oxc.rs/docs/guide/usage/linter.html) config for Vite+
4
4
 
5
5
  Clippy-mapped strictness: type safety and correctness fail the build (`any`, `!`, unsafe, floating promises, React Compiler). Tests relax like `allow-unwrap-in-tests`. Formatting is [`@qntx/oxfmt`](https://www.npmjs.com/package/@qntx/oxfmt), not lint.
6
6
 
7
- Requires **oxlint 1.82.0**. Vite+ 0.3.1 nests 1.81.0; this repo overrides that. Vite+ consumers who do not override still run 1.81.0 (1.82 added no new rule ids).
7
+ Requires **oxlint ^1.82.0**. Vite+ 0.3.1 nests 1.81.0; this repo overrides that. Vite+ 0.3.2 and later already satisfy the peer (0.3.3 nests 1.83.0).
8
8
 
9
9
  ## Install
10
10
 
package/dist/index.d.mts CHANGED
@@ -1,1022 +1,21 @@
1
1
  import { OxlintConfig } from "oxlint";
2
2
  //#region src/config.d.ts
3
- export declare const config: {
4
- plugins: ("eslint" | "import" | "node" | "oxc" | "promise" | "typescript" | "unicorn" | "vitest")[];
5
- env: {
6
- browser: true;
7
- node: true;
8
- };
9
- options: {
10
- reportUnusedDisableDirectives: "error";
11
- typeAware: true;
12
- typeCheck: true;
13
- };
14
- settings: {
15
- vitest: {
16
- typecheck: true;
17
- };
18
- };
19
- ignorePatterns: string[];
20
- rules: {
21
- "eslint/accessor-pairs": ["error", {
22
- enforceForClassMembers: true;
23
- }];
24
- "eslint/array-callback-return": ["error", {
25
- allowImplicit: true;
26
- }];
27
- "eslint/arrow-body-style": "off";
28
- "eslint/block-scoped-var": "off";
29
- "eslint/capitalized-comments": "off";
30
- "eslint/class-methods-use-this": "off";
31
- "eslint/complexity": "off";
32
- "eslint/constructor-super": "off";
33
- "eslint/curly": ["error", "all"];
34
- "eslint/default-case": "off";
35
- "eslint/default-case-last": "error";
36
- "eslint/default-param-last": "error";
37
- "eslint/eqeqeq": "error";
38
- "eslint/for-direction": "error";
39
- "eslint/func-name-matching": ["error", "never", {
40
- considerPropertyDescriptor: true;
41
- }];
42
- "eslint/func-names": "off";
43
- "eslint/func-style": ["error", "declaration", {
44
- allowArrowFunctions: true;
45
- }];
46
- "eslint/getter-return": "error";
47
- "eslint/grouped-accessor-pairs": ["error", "getBeforeSet"];
48
- "eslint/guard-for-in": "error";
49
- "eslint/id-denylist": "off";
50
- "eslint/id-length": "off";
51
- "eslint/id-match": "off";
52
- "eslint/init-declarations": "off";
53
- "eslint/logical-assignment-operators": "off";
54
- "eslint/max-classes-per-file": "off";
55
- "eslint/max-depth": "off";
56
- "eslint/max-lines": "off";
57
- "eslint/max-lines-per-function": "off";
58
- "eslint/max-nested-callbacks": "off";
59
- "eslint/max-params": "off";
60
- "eslint/max-statements": "off";
61
- "eslint/new-cap": "off";
62
- "eslint/no-alert": "error";
63
- "eslint/no-array-constructor": "error";
64
- "eslint/no-async-promise-executor": "error";
65
- "eslint/no-await-in-loop": "error";
66
- "eslint/no-bitwise": "error";
67
- "eslint/no-caller": "error";
68
- "eslint/no-case-declarations": "error";
69
- "eslint/no-class-assign": "off";
70
- "eslint/no-compare-neg-zero": "error";
71
- "eslint/no-cond-assign": "error";
72
- "eslint/no-console": "error";
73
- "eslint/no-const-assign": "off";
74
- "eslint/no-constant-binary-expression": "error";
75
- "eslint/no-constant-condition": "error";
76
- "eslint/no-constructor-return": "error";
77
- "eslint/no-continue": "off";
78
- "eslint/no-control-regex": "error";
79
- "eslint/no-debugger": "error";
80
- "eslint/no-delete-var": "off";
81
- "eslint/no-div-regex": "off";
82
- "eslint/no-dupe-class-members": "off";
83
- "eslint/no-dupe-else-if": "error";
84
- "eslint/no-dupe-keys": "off";
85
- "eslint/no-duplicate-case": "error";
86
- "eslint/no-duplicate-imports": "off";
87
- "eslint/no-else-return": ["error", {
88
- allowElseIf: false;
89
- }];
90
- "eslint/no-empty": ["error", {
91
- allowEmptyCatch: true;
92
- }];
93
- "eslint/no-empty-character-class": "error";
94
- "eslint/no-empty-function": "error";
95
- "eslint/no-empty-pattern": "error";
96
- "eslint/no-empty-static-block": "error";
97
- "eslint/no-eq-null": "error";
98
- "eslint/no-eval": "error";
99
- "eslint/no-ex-assign": "error";
100
- "eslint/no-extend-native": "error";
101
- "eslint/no-extra-bind": "error";
102
- "eslint/no-extra-boolean-cast": "error";
103
- "eslint/no-extra-label": "error";
104
- "eslint/no-fallthrough": "off";
105
- "eslint/no-func-assign": "off";
106
- "eslint/no-global-assign": "error";
107
- "eslint/no-implicit-coercion": "error";
108
- "eslint/no-implicit-globals": "error";
109
- "eslint/no-implied-eval": "error";
110
- "eslint/no-import-assign": "off";
111
- "eslint/no-inline-comments": "off";
112
- "eslint/no-inner-declarations": "off";
113
- "eslint/no-invalid-regexp": "error";
114
- "eslint/no-irregular-whitespace": "off";
115
- "eslint/no-iterator": "off";
116
- "eslint/no-label-var": "off";
117
- "eslint/no-labels": "off";
118
- "eslint/no-lone-blocks": "off";
119
- "eslint/no-lonely-if": "error";
120
- "eslint/no-loop-func": "error";
121
- "eslint/no-loss-of-precision": "error";
122
- "eslint/no-magic-numbers": "off";
123
- "eslint/no-misleading-character-class": "error";
124
- "eslint/no-multi-assign": "error";
125
- "eslint/no-multi-str": "off";
126
- "eslint/no-negated-condition": "off";
127
- "eslint/no-nested-ternary": "off";
128
- "eslint/no-new": "off";
129
- "eslint/no-new-func": "error";
130
- "eslint/no-new-native-nonconstructor": "off";
131
- "eslint/no-new-wrappers": "error";
132
- "eslint/no-nonoctal-decimal-escape": "error";
133
- "eslint/no-obj-calls": "off";
134
- "eslint/no-object-constructor": "error";
135
- "eslint/no-param-reassign": "error";
136
- "eslint/no-plusplus": "off";
137
- "eslint/no-promise-executor-return": "error";
138
- "eslint/no-proto": "error";
139
- "eslint/no-prototype-builtins": "off";
140
- "eslint/no-redeclare": "off";
141
- "eslint/no-regex-spaces": "error";
142
- "eslint/no-restricted-exports": "off";
143
- "eslint/no-restricted-globals": "off";
144
- "eslint/no-restricted-imports": "off";
145
- "eslint/no-restricted-properties": "off";
146
- "eslint/no-return-assign": ["error", "always"];
147
- "eslint/no-script-url": "error";
148
- "eslint/no-self-assign": ["error", {
149
- props: true;
150
- }];
151
- "eslint/no-self-compare": "error";
152
- "eslint/no-sequences": "error";
153
- "eslint/no-setter-return": "off";
154
- "eslint/no-shadow": "off";
155
- "eslint/no-shadow-restricted-names": "error";
156
- "eslint/no-sparse-arrays": "error";
157
- "eslint/no-template-curly-in-string": "error";
158
- "eslint/no-ternary": "off";
159
- "eslint/no-this-before-super": "off";
160
- "eslint/no-throw-literal": "error";
161
- "eslint/no-unassigned-vars": "error";
162
- "eslint/no-undef": "off";
163
- "eslint/no-undefined": "off";
164
- "eslint/no-underscore-dangle": "off";
165
- "eslint/no-unexpected-multiline": "off";
166
- "eslint/no-unmodified-loop-condition": "error";
167
- "eslint/no-unneeded-ternary": "error";
168
- "eslint/no-unreachable": "off";
169
- "eslint/no-unsafe-finally": "error";
170
- "eslint/no-unsafe-negation": "error";
171
- "eslint/no-unsafe-optional-chaining": ["error", {
172
- disallowArithmeticOperators: true;
173
- }];
174
- "eslint/no-unused-expressions": ["error", {
175
- enforceForJSX: true;
176
- }];
177
- "eslint/no-unused-labels": "error";
178
- "eslint/no-unused-private-class-members": "error";
179
- "eslint/no-unused-vars": ["error", {
180
- argsIgnorePattern: "^_";
181
- caughtErrorsIgnorePattern: "^_";
182
- destructuredArrayIgnorePattern: "^_";
183
- varsIgnorePattern: "^_";
184
- }];
185
- "eslint/no-use-before-define": "off";
186
- "eslint/no-useless-assignment": "error";
187
- "eslint/no-useless-backreference": "error";
188
- "eslint/no-useless-call": "error";
189
- "eslint/no-useless-catch": "error";
190
- "eslint/no-useless-computed-key": "error";
191
- "eslint/no-useless-concat": "error";
192
- "eslint/no-useless-constructor": "off";
193
- "eslint/no-useless-escape": "error";
194
- "eslint/no-useless-rename": "error";
195
- "eslint/no-useless-return": "error";
196
- "eslint/no-var": "error";
197
- "eslint/no-void": "off";
198
- "eslint/no-warning-comments": "error";
199
- "eslint/no-with": "error";
200
- "eslint/object-shorthand": ["error", "always"];
201
- "eslint/one-var": "off";
202
- "eslint/operator-assignment": ["error", "always"];
203
- "eslint/prefer-arrow-callback": ["error", {
204
- allowNamedFunctions: true;
205
- }];
206
- "eslint/prefer-const": "error";
207
- "eslint/prefer-destructuring": "error";
208
- "eslint/prefer-exponentiation-operator": "error";
209
- "eslint/prefer-named-capture-group": "off";
210
- "eslint/prefer-numeric-literals": "off";
211
- "eslint/prefer-object-has-own": "error";
212
- "eslint/prefer-object-spread": "error";
213
- "eslint/prefer-promise-reject-errors": "error";
214
- "eslint/prefer-regex-literals": "error";
215
- "eslint/prefer-rest-params": "error";
216
- "eslint/prefer-spread": "error";
217
- "eslint/prefer-template": "error";
218
- "eslint/preserve-caught-error": "error";
219
- "eslint/radix": "error";
220
- "eslint/require-await": "off";
221
- "eslint/require-unicode-regexp": "off";
222
- "eslint/require-yield": "error";
223
- "eslint/sort-imports": "off";
224
- "eslint/sort-keys": "off";
225
- "eslint/sort-vars": "off";
226
- "eslint/symbol-description": "error";
227
- "eslint/unicode-bom": ["error", "never"];
228
- "eslint/use-isnan": "error";
229
- "eslint/valid-typeof": ["error", {
230
- requireStringLiterals: false;
231
- }];
232
- "eslint/vars-on-top": "off";
233
- "eslint/yoda": ["error", "never", {
234
- exceptRange: true;
235
- }];
236
- "import/consistent-type-specifier-style": ["error", "prefer-top-level"];
237
- "import/default": "error";
238
- "import/exports-last": "off";
239
- "import/extensions": "off";
240
- "import/first": "error";
241
- "import/group-exports": "off";
242
- "import/max-dependencies": "off";
243
- "import/namespace": "error";
244
- "import/newline-after-import": "error";
245
- "import/no-absolute-path": "error";
246
- "import/no-amd": "off";
247
- "import/no-anonymous-default-export": "error";
248
- "import/no-commonjs": ["error", {
249
- allowConditionalRequire: false;
250
- }];
251
- "import/no-cycle": "error";
252
- "import/no-default-export": "off";
253
- "import/no-duplicates": "error";
254
- "import/no-dynamic-require": "off";
255
- "import/no-empty-named-blocks": "error";
256
- "import/no-mutable-exports": "error";
257
- "import/no-named-as-default": "error";
258
- "import/no-named-as-default-member": "error";
259
- "import/no-named-default": "error";
260
- "import/no-named-export": "off";
261
- "import/no-namespace": "off";
262
- "import/no-nodejs-modules": "off";
263
- "import/no-relative-parent-imports": "off";
264
- "import/no-self-import": "error";
265
- "import/no-unassigned-import": "error";
266
- "import/no-webpack-loader-syntax": "off";
267
- "import/prefer-default-export": "off";
268
- "import/unambiguous": "error";
269
- "node/callback-return": "off";
270
- "node/exports-style": "off";
271
- "node/global-require": "off";
272
- "node/handle-callback-err": ["error", string];
273
- "node/no-exports-assign": "off";
274
- "node/no-mixed-requires": "off";
275
- "node/no-new-require": "off";
276
- "node/no-path-concat": "error";
277
- "node/no-process-env": "off";
278
- "node/no-sync": "off";
279
- "node/no-top-level-await": "off";
280
- "oxc/approx-constant": "error";
281
- "oxc/bad-array-method-on-arguments": "error";
282
- "oxc/bad-bitwise-operator": "error";
283
- "oxc/bad-char-at-comparison": "error";
284
- "oxc/bad-comparison-sequence": "error";
285
- "oxc/bad-match-all-arg": "error";
286
- "oxc/bad-min-max-func": "error";
287
- "oxc/bad-object-literal-comparison": "error";
288
- "oxc/bad-replace-all-arg": "error";
289
- "oxc/branches-sharing-code": "error";
290
- "oxc/const-comparisons": "error";
291
- "oxc/double-comparisons": "error";
292
- "oxc/erasing-op": "error";
293
- "oxc/misrefactored-assign-op": "error";
294
- "oxc/missing-throw": "error";
295
- "oxc/no-accumulating-spread": "error";
296
- "oxc/no-async-await": "off";
297
- "oxc/no-async-endpoint-handlers": "off";
298
- "oxc/no-barrel-file": "off";
299
- "oxc/no-const-enum": "off";
300
- "oxc/no-map-spread": "error";
301
- "oxc/no-optional-chaining": "off";
302
- "oxc/no-rest-spread-properties": "off";
303
- "oxc/no-this-in-exported-function": "error";
304
- "oxc/number-arg-out-of-range": "error";
305
- "oxc/only-used-in-recursion": "error";
306
- "oxc/uninvoked-array-callback": "error";
307
- "promise/always-return": "error";
308
- "promise/avoid-new": "off";
309
- "promise/catch-or-return": "error";
310
- "promise/no-callback-in-promise": "error";
311
- "promise/no-multiple-resolved": "error";
312
- "promise/no-nesting": "error";
313
- "promise/no-new-statics": "error";
314
- "promise/no-promise-in-callback": "error";
315
- "promise/no-return-in-finally": "error";
316
- "promise/no-return-wrap": ["error", {
317
- allowReject: true;
318
- }];
319
- "promise/param-names": "error";
320
- "promise/prefer-await-to-callbacks": "off";
321
- "promise/prefer-await-to-then": "error";
322
- "promise/prefer-catch": "error";
323
- "promise/spec-only": "error";
324
- "promise/valid-params": "error";
325
- "typescript/adjacent-overload-signatures": "error";
326
- "typescript/array-type": ["error", {
327
- default: "array-simple";
328
- readonly: "generic";
329
- }];
330
- "typescript/await-thenable": "error";
331
- "typescript/ban-ts-comment": ["error", {
332
- "ts-check": true;
333
- "ts-expect-error": "allow-with-description";
334
- "ts-ignore": true;
335
- "ts-nocheck": true;
336
- }];
337
- "typescript/ban-tslint-comment": "error";
338
- "typescript/ban-types": "off";
339
- "typescript/class-literal-property-style": ["error", "fields"];
340
- "typescript/consistent-generic-constructors": ["error", "constructor"];
341
- "typescript/consistent-indexed-object-style": ["error", "record"];
342
- "typescript/consistent-return": "error";
343
- "typescript/consistent-type-assertions": ["error", {
344
- assertionStyle: "as";
345
- }];
346
- "typescript/consistent-type-definitions": ["error", "type"];
347
- "typescript/consistent-type-exports": "error";
348
- "typescript/consistent-type-imports": ["error", {
349
- fixStyle: "separate-type-imports";
350
- prefer: "type-imports";
351
- }];
352
- "typescript/dot-notation": "error";
353
- "typescript/explicit-function-return-type": "off";
354
- "typescript/explicit-member-accessibility": ["error", {
355
- accessibility: "no-public";
356
- }];
357
- "typescript/explicit-module-boundary-types": ["error", {
358
- allowArgumentsExplicitlyTypedAsAny: false;
359
- }];
360
- "typescript/method-signature-style": ["error", "property"];
361
- "typescript/no-array-delete": "error";
362
- "typescript/no-base-to-string": "error";
363
- "typescript/no-confusing-non-null-assertion": "error";
364
- "typescript/no-confusing-void-expression": ["error", {
365
- ignoreArrowShorthand: true;
366
- }];
367
- "typescript/no-deprecated": "error";
368
- "typescript/no-duplicate-enum-values": "error";
369
- "typescript/no-duplicate-type-constituents": "error";
370
- "typescript/no-dynamic-delete": "error";
371
- "typescript/no-empty-interface": "error";
372
- "typescript/no-empty-object-type": "error";
373
- "typescript/no-explicit-any": "error";
374
- "typescript/no-extra-non-null-assertion": "error";
375
- "typescript/no-extraneous-class": "error";
376
- "typescript/no-floating-promises": "error";
377
- "typescript/no-for-in-array": "error";
378
- "typescript/no-implied-eval": "error";
379
- "typescript/no-import-type-side-effects": "error";
380
- "typescript/no-inferrable-types": "error";
381
- "typescript/no-invalid-void-type": "error";
382
- "typescript/no-meaningless-void-operator": "error";
383
- "typescript/no-misused-new": "error";
384
- "typescript/no-misused-promises": ["error", {
385
- checksConditionals: true;
386
- checksVoidReturn: true;
387
- }];
388
- "typescript/no-misused-spread": "error";
389
- "typescript/no-mixed-enums": "error";
390
- "typescript/no-namespace": ["error", {
391
- allowDeclarations: true;
392
- }];
393
- "typescript/no-non-null-asserted-nullish-coalescing": "error";
394
- "typescript/no-non-null-asserted-optional-chain": "error";
395
- "typescript/no-non-null-assertion": "error";
396
- "typescript/no-redundant-type-constituents": "error";
397
- "typescript/no-require-imports": "error";
398
- "typescript/no-restricted-types": ["error", {
399
- types: {
400
- "[]": true;
401
- null: true;
402
- object: true;
403
- };
404
- }];
405
- "typescript/no-this-alias": "error";
406
- "typescript/no-unnecessary-boolean-literal-compare": "error";
407
- "typescript/no-unnecessary-parameter-property-assignment": "error";
408
- "typescript/no-unnecessary-qualifier": "error";
409
- "typescript/no-unnecessary-template-expression": "error";
410
- "typescript/no-unnecessary-type-arguments": "error";
411
- "typescript/no-unnecessary-type-assertion": "error";
412
- "typescript/no-unnecessary-type-constraint": "error";
413
- "typescript/no-unnecessary-type-conversion": "error";
414
- "typescript/no-unnecessary-type-parameters": "error";
415
- "typescript/no-unsafe-argument": "error";
416
- "typescript/no-unsafe-assignment": "error";
417
- "typescript/no-unsafe-call": "error";
418
- "typescript/no-unsafe-declaration-merging": "error";
419
- "typescript/no-unsafe-enum-comparison": "error";
420
- "typescript/no-unsafe-function-type": "error";
421
- "typescript/no-unsafe-member-access": "error";
422
- "typescript/no-unsafe-return": "error";
423
- "typescript/no-unsafe-type-assertion": "error";
424
- "typescript/no-unsafe-unary-minus": "error";
425
- "typescript/no-useless-default-assignment": "error";
426
- "typescript/no-useless-empty-export": "error";
427
- "typescript/no-var-requires": "off";
428
- "typescript/no-wrapper-object-types": "error";
429
- "typescript/non-nullable-type-assertion-style": "error";
430
- "typescript/only-throw-error": ["error", {
431
- allowThrowingAny: false;
432
- }];
433
- "typescript/parameter-properties": ["error", {
434
- prefer: "class-property";
435
- }];
436
- "typescript/prefer-as-const": "error";
437
- "typescript/prefer-enum-initializers": "error";
438
- "typescript/prefer-find": "error";
439
- "typescript/prefer-for-of": "error";
440
- "typescript/prefer-function-type": "error";
441
- "typescript/prefer-includes": "error";
442
- "typescript/prefer-literal-enum-member": "error";
443
- "typescript/prefer-namespace-keyword": "off";
444
- "typescript/prefer-nullish-coalescing": ["error", {
445
- ignoreConditionalTests: false;
446
- }];
447
- "typescript/prefer-promise-reject-errors": "error";
448
- "typescript/prefer-readonly": "error";
449
- "typescript/prefer-readonly-parameter-types": "off";
450
- "typescript/prefer-reduce-type-parameter": "error";
451
- "typescript/prefer-regexp-exec": "error";
452
- "typescript/prefer-return-this-type": "error";
453
- "typescript/prefer-string-starts-ends-with": "error";
454
- "typescript/prefer-ts-expect-error": "error";
455
- "typescript/promise-function-async": "error";
456
- "typescript/related-getter-setter-pairs": "error";
457
- "typescript/require-array-sort-compare": ["error", {
458
- ignoreStringArrays: true;
459
- }];
460
- "typescript/require-await": "error";
461
- "typescript/restrict-plus-operands": "error";
462
- "typescript/restrict-template-expressions": ["error", {
463
- allowAny: false;
464
- allowBoolean: false;
465
- allowNever: false;
466
- allowNullish: false;
467
- allowNumber: true;
468
- }];
469
- "typescript/return-await": ["error", "in-try-catch"];
470
- "typescript/strict-boolean-expressions": "error";
471
- "typescript/strict-void-return": "error";
472
- "typescript/switch-exhaustiveness-check": ["error", {
473
- allowDefaultCaseForExhaustiveSwitch: false;
474
- considerDefaultExhaustiveForUnions: true;
475
- requireDefaultForNonUnion: true;
476
- }];
477
- "typescript/triple-slash-reference": "error";
478
- "typescript/unbound-method": "error";
479
- "typescript/unified-signatures": "error";
480
- "typescript/use-unknown-in-catch-callback-variable": "error";
481
- "unicorn/catch-error-name": "error";
482
- "unicorn/consistent-assert": "error";
483
- "unicorn/consistent-date-clone": "error";
484
- "unicorn/consistent-empty-array-spread": "error";
485
- "unicorn/consistent-existence-index-check": "error";
486
- "unicorn/consistent-function-scoping": "error";
487
- "unicorn/consistent-template-literal-escape": "error";
488
- "unicorn/custom-error-definition": "error";
489
- "unicorn/empty-brace-spaces": "off";
490
- "unicorn/error-message": "error";
491
- "unicorn/escape-case": "error";
492
- "unicorn/explicit-length-check": "error";
493
- "unicorn/explicit-timer-delay": ["error", "never"];
494
- "unicorn/filename-case": "off";
495
- "unicorn/import-style": "off";
496
- "unicorn/max-nested-calls": "off";
497
- "unicorn/new-for-builtins": "error";
498
- "unicorn/no-abusive-eslint-disable": "error";
499
- "unicorn/no-accessor-recursion": "error";
500
- "unicorn/no-anonymous-default-export": "off";
501
- "unicorn/no-array-callback-reference": "off";
502
- "unicorn/no-array-fill-with-reference-type": "error";
503
- "unicorn/no-array-for-each": "error";
504
- "unicorn/no-array-method-this-argument": "error";
505
- "unicorn/no-array-reduce": "error";
506
- "unicorn/no-array-reverse": "error";
507
- "unicorn/no-array-sort": ["error"];
508
- "unicorn/no-await-expression-member": "error";
509
- "unicorn/no-await-in-promise-methods": "error";
510
- "unicorn/no-confusing-array-with": "error";
511
- "unicorn/no-console-spaces": "error";
512
- "unicorn/no-document-cookie": "error";
513
- "unicorn/no-empty-file": "error";
514
- "unicorn/no-hex-escape": "error";
515
- "unicorn/no-immediate-mutation": "error";
516
- "unicorn/no-instanceof-array": "error";
517
- "unicorn/no-instanceof-builtins": "error";
518
- "unicorn/no-invalid-fetch-options": "error";
519
- "unicorn/no-invalid-remove-event-listener": "error";
520
- "unicorn/no-length-as-slice-end": "error";
521
- "unicorn/no-lonely-if": "error";
522
- "unicorn/no-magic-array-flat-depth": "error";
523
- "unicorn/no-negated-condition": "error";
524
- "unicorn/no-negation-in-equality-check": "error";
525
- "unicorn/no-nested-ternary": "error";
526
- "unicorn/no-new-array": "error";
527
- "unicorn/no-new-buffer": "error";
528
- "unicorn/no-null": "off";
529
- "unicorn/no-object-as-default-parameter": "error";
530
- "unicorn/no-process-exit": "error";
531
- "unicorn/no-single-promise-in-promise-methods": "error";
532
- "unicorn/no-static-only-class": "error";
533
- "unicorn/no-thenable": "error";
534
- "unicorn/no-this-assignment": "error";
535
- "unicorn/no-typeof-undefined": ["error", {
536
- checkGlobalVariables: true;
537
- }];
538
- "unicorn/no-unnecessary-array-flat-depth": "error";
539
- "unicorn/no-unnecessary-array-splice-count": "error";
540
- "unicorn/no-unnecessary-await": "error";
541
- "unicorn/no-unnecessary-slice-end": "error";
542
- "unicorn/no-unreadable-array-destructuring": "error";
543
- "unicorn/no-unreadable-iife": "error";
544
- "unicorn/no-useless-collection-argument": "error";
545
- "unicorn/no-useless-error-capture-stack-trace": "error";
546
- "unicorn/no-useless-fallback-in-spread": "error";
547
- "unicorn/no-useless-length-check": "error";
548
- "unicorn/no-useless-promise-resolve-reject": "error";
549
- "unicorn/no-useless-spread": "error";
550
- "unicorn/no-useless-switch-case": "error";
551
- "unicorn/no-useless-undefined": "off";
552
- "unicorn/no-zero-fractions": "error";
553
- "unicorn/number-literal-case": "error";
554
- "unicorn/numeric-separators-style": ["error", {
555
- onlyIfContainsSeparator: true;
556
- }];
557
- "unicorn/prefer-add-event-listener": "error";
558
- "unicorn/prefer-array-find": "error";
559
- "unicorn/prefer-array-flat": "error";
560
- "unicorn/prefer-array-flat-map": "error";
561
- "unicorn/prefer-array-index-of": "error";
562
- "unicorn/prefer-array-some": "error";
563
- "unicorn/prefer-at": "error";
564
- "unicorn/prefer-bigint-literals": "off";
565
- "unicorn/prefer-blob-reading-methods": "error";
566
- "unicorn/prefer-class-fields": "error";
567
- "unicorn/prefer-classlist-toggle": "error";
568
- "unicorn/prefer-code-point": "error";
569
- "unicorn/prefer-date-now": "error";
570
- "unicorn/prefer-default-parameters": "error";
571
- "unicorn/prefer-dom-node-append": "error";
572
- "unicorn/prefer-dom-node-dataset": "error";
573
- "unicorn/prefer-dom-node-remove": "error";
574
- "unicorn/prefer-dom-node-text-content": "error";
575
- "unicorn/prefer-event-target": "error";
576
- "unicorn/prefer-export-from": "error";
577
- "unicorn/prefer-global-this": "error";
578
- "unicorn/prefer-import-meta-properties": "error";
579
- "unicorn/prefer-includes": "error";
580
- "unicorn/prefer-keyboard-event-key": "error";
581
- "unicorn/prefer-logical-operator-over-ternary": "error";
582
- "unicorn/prefer-math-min-max": "error";
583
- "unicorn/prefer-math-trunc": "error";
584
- "unicorn/prefer-modern-dom-apis": "error";
585
- "unicorn/prefer-modern-math-apis": "error";
586
- "unicorn/prefer-module": "error";
587
- "unicorn/prefer-native-coercion-functions": "error";
588
- "unicorn/prefer-negative-index": "error";
589
- "unicorn/prefer-node-protocol": "error";
590
- "unicorn/prefer-number-coercion": "error";
591
- "unicorn/prefer-number-properties": ["error", {
592
- checkInfinity: true;
593
- checkNaN: true;
594
- }];
595
- "unicorn/prefer-object-from-entries": "error";
596
- "unicorn/prefer-optional-catch-binding": "error";
597
- "unicorn/prefer-prototype-methods": "error";
598
- "unicorn/prefer-query-selector": "error";
599
- "unicorn/prefer-reflect-apply": "error";
600
- "unicorn/prefer-regexp-test": "error";
601
- "unicorn/prefer-response-static-json": "error";
602
- "unicorn/prefer-set-has": "error";
603
- "unicorn/prefer-set-size": "error";
604
- "unicorn/prefer-single-call": "error";
605
- "unicorn/prefer-spread": "error";
606
- "unicorn/prefer-string-raw": "error";
607
- "unicorn/prefer-string-replace-all": "error";
608
- "unicorn/prefer-string-slice": "error";
609
- "unicorn/prefer-string-starts-ends-with": "error";
610
- "unicorn/prefer-string-trim-start-end": "error";
611
- "unicorn/prefer-structured-clone": "error";
612
- "unicorn/prefer-ternary": ["error", "always"];
613
- "unicorn/prefer-top-level-await": "error";
614
- "unicorn/prefer-type-error": "error";
615
- "unicorn/relative-url-style": ["error", "never"];
616
- "unicorn/require-array-join-separator": "error";
617
- "unicorn/require-module-attributes": "error";
618
- "unicorn/require-module-specifiers": "error";
619
- "unicorn/require-number-to-fixed-digits-argument": "error";
620
- "unicorn/require-post-message-target-origin": "error";
621
- "unicorn/switch-case-braces": ["error", "avoid"];
622
- "unicorn/switch-case-break-position": "error";
623
- "unicorn/text-encoding-identifier-case": "error";
624
- "unicorn/throw-new-error": "error";
625
- "vitest/consistent-each-for": "off";
626
- "vitest/consistent-test-filename": "off";
627
- "vitest/consistent-test-it": "off";
628
- "vitest/consistent-vitest-vi": "off";
629
- "vitest/expect-expect": "off";
630
- "vitest/hoisted-apis-on-top": "off";
631
- "vitest/max-expects": "off";
632
- "vitest/max-nested-describe": "off";
633
- "vitest/no-alias-methods": "off";
634
- "vitest/no-commented-out-tests": "off";
635
- "vitest/no-conditional-expect": "off";
636
- "vitest/no-conditional-in-test": "off";
637
- "vitest/no-conditional-tests": "off";
638
- "vitest/no-disabled-tests": "off";
639
- "vitest/no-duplicate-hooks": "off";
640
- "vitest/no-focused-tests": "off";
641
- "vitest/no-hooks": "off";
642
- "vitest/no-identical-title": "off";
643
- "vitest/no-import-node-test": "off";
644
- "vitest/no-importing-vitest-globals": "off";
645
- "vitest/no-interpolation-in-snapshots": "off";
646
- "vitest/no-large-snapshots": "off";
647
- "vitest/no-mocks-import": "off";
648
- "vitest/no-restricted-matchers": "off";
649
- "vitest/no-restricted-vi-methods": "off";
650
- "vitest/no-standalone-expect": "off";
651
- "vitest/no-test-prefixes": "off";
652
- "vitest/no-test-return-statement": "off";
653
- "vitest/no-unneeded-async-expect-function": "off";
654
- "vitest/padding-around-after-all-blocks": "off";
655
- "vitest/padding-around-test-blocks": "off";
656
- "vitest/prefer-called-exactly-once-with": "off";
657
- "vitest/prefer-called-once": "off";
658
- "vitest/prefer-called-times": "off";
659
- "vitest/prefer-called-with": "off";
660
- "vitest/prefer-comparison-matcher": "off";
661
- "vitest/prefer-describe-function-title": "off";
662
- "vitest/prefer-each": "off";
663
- "vitest/prefer-equality-matcher": "off";
664
- "vitest/prefer-expect-assertions": "off";
665
- "vitest/prefer-expect-resolves": "off";
666
- "vitest/prefer-expect-type-of": "off";
667
- "vitest/prefer-hooks-in-order": "off";
668
- "vitest/prefer-hooks-on-top": "off";
669
- "vitest/prefer-import-in-mock": "off";
670
- "vitest/prefer-importing-vitest-globals": "off";
671
- "vitest/prefer-lowercase-title": "off";
672
- "vitest/prefer-mock-promise-shorthand": "off";
673
- "vitest/prefer-mock-return-shorthand": "off";
674
- "vitest/prefer-snapshot-hint": "off";
675
- "vitest/prefer-spy-on": "off";
676
- "vitest/prefer-strict-boolean-matchers": "off";
677
- "vitest/prefer-strict-equal": "off";
678
- "vitest/prefer-to-be": "off";
679
- "vitest/prefer-to-be-falsy": "off";
680
- "vitest/prefer-to-be-object": "off";
681
- "vitest/prefer-to-be-truthy": "off";
682
- "vitest/prefer-to-contain": "off";
683
- "vitest/prefer-to-have-been-called-times": "off";
684
- "vitest/prefer-to-have-length": "off";
685
- "vitest/prefer-todo": "off";
686
- "vitest/require-awaited-expect-poll": "off";
687
- "vitest/require-hook": "off";
688
- "vitest/require-local-test-context-for-concurrent-snapshots": "off";
689
- "vitest/require-mock-type-parameters": "off";
690
- "vitest/require-test-timeout": "off";
691
- "vitest/require-to-throw-message": "off";
692
- "vitest/require-top-level-describe": "off";
693
- "vitest/valid-describe-callback": "off";
694
- "vitest/valid-expect": "off";
695
- "vitest/valid-expect-in-promise": "off";
696
- "vitest/valid-title": "off";
697
- "vitest/warn-todo": "off";
698
- };
699
- overrides: ({
700
- files: string[];
701
- rules: {
702
- "import/no-empty-named-blocks": "off";
703
- "import/no-unassigned-import": "off";
704
- "import/unambiguous": "off";
705
- "typescript/consistent-type-definitions": "off";
706
- "typescript/no-empty-object-type": "off";
707
- "typescript/no-restricted-types": "off";
708
- "typescript/no-useless-empty-export": "off";
709
- "unicorn/require-module-specifiers": "off";
710
- "eslint/getter-return"?: undefined;
711
- "eslint/no-empty-function"?: undefined;
712
- "eslint/no-param-reassign"?: undefined;
713
- "eslint/no-promise-executor-return"?: undefined;
714
- "eslint/no-useless-assignment"?: undefined;
715
- "oxc/approx-constant"?: undefined;
716
- "oxc/no-accumulating-spread"?: undefined;
717
- "oxc/no-map-spread"?: undefined;
718
- "promise/catch-or-return"?: undefined;
719
- "promise/no-callback-in-promise"?: undefined;
720
- "promise/no-promise-in-callback"?: undefined;
721
- "promise/no-return-wrap"?: undefined;
722
- "promise/prefer-await-to-then"?: undefined;
723
- "eslint/no-console"?: undefined;
724
- "typescript/ban-ts-comment"?: undefined;
725
- "typescript/explicit-module-boundary-types"?: undefined;
726
- "typescript/no-explicit-any"?: undefined;
727
- "typescript/no-non-null-assertion"?: undefined;
728
- "typescript/no-unsafe-type-assertion"?: undefined;
729
- "typescript/strict-boolean-expressions"?: undefined;
730
- "typescript/unbound-method"?: undefined;
731
- "typescript/no-base-to-string"?: undefined;
732
- "typescript/no-confusing-void-expression"?: undefined;
733
- "typescript/no-extraneous-class"?: undefined;
734
- "typescript/no-unsafe-argument"?: undefined;
735
- "typescript/no-unsafe-assignment"?: undefined;
736
- "typescript/no-unsafe-call"?: undefined;
737
- "typescript/no-unsafe-declaration-merging"?: undefined;
738
- "typescript/no-unsafe-enum-comparison"?: undefined;
739
- "typescript/no-unsafe-function-type"?: undefined;
740
- "typescript/no-unsafe-member-access"?: undefined;
741
- "typescript/no-unsafe-return"?: undefined;
742
- "typescript/no-unsafe-unary-minus"?: undefined;
743
- "typescript/only-throw-error"?: undefined;
744
- "typescript/restrict-template-expressions"?: undefined;
745
- "typescript/strict-void-return"?: undefined;
746
- "unicorn/consistent-function-scoping"?: undefined;
747
- "unicorn/error-message"?: undefined;
748
- "unicorn/no-array-fill-with-reference-type"?: undefined;
749
- "unicorn/no-useless-promise-resolve-reject"?: undefined;
750
- "unicorn/prefer-single-call"?: undefined;
751
- "vitest/consistent-each-for"?: undefined;
752
- "vitest/consistent-vitest-vi"?: undefined;
753
- "vitest/expect-expect"?: undefined;
754
- "vitest/hoisted-apis-on-top"?: undefined;
755
- "vitest/no-commented-out-tests"?: undefined;
756
- "vitest/no-conditional-expect"?: undefined;
757
- "vitest/no-conditional-in-test"?: undefined;
758
- "vitest/no-disabled-tests"?: undefined;
759
- "vitest/no-duplicate-hooks"?: undefined;
760
- "vitest/no-focused-tests"?: undefined;
761
- "vitest/no-identical-title"?: undefined;
762
- "vitest/no-import-node-test"?: undefined;
763
- "vitest/no-interpolation-in-snapshots"?: undefined;
764
- "vitest/no-mocks-import"?: undefined;
765
- "vitest/no-standalone-expect"?: undefined;
766
- "vitest/no-test-return-statement"?: undefined;
767
- "vitest/no-unneeded-async-expect-function"?: undefined;
768
- "vitest/padding-around-after-all-blocks"?: undefined;
769
- "vitest/padding-around-test-blocks"?: undefined;
770
- "vitest/prefer-called-exactly-once-with"?: undefined;
771
- "vitest/prefer-called-times"?: undefined;
772
- "vitest/prefer-comparison-matcher"?: undefined;
773
- "vitest/prefer-describe-function-title"?: undefined;
774
- "vitest/prefer-each"?: undefined;
775
- "vitest/prefer-equality-matcher"?: undefined;
776
- "vitest/prefer-expect-resolves"?: undefined;
777
- "vitest/prefer-expect-type-of"?: undefined;
778
- "vitest/prefer-hooks-in-order"?: undefined;
779
- "vitest/prefer-hooks-on-top"?: undefined;
780
- "vitest/prefer-mock-promise-shorthand"?: undefined;
781
- "vitest/prefer-mock-return-shorthand"?: undefined;
782
- "vitest/prefer-strict-boolean-matchers"?: undefined;
783
- "vitest/prefer-strict-equal"?: undefined;
784
- "vitest/prefer-to-be"?: undefined;
785
- "vitest/prefer-to-be-object"?: undefined;
786
- "vitest/prefer-to-contain"?: undefined;
787
- "vitest/prefer-to-have-been-called-times"?: undefined;
788
- "vitest/prefer-to-have-length"?: undefined;
789
- "vitest/prefer-todo"?: undefined;
790
- "vitest/require-awaited-expect-poll"?: undefined;
791
- "vitest/require-local-test-context-for-concurrent-snapshots"?: undefined;
792
- "vitest/require-to-throw-message"?: undefined;
793
- "vitest/valid-describe-callback"?: undefined;
794
- "vitest/valid-expect"?: undefined;
795
- "vitest/valid-expect-in-promise"?: undefined;
796
- "vitest/valid-title"?: undefined;
797
- "vitest/warn-todo"?: undefined;
798
- "import/no-anonymous-default-export"?: undefined;
799
- "unicorn/no-empty-file"?: undefined;
800
- };
801
- excludeFiles?: undefined;
802
- } | {
803
- files: string[];
804
- excludeFiles: string[];
805
- rules: {
806
- "import/no-empty-named-blocks"?: undefined;
807
- "typescript/consistent-type-definitions"?: undefined;
808
- "typescript/no-empty-object-type"?: undefined;
809
- "unicorn/require-module-specifiers"?: undefined;
810
- "eslint/getter-return": "off";
811
- "eslint/no-empty-function": "off";
812
- "eslint/no-param-reassign": "off";
813
- "eslint/no-promise-executor-return": "off";
814
- "eslint/no-useless-assignment": "off";
815
- "import/no-unassigned-import": "off";
816
- "import/unambiguous": "off";
817
- "oxc/approx-constant": "off";
818
- "oxc/no-accumulating-spread": "off";
819
- "oxc/no-map-spread": "off";
820
- "promise/catch-or-return": "off";
821
- "promise/no-callback-in-promise": "off";
822
- "promise/no-promise-in-callback": "off";
823
- "promise/no-return-wrap": "off";
824
- "promise/prefer-await-to-then": "off";
825
- "eslint/no-console": "off";
826
- "typescript/ban-ts-comment": "off";
827
- "typescript/explicit-module-boundary-types": "off";
828
- "typescript/no-explicit-any": "off";
829
- "typescript/no-non-null-assertion": "off";
830
- "typescript/no-unsafe-type-assertion": "off";
831
- "typescript/strict-boolean-expressions": "off";
832
- "typescript/unbound-method": "off";
833
- "typescript/no-base-to-string": "off";
834
- "typescript/no-confusing-void-expression": "off";
835
- "typescript/no-extraneous-class": "off";
836
- "typescript/no-restricted-types": "off";
837
- "typescript/no-unsafe-argument": "off";
838
- "typescript/no-unsafe-assignment": "off";
839
- "typescript/no-unsafe-call": "off";
840
- "typescript/no-unsafe-declaration-merging": "off";
841
- "typescript/no-unsafe-enum-comparison": "off";
842
- "typescript/no-unsafe-function-type": "off";
843
- "typescript/no-unsafe-member-access": "off";
844
- "typescript/no-unsafe-return": "off";
845
- "typescript/no-unsafe-unary-minus": "off";
846
- "typescript/only-throw-error": "off";
847
- "typescript/restrict-template-expressions": "off";
848
- "typescript/strict-void-return": "off";
849
- "unicorn/consistent-function-scoping": "off";
850
- "unicorn/error-message": "off";
851
- "unicorn/no-array-fill-with-reference-type": "off";
852
- "unicorn/no-empty-file": "off";
853
- "unicorn/no-useless-promise-resolve-reject": "off";
854
- "unicorn/prefer-single-call": "off";
855
- "vitest/consistent-each-for": ["error", {
856
- test: "each";
857
- describe: "each";
858
- it: "each";
859
- suite: "each";
860
- }];
861
- "vitest/consistent-vitest-vi": "error";
862
- "vitest/expect-expect": "error";
863
- "vitest/hoisted-apis-on-top": "error";
864
- "vitest/no-commented-out-tests": "error";
865
- "vitest/no-conditional-expect": "error";
866
- "vitest/no-conditional-in-test": "error";
867
- "vitest/no-disabled-tests": "error";
868
- "vitest/no-duplicate-hooks": "error";
869
- "vitest/no-focused-tests": "error";
870
- "vitest/no-identical-title": "error";
871
- "vitest/no-import-node-test": "error";
872
- "vitest/no-interpolation-in-snapshots": "error";
873
- "vitest/no-mocks-import": "error";
874
- "vitest/no-standalone-expect": "error";
875
- "vitest/no-test-return-statement": "error";
876
- "vitest/no-unneeded-async-expect-function": "error";
877
- "vitest/padding-around-after-all-blocks": "error";
878
- "vitest/padding-around-test-blocks": "error";
879
- "vitest/prefer-called-exactly-once-with": "error";
880
- "vitest/prefer-called-times": "error";
881
- "vitest/prefer-comparison-matcher": "error";
882
- "vitest/prefer-describe-function-title": "error";
883
- "vitest/prefer-each": "error";
884
- "vitest/prefer-equality-matcher": "error";
885
- "vitest/prefer-expect-resolves": "error";
886
- "vitest/prefer-expect-type-of": "error";
887
- "vitest/prefer-hooks-in-order": "error";
888
- "vitest/prefer-hooks-on-top": "error";
889
- "vitest/prefer-mock-promise-shorthand": "error";
890
- "vitest/prefer-mock-return-shorthand": "error";
891
- "vitest/prefer-strict-boolean-matchers": "error";
892
- "vitest/prefer-strict-equal": "error";
893
- "vitest/prefer-to-be": "error";
894
- "vitest/prefer-to-be-object": "error";
895
- "vitest/prefer-to-contain": "error";
896
- "vitest/prefer-to-have-been-called-times": "error";
897
- "vitest/prefer-to-have-length": "error";
898
- "vitest/prefer-todo": "error";
899
- "vitest/require-awaited-expect-poll": "error";
900
- "vitest/require-local-test-context-for-concurrent-snapshots": "error";
901
- "vitest/require-to-throw-message": "error";
902
- "vitest/valid-describe-callback": "error";
903
- "vitest/valid-expect": "error";
904
- "vitest/valid-expect-in-promise": "error";
905
- "vitest/valid-title": "error";
906
- "vitest/warn-todo": "error";
907
- "import/no-anonymous-default-export"?: undefined;
908
- "typescript/no-useless-empty-export"?: undefined;
909
- };
910
- } | {
911
- excludeFiles?: undefined;
912
- files: string[];
913
- rules: {
914
- "import/no-empty-named-blocks"?: undefined;
915
- "typescript/consistent-type-definitions"?: undefined;
916
- "typescript/no-empty-object-type"?: undefined;
917
- "unicorn/require-module-specifiers"?: undefined;
918
- "eslint/getter-return"?: undefined;
919
- "eslint/no-empty-function"?: undefined;
920
- "eslint/no-param-reassign"?: undefined;
921
- "eslint/no-promise-executor-return"?: undefined;
922
- "eslint/no-useless-assignment"?: undefined;
923
- "oxc/approx-constant"?: undefined;
924
- "oxc/no-accumulating-spread"?: undefined;
925
- "oxc/no-map-spread"?: undefined;
926
- "promise/catch-or-return"?: undefined;
927
- "promise/no-callback-in-promise"?: undefined;
928
- "promise/no-promise-in-callback"?: undefined;
929
- "promise/no-return-wrap"?: undefined;
930
- "promise/prefer-await-to-then"?: undefined;
931
- "eslint/no-console"?: undefined;
932
- "typescript/ban-ts-comment"?: undefined;
933
- "typescript/explicit-module-boundary-types"?: undefined;
934
- "typescript/no-explicit-any"?: undefined;
935
- "typescript/no-non-null-assertion"?: undefined;
936
- "typescript/no-unsafe-type-assertion"?: undefined;
937
- "typescript/strict-boolean-expressions"?: undefined;
938
- "typescript/unbound-method"?: undefined;
939
- "typescript/no-base-to-string"?: undefined;
940
- "typescript/no-confusing-void-expression"?: undefined;
941
- "typescript/no-extraneous-class"?: undefined;
942
- "typescript/no-restricted-types"?: undefined;
943
- "typescript/no-unsafe-argument"?: undefined;
944
- "typescript/no-unsafe-assignment"?: undefined;
945
- "typescript/no-unsafe-call"?: undefined;
946
- "typescript/no-unsafe-declaration-merging"?: undefined;
947
- "typescript/no-unsafe-enum-comparison"?: undefined;
948
- "typescript/no-unsafe-function-type"?: undefined;
949
- "typescript/no-unsafe-member-access"?: undefined;
950
- "typescript/no-unsafe-return"?: undefined;
951
- "typescript/no-unsafe-unary-minus"?: undefined;
952
- "typescript/only-throw-error"?: undefined;
953
- "typescript/restrict-template-expressions"?: undefined;
954
- "typescript/strict-void-return"?: undefined;
955
- "unicorn/consistent-function-scoping"?: undefined;
956
- "unicorn/error-message"?: undefined;
957
- "unicorn/no-array-fill-with-reference-type"?: undefined;
958
- "unicorn/no-useless-promise-resolve-reject"?: undefined;
959
- "unicorn/prefer-single-call"?: undefined;
960
- "vitest/consistent-each-for"?: undefined;
961
- "vitest/consistent-vitest-vi"?: undefined;
962
- "vitest/expect-expect"?: undefined;
963
- "vitest/hoisted-apis-on-top"?: undefined;
964
- "vitest/no-commented-out-tests"?: undefined;
965
- "vitest/no-conditional-expect"?: undefined;
966
- "vitest/no-conditional-in-test"?: undefined;
967
- "vitest/no-disabled-tests"?: undefined;
968
- "vitest/no-duplicate-hooks"?: undefined;
969
- "vitest/no-focused-tests"?: undefined;
970
- "vitest/no-identical-title"?: undefined;
971
- "vitest/no-import-node-test"?: undefined;
972
- "vitest/no-interpolation-in-snapshots"?: undefined;
973
- "vitest/no-mocks-import"?: undefined;
974
- "vitest/no-standalone-expect"?: undefined;
975
- "vitest/no-test-return-statement"?: undefined;
976
- "vitest/no-unneeded-async-expect-function"?: undefined;
977
- "vitest/padding-around-after-all-blocks"?: undefined;
978
- "vitest/padding-around-test-blocks"?: undefined;
979
- "vitest/prefer-called-exactly-once-with"?: undefined;
980
- "vitest/prefer-called-times"?: undefined;
981
- "vitest/prefer-comparison-matcher"?: undefined;
982
- "vitest/prefer-describe-function-title"?: undefined;
983
- "vitest/prefer-each"?: undefined;
984
- "vitest/prefer-equality-matcher"?: undefined;
985
- "vitest/prefer-expect-resolves"?: undefined;
986
- "vitest/prefer-expect-type-of"?: undefined;
987
- "vitest/prefer-hooks-in-order"?: undefined;
988
- "vitest/prefer-hooks-on-top"?: undefined;
989
- "vitest/prefer-mock-promise-shorthand"?: undefined;
990
- "vitest/prefer-mock-return-shorthand"?: undefined;
991
- "vitest/prefer-strict-boolean-matchers"?: undefined;
992
- "vitest/prefer-strict-equal"?: undefined;
993
- "vitest/prefer-to-be"?: undefined;
994
- "vitest/prefer-to-be-object"?: undefined;
995
- "vitest/prefer-to-contain"?: undefined;
996
- "vitest/prefer-to-have-been-called-times"?: undefined;
997
- "vitest/prefer-to-have-length"?: undefined;
998
- "vitest/prefer-todo"?: undefined;
999
- "vitest/require-awaited-expect-poll"?: undefined;
1000
- "vitest/require-local-test-context-for-concurrent-snapshots"?: undefined;
1001
- "vitest/require-to-throw-message"?: undefined;
1002
- "vitest/valid-describe-callback"?: undefined;
1003
- "vitest/valid-expect"?: undefined;
1004
- "vitest/valid-expect-in-promise"?: undefined;
1005
- "vitest/valid-title"?: undefined;
1006
- "vitest/warn-todo"?: undefined;
1007
- "import/no-anonymous-default-export": ["error", {
1008
- allowObject: true;
1009
- }];
1010
- "import/no-unassigned-import": "off";
1011
- "import/unambiguous": "off";
1012
- "typescript/no-useless-empty-export": "off";
1013
- "unicorn/no-empty-file": "off";
1014
- };
1015
- })[];
1016
- };
3
+ /**
4
+ * The base preset. Every key shown is always present, so consumers can spread
5
+ * `config.ignorePatterns`/`config.overrides` without narrowing — the bare {@link OxlintConfig}
6
+ * fields are all optional and `satisfies` would leak `prop?: undefined` members that
7
+ * `exactOptionalPropertyTypes` rejects in `merge`.
8
+ */
9
+ export declare const config: OxlintConfig & Required<Pick<OxlintConfig, "plugins" | "env" | "options" | "settings" | "ignorePatterns" | "rules" | "overrides">>;
1017
10
  //#endregion
1018
11
  //#region src/merge.d.ts
1019
- export declare function merge(...parts: Array<OxlintConfig | undefined>): OxlintConfig;
12
+ /**
13
+ * An {@link OxlintConfig} whose property values may be `undefined` or `null` — merging such a value
14
+ * deletes the key. `exactOptionalPropertyTypes` consumers need the explicit `| undefined` here to
15
+ * express that contract.
16
+ */
17
+ type MergeInput = { [K in keyof OxlintConfig]?: OxlintConfig[K] | null | undefined; };
18
+ export declare function merge(...parts: Array<MergeInput | undefined>): OxlintConfig;
1020
19
  //#endregion
1021
20
  //#region src/react.d.ts
1022
21
  export declare const react: OxlintConfig;
package/dist/index.mjs CHANGED
@@ -1,4 +1,10 @@
1
1
  //#region src/config.ts
2
+ /**
3
+ * The base preset. Every key shown is always present, so consumers can spread
4
+ * `config.ignorePatterns`/`config.overrides` without narrowing — the bare {@link OxlintConfig}
5
+ * fields are all optional and `satisfies` would leak `prop?: undefined` members that
6
+ * `exactOptionalPropertyTypes` rejects in `merge`.
7
+ */
2
8
  const config = {
3
9
  plugins: [
4
10
  "eslint",
@@ -496,7 +502,7 @@ const config = {
496
502
  "unicorn/no-magic-array-flat-depth": "error",
497
503
  "unicorn/no-negated-condition": "error",
498
504
  "unicorn/no-negation-in-equality-check": "error",
499
- "unicorn/no-nested-ternary": "error",
505
+ "unicorn/no-nested-ternary": "off",
500
506
  "unicorn/no-new-array": "error",
501
507
  "unicorn/no-new-buffer": "error",
502
508
  "unicorn/no-null": "off",
@@ -522,7 +528,7 @@ const config = {
522
528
  "unicorn/no-useless-switch-case": "error",
523
529
  "unicorn/no-useless-undefined": "off",
524
530
  "unicorn/no-zero-fractions": "error",
525
- "unicorn/number-literal-case": "error",
531
+ "unicorn/number-literal-case": "off",
526
532
  "unicorn/numeric-separators-style": ["error", { onlyIfContainsSeparator: true }],
527
533
  "unicorn/prefer-add-event-listener": "error",
528
534
  "unicorn/prefer-array-find": "error",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qntx/oxlint",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Shareable Oxlint config for Vite+ apps and TypeScript libraries",
5
5
  "keywords": [
6
6
  "lint",
@@ -16,7 +16,7 @@
16
16
  "url": "https://github.com/qntx/oxc/issues"
17
17
  },
18
18
  "license": "MIT",
19
- "author": "QuantX <x@qntx.fun>",
19
+ "author": "QuantX <x@qntx.org>",
20
20
  "repository": {
21
21
  "type": "git",
22
22
  "url": "git+https://github.com/qntx/oxc.git",
@@ -39,6 +39,7 @@
39
39
  "dev": "vp pack --watch",
40
40
  "test": "bun test",
41
41
  "check": "vp check",
42
+ "typecheck": "tsc --noEmit",
42
43
  "prepublishOnly": "vp run build"
43
44
  },
44
45
  "devDependencies": {