eslint-config-setup 0.3.3 → 0.5.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/README.md +27 -5
- package/dist/configs/0b23ff88.js +137 -42
- package/dist/configs/12c62446.js +154 -25
- package/dist/configs/196d687e.js +287 -70
- package/dist/configs/1c3f743c.js +157 -26
- package/dist/configs/2f6f3a82.js +308 -57
- package/dist/configs/4eb62e57.js +140 -40
- package/dist/configs/52762a42.js +280 -36
- package/dist/configs/532f50a4.js +485 -48
- package/dist/configs/5a302873.js +305 -56
- package/dist/configs/6bc0d588.js +456 -57
- package/dist/configs/91e82988.js +487 -48
- package/dist/configs/c2fecd3d.js +282 -33
- package/dist/configs/cde010b4.js +313 -17
- package/dist/configs/d537b683.js +458 -54
- package/dist/configs/db69ebb6.js +290 -68
- package/dist/configs/e4b137fa.js +311 -17
- package/dist/index.d.ts +13 -13
- package/dist/index.js +65 -67
- package/dist/index.js.map +1 -1
- package/dist/modules.d.ts +42 -41
- package/dist/modules.js +1183 -1106
- package/dist/modules.js.map +1 -1
- package/dist/oxlint-configs/3047b7d6.json +268 -145
- package/dist/oxlint-configs/58d5e03b.json +266 -144
- package/dist/oxlint-configs/78b40daa.json +301 -155
- package/dist/oxlint-configs/7ff0d87e.json +361 -237
- package/dist/oxlint-configs/85912bf0.json +362 -237
- package/dist/oxlint-configs/9dc42dc3.json +300 -155
- package/dist/oxlint-configs/d46cb9b7.json +397 -241
- package/dist/oxlint-configs/ef643c60.json +398 -241
- package/dist/{types-CAUUIuJR.d.ts → types-CAO1PbsB.d.ts} +7 -7
- package/package.json +42 -39
package/README.md
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# ESLint Config Setup
|
|
2
2
|
|
|
3
|
+
[](https://oss.sebastian-software.com)
|
|
3
4
|
[](https://github.com/sebastian-software/eslint-config-setup/actions/workflows/ci.yml)
|
|
4
5
|
[](https://www.npmjs.com/package/eslint-config-setup)
|
|
5
6
|
[](https://www.npmjs.com/package/eslint-config-setup)
|
|
@@ -7,15 +8,15 @@
|
|
|
7
8
|
[](https://opensource.org/licenses/MIT)
|
|
8
9
|
[](https://nodejs.org)
|
|
9
10
|
[](https://www.typescriptlang.org)
|
|
10
|
-
[](https://eslint.org)
|
|
11
12
|
|
|
12
13
|
The ESLint config for teams that ship with AI and want to move fast.
|
|
13
14
|
|
|
14
15
|
Most ESLint configs compose rules at runtime from dozens of plugins. That means version conflicts, plugin mismatches, and "works on my machine" differences. **ESLint Config Setup** resolves every rule at build time — you get a flat, pre-built config where every rule is already decided. No runtime composition, no surprises.
|
|
15
16
|
|
|
16
17
|
- **AI guardrails** — a dedicated `ai` mode that enforces what code review can't: explicit types, strict naming, no magic values, complexity limits. Rules that humans find tedious are trivial for an AI to follow. The AI doesn't push back. It just fixes the code.
|
|
17
|
-
- **OxLint-ready** — a single `oxlint` flag disables every ESLint rule that OxLint already covers, and `getOxlintConfig()` generates a matching OxLint config. No manual migration, no rule conflicts, no coverage gaps. Run both linters
|
|
18
|
-
- **
|
|
18
|
+
- **OxLint-ready** — a single `oxlint` flag disables every ESLint rule that OxLint already covers, and `getOxlintConfig()` generates a matching OxLint config. No manual migration, no rule conflicts, no coverage gaps. Run both linters and keep the full rule surface.
|
|
19
|
+
- **Curated plugin stack, one import** — TypeScript (`strictTypeChecked`), React 19, import cycles, security, browser compat, spell checking, and more. Every rule pre-resolved at build time. No plugin conflicts, no version mismatches.
|
|
19
20
|
|
|
20
21
|
```typescript
|
|
21
22
|
// eslint.config.ts
|
|
@@ -37,6 +38,8 @@ import { getEslintConfig } from "eslint-config-setup"
|
|
|
37
38
|
export default await getEslintConfig({ react: true })
|
|
38
39
|
```
|
|
39
40
|
|
|
41
|
+
Requires Node.js >= 22, ESLint >= 10, and TypeScript >= 5.0.
|
|
42
|
+
|
|
40
43
|
## Configuration flags
|
|
41
44
|
|
|
42
45
|
| Flag | Default | What it does |
|
|
@@ -64,12 +67,16 @@ export default config
|
|
|
64
67
|
## Documentation
|
|
65
68
|
|
|
66
69
|
- [Getting Started](https://sebastian-software.github.io/eslint-config-setup/guide/getting-started) — installation and setup
|
|
70
|
+
- [React Linting](https://sebastian-software.github.io/eslint-config-setup/guide/react) — React 19 rules, compat layer, and OxLint acceleration
|
|
67
71
|
- [AI Mode](https://sebastian-software.github.io/eslint-config-setup/guide/ai-mode) — why AI-generated code needs different rules
|
|
68
72
|
- [OxLint Integration](https://sebastian-software.github.io/eslint-config-setup/guide/oxlint) — run ESLint + OxLint without conflicts
|
|
69
|
-
- [
|
|
73
|
+
- [Included Plugins](https://sebastian-software.github.io/eslint-config-setup/guide/plugins) — what's included and why
|
|
70
74
|
- [Configuration](https://sebastian-software.github.io/eslint-config-setup/guide/configuration) — flags and usage examples
|
|
71
75
|
- [Rule API](https://sebastian-software.github.io/eslint-config-setup/guide/rule-api) — rule manipulation and scoped overrides
|
|
76
|
+
- [File Conventions](https://sebastian-software.github.io/eslint-config-setup/guide/file-conventions) — automatic test/config/story/script overrides
|
|
77
|
+
- [Modular Imports](https://sebastian-software.github.io/eslint-config-setup/guide/modular-imports) — compose individual config blocks manually
|
|
72
78
|
- [Architecture](https://sebastian-software.github.io/eslint-config-setup/guide/architecture) — how pre-generation works
|
|
79
|
+
- [Contributing](https://sebastian-software.github.io/eslint-config-setup/guide/contributing) — monorepo workflow, self-linting, and hooks
|
|
73
80
|
|
|
74
81
|
## Contributing
|
|
75
82
|
|
|
@@ -77,4 +84,19 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, architecture overv
|
|
|
77
84
|
|
|
78
85
|
## License
|
|
79
86
|
|
|
80
|
-
[MIT](LICENSE)
|
|
87
|
+
[MIT](LICENSE)
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
<!-- sebastian-software-branding:start -->
|
|
92
|
+
<p align="center">
|
|
93
|
+
<a href="https://oss.sebastian-software.com">
|
|
94
|
+
<img src="https://sebastian-brand.vercel.app/sebastian-software/logo-software.svg" alt="Sebastian Software" width="240" />
|
|
95
|
+
</a>
|
|
96
|
+
</p>
|
|
97
|
+
|
|
98
|
+
<p align="center">
|
|
99
|
+
<a href="https://oss.sebastian-software.com">Open Source at Sebastian Software</a><br />
|
|
100
|
+
Copyright © 2026 Sebastian Software GmbH
|
|
101
|
+
</p>
|
|
102
|
+
<!-- sebastian-software-branding:end -->
|
package/dist/configs/0b23ff88.js
CHANGED
|
@@ -7,8 +7,6 @@ import deMorganPlugin from "eslint-plugin-de-morgan"
|
|
|
7
7
|
import importXPlugin from "eslint-plugin-import-x"
|
|
8
8
|
import jsdocPlugin from "eslint-plugin-jsdoc"
|
|
9
9
|
import jsonPlugin from "@eslint/json"
|
|
10
|
-
import jsxA11yPlugin from "eslint-plugin-jsx-a11y"
|
|
11
|
-
import nodePlugin from "eslint-plugin-n"
|
|
12
10
|
import oxlintPlugin from "eslint-plugin-oxlint"
|
|
13
11
|
import packageJsonPlugin from "eslint-plugin-package-json"
|
|
14
12
|
import perfectionistPlugin from "eslint-plugin-perfectionist"
|
|
@@ -27,9 +25,10 @@ export default [
|
|
|
27
25
|
// TypeScript parser setup
|
|
28
26
|
...tseslint.configs.strictTypeChecked.slice(0, 2),
|
|
29
27
|
|
|
30
|
-
// Base rules — all effective rules for
|
|
28
|
+
// Base rules — all effective rules for TS plus shared JS/TS rules
|
|
31
29
|
{
|
|
32
30
|
name: "eslint-config-setup/base",
|
|
31
|
+
ignores: ["**/*.{md,mdx}"],
|
|
33
32
|
plugins: {
|
|
34
33
|
"@cspell": cspellPlugin,
|
|
35
34
|
"@typescript-eslint": tseslint.plugin,
|
|
@@ -37,8 +36,6 @@ export default [
|
|
|
37
36
|
"de-morgan": deMorganPlugin,
|
|
38
37
|
"import": importXPlugin,
|
|
39
38
|
"jsdoc": jsdocPlugin,
|
|
40
|
-
"jsx-a11y": jsxA11yPlugin,
|
|
41
|
-
"node": nodePlugin,
|
|
42
39
|
"perfectionist": perfectionistPlugin,
|
|
43
40
|
"regexp": regexpPlugin,
|
|
44
41
|
"security": securityPlugin,
|
|
@@ -70,7 +67,6 @@ export default [
|
|
|
70
67
|
}
|
|
71
68
|
],
|
|
72
69
|
"@typescript-eslint/dot-notation": "error",
|
|
73
|
-
"@typescript-eslint/explicit-member-accessibility": "error",
|
|
74
70
|
"@typescript-eslint/member-ordering": [
|
|
75
71
|
"warn",
|
|
76
72
|
{
|
|
@@ -130,10 +126,6 @@ export default [
|
|
|
130
126
|
]
|
|
131
127
|
}
|
|
132
128
|
],
|
|
133
|
-
"@typescript-eslint/method-signature-style": [
|
|
134
|
-
"error",
|
|
135
|
-
"property"
|
|
136
|
-
],
|
|
137
129
|
"@typescript-eslint/naming-convention": [
|
|
138
130
|
"error",
|
|
139
131
|
{
|
|
@@ -374,7 +366,12 @@ export default [
|
|
|
374
366
|
"getBeforeSet"
|
|
375
367
|
],
|
|
376
368
|
"guard-for-in": "error",
|
|
377
|
-
"import/
|
|
369
|
+
"import/no-extraneous-dependencies": [
|
|
370
|
+
"error",
|
|
371
|
+
{
|
|
372
|
+
"includeTypes": true
|
|
373
|
+
}
|
|
374
|
+
],
|
|
378
375
|
"import/no-useless-path-segments": "error",
|
|
379
376
|
"jsdoc/check-alignment": "error",
|
|
380
377
|
"jsdoc/check-param-names": "error",
|
|
@@ -390,13 +387,9 @@ export default [
|
|
|
390
387
|
"jsdoc/reject-function-type": "error",
|
|
391
388
|
"jsdoc/require-next-type": "error",
|
|
392
389
|
"jsdoc/require-returns-check": "error",
|
|
393
|
-
"jsdoc/require-throws-type": "error",
|
|
394
390
|
"jsdoc/require-yields-check": "error",
|
|
395
|
-
"jsdoc/require-yields-type": "error",
|
|
396
391
|
"jsdoc/ts-no-empty-object-type": "error",
|
|
397
392
|
"jsdoc/valid-types": "error",
|
|
398
|
-
"jsx-a11y/interactive-supports-focus": "error",
|
|
399
|
-
"jsx-a11y/no-noninteractive-element-interactions": "error",
|
|
400
393
|
"logical-assignment-operators": [
|
|
401
394
|
"error",
|
|
402
395
|
"always",
|
|
@@ -419,7 +412,7 @@ export default [
|
|
|
419
412
|
"max-lines-per-function": [
|
|
420
413
|
"error",
|
|
421
414
|
{
|
|
422
|
-
"max":
|
|
415
|
+
"max": 100,
|
|
423
416
|
"skipBlankLines": true,
|
|
424
417
|
"skipComments": true
|
|
425
418
|
}
|
|
@@ -451,6 +444,7 @@ export default [
|
|
|
451
444
|
"no-extra-bind": "error",
|
|
452
445
|
"no-fallthrough": "error",
|
|
453
446
|
"no-implicit-coercion": "error",
|
|
447
|
+
"no-implicit-globals": "error",
|
|
454
448
|
"no-labels": "error",
|
|
455
449
|
"no-lone-blocks": "error",
|
|
456
450
|
"no-lonely-if": "error",
|
|
@@ -480,23 +474,33 @@ export default [
|
|
|
480
474
|
],
|
|
481
475
|
"no-script-url": "error",
|
|
482
476
|
"no-self-compare": "error",
|
|
483
|
-
"no-sequences":
|
|
477
|
+
"no-sequences": [
|
|
478
|
+
"error",
|
|
479
|
+
{
|
|
480
|
+
"allowInParentheses": false
|
|
481
|
+
}
|
|
482
|
+
],
|
|
484
483
|
"no-template-curly-in-string": "error",
|
|
485
484
|
"no-unmodified-loop-condition": "error",
|
|
486
485
|
"no-unneeded-ternary": "error",
|
|
487
486
|
"no-unreachable-loop": "error",
|
|
488
487
|
"no-useless-assignment": "error",
|
|
489
488
|
"no-useless-call": "error",
|
|
490
|
-
"no-useless-computed-key":
|
|
489
|
+
"no-useless-computed-key": [
|
|
490
|
+
"error",
|
|
491
|
+
{
|
|
492
|
+
"enforceForClassMembers": true
|
|
493
|
+
}
|
|
494
|
+
],
|
|
491
495
|
"no-useless-concat": "error",
|
|
492
496
|
"no-useless-return": "error",
|
|
493
497
|
"no-var": "error",
|
|
494
498
|
"no-warning-comments": "warn",
|
|
495
|
-
"node/no-unsupported-features/node-builtins": "error",
|
|
496
499
|
"object-shorthand": [
|
|
497
500
|
"error",
|
|
498
501
|
"always",
|
|
499
502
|
{
|
|
503
|
+
"avoidExplicitReturnArrows": true,
|
|
500
504
|
"avoidQuotes": true
|
|
501
505
|
}
|
|
502
506
|
],
|
|
@@ -531,14 +535,10 @@ export default [
|
|
|
531
535
|
"allowNamedFunctions": true
|
|
532
536
|
}
|
|
533
537
|
],
|
|
534
|
-
"prefer-const":
|
|
535
|
-
"error",
|
|
536
|
-
{
|
|
537
|
-
"destructuring": "all"
|
|
538
|
-
}
|
|
539
|
-
],
|
|
538
|
+
"prefer-const": "error",
|
|
540
539
|
"prefer-exponentiation-operator": "error",
|
|
541
540
|
"prefer-named-capture-group": "error",
|
|
541
|
+
"prefer-numeric-literals": "error",
|
|
542
542
|
"prefer-object-has-own": "error",
|
|
543
543
|
"prefer-object-spread": "error",
|
|
544
544
|
"prefer-regex-literals": "error",
|
|
@@ -674,16 +674,9 @@ export default [
|
|
|
674
674
|
"sonarjs/public-static-readonly": "error",
|
|
675
675
|
"sonarjs/reduce-initial-value": "error",
|
|
676
676
|
"symbol-description": "error",
|
|
677
|
-
"unicorn/custom-error-definition": "error",
|
|
678
677
|
"unicorn/no-array-push-push": "error",
|
|
678
|
+
"unicorn/no-for-each": "error",
|
|
679
679
|
"unicorn/no-for-loop": "error",
|
|
680
|
-
"unicorn/prefer-export-from": [
|
|
681
|
-
"error",
|
|
682
|
-
{
|
|
683
|
-
"ignoreUsedVariables": true
|
|
684
|
-
}
|
|
685
|
-
],
|
|
686
|
-
"unicorn/prefer-import-meta-properties": "error",
|
|
687
680
|
"unicorn/prefer-switch": [
|
|
688
681
|
"error",
|
|
689
682
|
{
|
|
@@ -703,12 +696,16 @@ export default [
|
|
|
703
696
|
rules: {
|
|
704
697
|
"@typescript-eslint/await-thenable": "off",
|
|
705
698
|
"@typescript-eslint/consistent-return": "off",
|
|
699
|
+
"@typescript-eslint/consistent-type-exports": "off",
|
|
706
700
|
"@typescript-eslint/dot-notation": "off",
|
|
701
|
+
"@typescript-eslint/member-ordering": "off",
|
|
702
|
+
"@typescript-eslint/naming-convention": "off",
|
|
707
703
|
"@typescript-eslint/no-array-delete": "off",
|
|
708
704
|
"@typescript-eslint/no-base-to-string": "off",
|
|
709
705
|
"@typescript-eslint/no-confusing-void-expression": "off",
|
|
710
706
|
"@typescript-eslint/no-deprecated": "off",
|
|
711
707
|
"@typescript-eslint/no-duplicate-type-constituents": "off",
|
|
708
|
+
"@typescript-eslint/no-floating-promises": "off",
|
|
712
709
|
"@typescript-eslint/no-for-in-array": "off",
|
|
713
710
|
"@typescript-eslint/no-implied-eval": "off",
|
|
714
711
|
"@typescript-eslint/no-meaningless-void-operator": "off",
|
|
@@ -730,6 +727,7 @@ export default [
|
|
|
730
727
|
"@typescript-eslint/no-unsafe-enum-comparison": "off",
|
|
731
728
|
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
732
729
|
"@typescript-eslint/no-unsafe-return": "off",
|
|
730
|
+
"@typescript-eslint/no-unsafe-type-assertion": "off",
|
|
733
731
|
"@typescript-eslint/no-unsafe-unary-minus": "off",
|
|
734
732
|
"@typescript-eslint/no-useless-default-assignment": "off",
|
|
735
733
|
"@typescript-eslint/non-nullable-type-assertion-style": "off",
|
|
@@ -740,26 +738,44 @@ export default [
|
|
|
740
738
|
"@typescript-eslint/prefer-nullish-coalescing": "off",
|
|
741
739
|
"@typescript-eslint/prefer-optional-chain": "off",
|
|
742
740
|
"@typescript-eslint/prefer-promise-reject-errors": "off",
|
|
741
|
+
"@typescript-eslint/prefer-readonly": "off",
|
|
743
742
|
"@typescript-eslint/prefer-readonly-parameter-types": "off",
|
|
744
743
|
"@typescript-eslint/prefer-reduce-type-parameter": "off",
|
|
745
744
|
"@typescript-eslint/prefer-regexp-exec": "off",
|
|
746
745
|
"@typescript-eslint/prefer-return-this-type": "off",
|
|
747
746
|
"@typescript-eslint/prefer-string-starts-ends-with": "off",
|
|
747
|
+
"@typescript-eslint/promise-function-async": "off",
|
|
748
748
|
"@typescript-eslint/related-getter-setter-pairs": "off",
|
|
749
|
+
"@typescript-eslint/require-array-sort-compare": "off",
|
|
749
750
|
"@typescript-eslint/require-await": "off",
|
|
750
751
|
"@typescript-eslint/restrict-plus-operands": "off",
|
|
751
752
|
"@typescript-eslint/restrict-template-expressions": "off",
|
|
752
753
|
"@typescript-eslint/return-await": "off",
|
|
753
754
|
"@typescript-eslint/strict-boolean-expressions": "off",
|
|
754
755
|
"@typescript-eslint/strict-void-return": "off",
|
|
756
|
+
"@typescript-eslint/switch-exhaustiveness-check": "off",
|
|
755
757
|
"@typescript-eslint/unbound-method": "off",
|
|
756
758
|
"@typescript-eslint/use-unknown-in-catch-callback-variable": "off",
|
|
757
|
-
"
|
|
759
|
+
"dot-notation": "off",
|
|
760
|
+
"no-array-constructor": "off",
|
|
758
761
|
"no-dupe-args": "error",
|
|
762
|
+
"no-empty-function": "off",
|
|
763
|
+
"no-implied-eval": "off",
|
|
759
764
|
"no-new-symbol": "off",
|
|
760
765
|
"no-redeclare": "error",
|
|
766
|
+
"no-return-await": "off",
|
|
767
|
+
"no-shadow": "off",
|
|
768
|
+
"no-throw-literal": "off",
|
|
761
769
|
"no-undef": "error",
|
|
762
|
-
"no-
|
|
770
|
+
"no-useless-constructor": "off",
|
|
771
|
+
"prefer-const": [
|
|
772
|
+
"error",
|
|
773
|
+
{
|
|
774
|
+
"destructuring": "all"
|
|
775
|
+
}
|
|
776
|
+
],
|
|
777
|
+
"prefer-promise-reject-errors": "off",
|
|
778
|
+
"require-await": "off"
|
|
763
779
|
},
|
|
764
780
|
},
|
|
765
781
|
|
|
@@ -806,8 +822,7 @@ export default [
|
|
|
806
822
|
"vitest/prefer-strict-equal": "error",
|
|
807
823
|
"vitest/prefer-to-be": "error",
|
|
808
824
|
"vitest/prefer-to-have-length": "error",
|
|
809
|
-
"vitest/require-top-level-describe": "error"
|
|
810
|
-
"vitest/valid-title": "error"
|
|
825
|
+
"vitest/require-top-level-describe": "error"
|
|
811
826
|
},
|
|
812
827
|
},
|
|
813
828
|
|
|
@@ -988,7 +1003,87 @@ export default [
|
|
|
988
1003
|
// Markdown/MDX code block linting
|
|
989
1004
|
{
|
|
990
1005
|
...mdxPlugin.flatCodeBlocks,
|
|
1006
|
+
languageOptions: {
|
|
1007
|
+
...mdxPlugin.flatCodeBlocks.languageOptions,
|
|
1008
|
+
parserOptions: {
|
|
1009
|
+
...mdxPlugin.flatCodeBlocks.languageOptions?.parserOptions,
|
|
1010
|
+
projectService: false,
|
|
1011
|
+
},
|
|
1012
|
+
},
|
|
991
1013
|
rules: {
|
|
1014
|
+
...{
|
|
1015
|
+
"@typescript-eslint/await-thenable": "off",
|
|
1016
|
+
"@typescript-eslint/consistent-type-exports": "off",
|
|
1017
|
+
"@typescript-eslint/dot-notation": "off",
|
|
1018
|
+
"@typescript-eslint/member-ordering": "off",
|
|
1019
|
+
"@typescript-eslint/naming-convention": "off",
|
|
1020
|
+
"@typescript-eslint/no-array-delete": "off",
|
|
1021
|
+
"@typescript-eslint/no-base-to-string": "off",
|
|
1022
|
+
"@typescript-eslint/no-confusing-void-expression": "off",
|
|
1023
|
+
"@typescript-eslint/no-deprecated": "off",
|
|
1024
|
+
"@typescript-eslint/no-duplicate-type-constituents": "off",
|
|
1025
|
+
"@typescript-eslint/no-floating-promises": "off",
|
|
1026
|
+
"@typescript-eslint/no-for-in-array": "off",
|
|
1027
|
+
"@typescript-eslint/no-implied-eval": "off",
|
|
1028
|
+
"@typescript-eslint/no-meaningless-void-operator": "off",
|
|
1029
|
+
"@typescript-eslint/no-misused-promises": "off",
|
|
1030
|
+
"@typescript-eslint/no-misused-spread": "off",
|
|
1031
|
+
"@typescript-eslint/no-mixed-enums": "off",
|
|
1032
|
+
"@typescript-eslint/no-redundant-type-constituents": "off",
|
|
1033
|
+
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "off",
|
|
1034
|
+
"@typescript-eslint/no-unnecessary-condition": "off",
|
|
1035
|
+
"@typescript-eslint/no-unnecessary-qualifier": "off",
|
|
1036
|
+
"@typescript-eslint/no-unnecessary-template-expression": "off",
|
|
1037
|
+
"@typescript-eslint/no-unnecessary-type-arguments": "off",
|
|
1038
|
+
"@typescript-eslint/no-unnecessary-type-assertion": "off",
|
|
1039
|
+
"@typescript-eslint/no-unnecessary-type-conversion": "off",
|
|
1040
|
+
"@typescript-eslint/no-unnecessary-type-parameters": "off",
|
|
1041
|
+
"@typescript-eslint/no-unsafe-argument": "off",
|
|
1042
|
+
"@typescript-eslint/no-unsafe-assignment": "off",
|
|
1043
|
+
"@typescript-eslint/no-unsafe-call": "off",
|
|
1044
|
+
"@typescript-eslint/no-unsafe-enum-comparison": "off",
|
|
1045
|
+
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
1046
|
+
"@typescript-eslint/no-unsafe-return": "off",
|
|
1047
|
+
"@typescript-eslint/no-unsafe-type-assertion": "off",
|
|
1048
|
+
"@typescript-eslint/no-unsafe-unary-minus": "off",
|
|
1049
|
+
"@typescript-eslint/no-useless-default-assignment": "off",
|
|
1050
|
+
"@typescript-eslint/non-nullable-type-assertion-style": "off",
|
|
1051
|
+
"@typescript-eslint/only-throw-error": "off",
|
|
1052
|
+
"@typescript-eslint/prefer-find": "off",
|
|
1053
|
+
"@typescript-eslint/prefer-includes": "off",
|
|
1054
|
+
"@typescript-eslint/prefer-nullish-coalescing": "off",
|
|
1055
|
+
"@typescript-eslint/prefer-optional-chain": "off",
|
|
1056
|
+
"@typescript-eslint/prefer-promise-reject-errors": "off",
|
|
1057
|
+
"@typescript-eslint/prefer-readonly": "off",
|
|
1058
|
+
"@typescript-eslint/prefer-reduce-type-parameter": "off",
|
|
1059
|
+
"@typescript-eslint/prefer-regexp-exec": "off",
|
|
1060
|
+
"@typescript-eslint/prefer-return-this-type": "off",
|
|
1061
|
+
"@typescript-eslint/prefer-string-starts-ends-with": "off",
|
|
1062
|
+
"@typescript-eslint/promise-function-async": "off",
|
|
1063
|
+
"@typescript-eslint/related-getter-setter-pairs": "off",
|
|
1064
|
+
"@typescript-eslint/require-array-sort-compare": "off",
|
|
1065
|
+
"@typescript-eslint/require-await": "off",
|
|
1066
|
+
"@typescript-eslint/restrict-plus-operands": "off",
|
|
1067
|
+
"@typescript-eslint/restrict-template-expressions": "off",
|
|
1068
|
+
"@typescript-eslint/return-await": "off",
|
|
1069
|
+
"@typescript-eslint/strict-boolean-expressions": "off",
|
|
1070
|
+
"@typescript-eslint/strict-void-return": "off",
|
|
1071
|
+
"@typescript-eslint/switch-exhaustiveness-check": "off",
|
|
1072
|
+
"@typescript-eslint/unbound-method": "off",
|
|
1073
|
+
"@typescript-eslint/use-unknown-in-catch-callback-variable": "off",
|
|
1074
|
+
"dot-notation": "off",
|
|
1075
|
+
"no-array-constructor": "off",
|
|
1076
|
+
"no-empty-function": "off",
|
|
1077
|
+
"no-implied-eval": "off",
|
|
1078
|
+
"no-return-await": "off",
|
|
1079
|
+
"no-shadow": "off",
|
|
1080
|
+
"no-throw-literal": "off",
|
|
1081
|
+
"no-useless-constructor": "off",
|
|
1082
|
+
"prefer-promise-reject-errors": "off",
|
|
1083
|
+
"require-await": "off",
|
|
1084
|
+
"strict": "off",
|
|
1085
|
+
"unicode-bom": "off"
|
|
1086
|
+
},
|
|
992
1087
|
...mdxPlugin.flatCodeBlocks.rules,
|
|
993
1088
|
"eol-last": "off",
|
|
994
1089
|
"no-undef": "off",
|
|
@@ -1001,10 +1096,10 @@ export default [
|
|
|
1001
1096
|
},
|
|
1002
1097
|
|
|
1003
1098
|
// OxLint integration — disables rules already covered by OxLint
|
|
1004
|
-
...[oxlintPlugin.configs["flat/recommended"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint"
|
|
1005
|
-
...[oxlintPlugin.configs["flat/typescript"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-typescript"
|
|
1006
|
-
...[oxlintPlugin.configs["flat/unicorn"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-unicorn"
|
|
1007
|
-
...[oxlintPlugin.configs["flat/import"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-import"
|
|
1008
|
-
...[oxlintPlugin.configs["flat/jsdoc"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-jsdoc"
|
|
1099
|
+
...[oxlintPlugin.configs["flat/recommended"]].flat().map((c, index, array) => ({ ...c, name: "eslint-config-setup/oxlint" + (array.length > 1 ? "-" + (index + 1) : "") })),
|
|
1100
|
+
...[oxlintPlugin.configs["flat/typescript"]].flat().map((c, index, array) => ({ ...c, name: "eslint-config-setup/oxlint-typescript" + (array.length > 1 ? "-" + (index + 1) : "") })),
|
|
1101
|
+
...[oxlintPlugin.configs["flat/unicorn"]].flat().map((c, index, array) => ({ ...c, name: "eslint-config-setup/oxlint-unicorn" + (array.length > 1 ? "-" + (index + 1) : "") })),
|
|
1102
|
+
...[oxlintPlugin.configs["flat/import"]].flat().map((c, index, array) => ({ ...c, name: "eslint-config-setup/oxlint-import" + (array.length > 1 ? "-" + (index + 1) : "") })),
|
|
1103
|
+
...[oxlintPlugin.configs["flat/jsdoc"]].flat().map((c, index, array) => ({ ...c, name: "eslint-config-setup/oxlint-jsdoc" + (array.length > 1 ? "-" + (index + 1) : "") })),
|
|
1009
1104
|
|
|
1010
1105
|
]
|