eslint-config-setup 0.3.3 → 0.4.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 +6 -0
- package/dist/configs/0b23ff88.js +134 -23
- package/dist/configs/12c62446.js +155 -9
- package/dist/configs/196d687e.js +277 -46
- package/dist/configs/1c3f743c.js +157 -9
- package/dist/configs/2f6f3a82.js +303 -39
- package/dist/configs/4eb62e57.js +136 -20
- package/dist/configs/52762a42.js +274 -33
- package/dist/configs/532f50a4.js +476 -49
- package/dist/configs/5a302873.js +301 -39
- package/dist/configs/6bc0d588.js +438 -56
- package/dist/configs/91e82988.js +478 -49
- package/dist/configs/c2fecd3d.js +276 -30
- package/dist/configs/cde010b4.js +309 -16
- package/dist/configs/d537b683.js +440 -53
- package/dist/configs/db69ebb6.js +279 -43
- package/dist/configs/e4b137fa.js +307 -16
- 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 +39 -40
- package/dist/modules.js +1136 -1102
- package/dist/modules.js.map +1 -1
- package/dist/oxlint-configs/3047b7d6.json +243 -148
- package/dist/oxlint-configs/58d5e03b.json +242 -148
- package/dist/oxlint-configs/78b40daa.json +274 -158
- package/dist/oxlint-configs/7ff0d87e.json +326 -244
- package/dist/oxlint-configs/85912bf0.json +326 -243
- package/dist/oxlint-configs/9dc42dc3.json +273 -158
- package/dist/oxlint-configs/d46cb9b7.json +351 -246
- package/dist/oxlint-configs/ef643c60.json +352 -246
- package/dist/{types-CAUUIuJR.d.ts → types-CAO1PbsB.d.ts} +7 -7
- package/package.json +32 -31
package/dist/configs/196d687e.js
CHANGED
|
@@ -10,13 +10,11 @@ import importXPlugin from "eslint-plugin-import-x"
|
|
|
10
10
|
import jsdocPlugin from "eslint-plugin-jsdoc"
|
|
11
11
|
import jsonPlugin from "@eslint/json"
|
|
12
12
|
import jsxA11yPlugin from "eslint-plugin-jsx-a11y"
|
|
13
|
-
import nodePlugin from "eslint-plugin-n"
|
|
14
13
|
import oxlintPlugin from "eslint-plugin-oxlint"
|
|
15
14
|
import packageJsonPlugin from "eslint-plugin-package-json"
|
|
16
15
|
import perfectionistPlugin from "eslint-plugin-perfectionist"
|
|
17
16
|
import playwrightPlugin from "eslint-plugin-playwright"
|
|
18
17
|
import reactEffectPlugin from "eslint-plugin-react-you-might-not-need-an-effect"
|
|
19
|
-
import reactHooksPlugin from "eslint-plugin-react-hooks"
|
|
20
18
|
import regexpPlugin from "eslint-plugin-regexp"
|
|
21
19
|
import securityPlugin from "eslint-plugin-security"
|
|
22
20
|
import sonarjsPlugin from "eslint-plugin-sonarjs"
|
|
@@ -28,13 +26,100 @@ import unicornPlugin from "eslint-plugin-unicorn"
|
|
|
28
26
|
import unusedImportsPlugin from "eslint-plugin-unused-imports"
|
|
29
27
|
import vitestPlugin from "@vitest/eslint-plugin"
|
|
30
28
|
|
|
29
|
+
// React compat plugin — merges @eslint-react sub-plugins into a single `react/` namespace
|
|
30
|
+
// and aliases rules to legacy eslint-plugin-react names for OxLint compatibility.
|
|
31
|
+
const reactCompatPlugin = (() => {
|
|
32
|
+
const core = eslintReactPlugin.rules
|
|
33
|
+
const select = (prefix) => Object.fromEntries(
|
|
34
|
+
Object.entries(core)
|
|
35
|
+
.filter(([name]) => name.startsWith(prefix))
|
|
36
|
+
.map(([name, rule]) => [name.slice(prefix.length), rule]),
|
|
37
|
+
)
|
|
38
|
+
const dom = select("dom-")
|
|
39
|
+
const jsx = select("jsx-")
|
|
40
|
+
const naming = select("naming-convention-")
|
|
41
|
+
const rsc = select("rsc-")
|
|
42
|
+
const webApi = select("web-api-")
|
|
43
|
+
|
|
44
|
+
// Legacy aliases: legacy name → [source, original name]
|
|
45
|
+
const aliases = {
|
|
46
|
+
"jsx-key": [core, "no-missing-key"],
|
|
47
|
+
"jsx-key-before-spread": [jsx, "no-key-after-spread"],
|
|
48
|
+
"jsx-no-constructed-context-values": [core, "no-unstable-context-value"],
|
|
49
|
+
"jsx-no-leaked-render": [core, "no-leaked-conditional-rendering"],
|
|
50
|
+
"jsx-no-useless-fragment": [jsx, "no-useless-fragment"],
|
|
51
|
+
"no-object-type-as-default-prop": [core, "no-unstable-default-props"],
|
|
52
|
+
"no-unstable-nested-components": [core, "no-nested-component-definitions"],
|
|
53
|
+
"display-name": [core, "no-missing-component-display-name"],
|
|
54
|
+
"forward-ref-uses-ref": [core, "no-forward-ref"],
|
|
55
|
+
"destructuring-assignment": [core, "prefer-destructuring-assignment"],
|
|
56
|
+
"no-did-mount-set-state": [core, "no-set-state-in-component-did-mount"],
|
|
57
|
+
"no-did-update-set-state": [core, "no-set-state-in-component-did-update"],
|
|
58
|
+
"no-will-update-set-state": [core, "no-set-state-in-component-will-update"],
|
|
59
|
+
"hook-use-state": [core, "use-state"],
|
|
60
|
+
"no-danger": [dom, "no-dangerously-set-innerhtml"],
|
|
61
|
+
"no-danger-with-children": [dom, "no-dangerously-set-innerhtml-with-children"],
|
|
62
|
+
"no-find-dom-node": [dom, "no-find-dom-node"],
|
|
63
|
+
"no-namespace": [jsx, "no-namespace"],
|
|
64
|
+
"no-render-return-value": [dom, "no-render-return-value"],
|
|
65
|
+
"jsx-no-script-url": [dom, "no-script-url"],
|
|
66
|
+
"jsx-no-target-blank": [dom, "no-unsafe-target-blank"],
|
|
67
|
+
"no-unknown-property": [dom, "no-unknown-property"],
|
|
68
|
+
"void-dom-elements-no-children": [dom, "no-void-elements-with-children"],
|
|
69
|
+
"button-has-type": [dom, "no-missing-button-type"],
|
|
70
|
+
"iframe-missing-sandbox": [dom, "no-missing-iframe-sandbox"],
|
|
71
|
+
"style-prop-object": [dom, "no-string-style-prop"],
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Identical-name aliases (core rules where legacy name = @eslint-react name)
|
|
75
|
+
const identicalCore = [
|
|
76
|
+
"no-access-state-in-setstate", "no-array-index-key",
|
|
77
|
+
"no-direct-mutation-state", "no-redundant-should-component-update",
|
|
78
|
+
"no-unused-class-component-members", "no-unused-state",
|
|
79
|
+
]
|
|
80
|
+
for (const n of identicalCore) aliases[n] = [core, n]
|
|
81
|
+
aliases["no-children-prop"] = [jsx, "no-children-prop"]
|
|
82
|
+
aliases["jsx-no-comment-textnodes"] = [jsx, "no-comment-textnodes"]
|
|
83
|
+
|
|
84
|
+
// Build aliased originals set
|
|
85
|
+
const aliasedCore = new Set()
|
|
86
|
+
for (const [src, name] of Object.values(aliases)) {
|
|
87
|
+
if (src === core) aliasedCore.add(name)
|
|
88
|
+
else if (src === dom) aliasedCore.add("dom-" + name)
|
|
89
|
+
else if (src === jsx) aliasedCore.add("jsx-" + name)
|
|
90
|
+
else if (src === naming) aliasedCore.add("naming-convention-" + name)
|
|
91
|
+
else if (src === rsc) aliasedCore.add("rsc-" + name)
|
|
92
|
+
else if (src === webApi) aliasedCore.add("web-api-" + name)
|
|
93
|
+
}
|
|
94
|
+
const rules = {}
|
|
95
|
+
|
|
96
|
+
// Core rules (skip aliased originals)
|
|
97
|
+
for (const [n, r] of Object.entries(core)) { if (!aliasedCore.has(n)) rules[n] = r }
|
|
98
|
+
|
|
99
|
+
// Sub-plugin rules (skip aliased + prefer-namespace-import collision)
|
|
100
|
+
const subs = [[dom, new Set(['prefer-namespace-import'])], [jsx], [webApi], [naming], [rsc]]
|
|
101
|
+
for (const [src, skip] of subs) {
|
|
102
|
+
for (const [n, r] of Object.entries(src)) {
|
|
103
|
+
if (skip && skip.has(n)) continue
|
|
104
|
+
if (Object.values(aliases).some(([s, o]) => s === src && o === n)) continue
|
|
105
|
+
rules[n] = r
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Add legacy aliases
|
|
110
|
+
for (const [legacy, [src, orig]] of Object.entries(aliases)) rules[legacy] = src[orig]
|
|
111
|
+
|
|
112
|
+
return { meta: { name: "react-compat", version: "1.0.0" }, rules }
|
|
113
|
+
})()
|
|
114
|
+
|
|
31
115
|
export default [
|
|
32
116
|
// TypeScript parser setup
|
|
33
117
|
...tseslint.configs.strictTypeChecked.slice(0, 2),
|
|
34
118
|
|
|
35
|
-
// Base rules — all effective rules for
|
|
119
|
+
// Base rules — all effective rules for TS plus shared JS/TS rules
|
|
36
120
|
{
|
|
37
121
|
name: "eslint-config-setup/base",
|
|
122
|
+
ignores: ["**/*.{md,mdx}"],
|
|
38
123
|
plugins: {
|
|
39
124
|
"@cspell": cspellPlugin,
|
|
40
125
|
"@stylistic": stylisticPlugin,
|
|
@@ -44,12 +129,8 @@ export default [
|
|
|
44
129
|
"import": importXPlugin,
|
|
45
130
|
"jsdoc": jsdocPlugin,
|
|
46
131
|
"jsx-a11y": jsxA11yPlugin,
|
|
47
|
-
"node": nodePlugin,
|
|
48
132
|
"perfectionist": perfectionistPlugin,
|
|
49
|
-
"react":
|
|
50
|
-
"react-dom": eslintReactPlugin.configs.dom.plugins["@eslint-react/dom"],
|
|
51
|
-
"react-hooks": reactHooksPlugin,
|
|
52
|
-
"react-web-api": eslintReactPlugin.configs["web-api"].plugins["@eslint-react/web-api"],
|
|
133
|
+
"react": reactCompatPlugin,
|
|
53
134
|
"react-you-might-not-need-an-effect": reactEffectPlugin,
|
|
54
135
|
"regexp": regexpPlugin,
|
|
55
136
|
"security": securityPlugin,
|
|
@@ -93,7 +174,6 @@ export default [
|
|
|
93
174
|
}
|
|
94
175
|
],
|
|
95
176
|
"@typescript-eslint/dot-notation": "error",
|
|
96
|
-
"@typescript-eslint/explicit-member-accessibility": "error",
|
|
97
177
|
"@typescript-eslint/member-ordering": [
|
|
98
178
|
"warn",
|
|
99
179
|
{
|
|
@@ -290,7 +370,12 @@ export default [
|
|
|
290
370
|
"@typescript-eslint/no-for-in-array": "error",
|
|
291
371
|
"@typescript-eslint/no-implied-eval": "error",
|
|
292
372
|
"@typescript-eslint/no-meaningless-void-operator": "error",
|
|
293
|
-
"@typescript-eslint/no-misused-promises":
|
|
373
|
+
"@typescript-eslint/no-misused-promises": [
|
|
374
|
+
"error",
|
|
375
|
+
{
|
|
376
|
+
"checksVoidReturn": false
|
|
377
|
+
}
|
|
378
|
+
],
|
|
294
379
|
"@typescript-eslint/no-misused-spread": "error",
|
|
295
380
|
"@typescript-eslint/no-mixed-enums": "error",
|
|
296
381
|
"@typescript-eslint/no-redundant-type-constituents": "error",
|
|
@@ -400,6 +485,12 @@ export default [
|
|
|
400
485
|
],
|
|
401
486
|
"guard-for-in": "error",
|
|
402
487
|
"import/newline-after-import": "error",
|
|
488
|
+
"import/no-extraneous-dependencies": [
|
|
489
|
+
"error",
|
|
490
|
+
{
|
|
491
|
+
"includeTypes": true
|
|
492
|
+
}
|
|
493
|
+
],
|
|
403
494
|
"import/no-useless-path-segments": "error",
|
|
404
495
|
"jsdoc/check-alignment": "error",
|
|
405
496
|
"jsdoc/check-param-names": "error",
|
|
@@ -444,7 +535,7 @@ export default [
|
|
|
444
535
|
"max-lines-per-function": [
|
|
445
536
|
"error",
|
|
446
537
|
{
|
|
447
|
-
"max":
|
|
538
|
+
"max": 100,
|
|
448
539
|
"skipBlankLines": true,
|
|
449
540
|
"skipComments": true
|
|
450
541
|
}
|
|
@@ -476,6 +567,7 @@ export default [
|
|
|
476
567
|
"no-extra-bind": "error",
|
|
477
568
|
"no-fallthrough": "error",
|
|
478
569
|
"no-implicit-coercion": "error",
|
|
570
|
+
"no-implicit-globals": "error",
|
|
479
571
|
"no-labels": "error",
|
|
480
572
|
"no-lone-blocks": "error",
|
|
481
573
|
"no-lonely-if": "error",
|
|
@@ -505,23 +597,33 @@ export default [
|
|
|
505
597
|
],
|
|
506
598
|
"no-script-url": "error",
|
|
507
599
|
"no-self-compare": "error",
|
|
508
|
-
"no-sequences":
|
|
600
|
+
"no-sequences": [
|
|
601
|
+
"error",
|
|
602
|
+
{
|
|
603
|
+
"allowInParentheses": false
|
|
604
|
+
}
|
|
605
|
+
],
|
|
509
606
|
"no-template-curly-in-string": "error",
|
|
510
607
|
"no-unmodified-loop-condition": "error",
|
|
511
608
|
"no-unneeded-ternary": "error",
|
|
512
609
|
"no-unreachable-loop": "error",
|
|
513
610
|
"no-useless-assignment": "error",
|
|
514
611
|
"no-useless-call": "error",
|
|
515
|
-
"no-useless-computed-key":
|
|
612
|
+
"no-useless-computed-key": [
|
|
613
|
+
"error",
|
|
614
|
+
{
|
|
615
|
+
"enforceForClassMembers": true
|
|
616
|
+
}
|
|
617
|
+
],
|
|
516
618
|
"no-useless-concat": "error",
|
|
517
619
|
"no-useless-return": "error",
|
|
518
620
|
"no-var": "error",
|
|
519
621
|
"no-warning-comments": "warn",
|
|
520
|
-
"node/no-unsupported-features/node-builtins": "error",
|
|
521
622
|
"object-shorthand": [
|
|
522
623
|
"error",
|
|
523
624
|
"always",
|
|
524
625
|
{
|
|
626
|
+
"avoidExplicitReturnArrows": true,
|
|
525
627
|
"avoidQuotes": true
|
|
526
628
|
}
|
|
527
629
|
],
|
|
@@ -556,14 +658,10 @@ export default [
|
|
|
556
658
|
"allowNamedFunctions": true
|
|
557
659
|
}
|
|
558
660
|
],
|
|
559
|
-
"prefer-const":
|
|
560
|
-
"error",
|
|
561
|
-
{
|
|
562
|
-
"destructuring": "all"
|
|
563
|
-
}
|
|
564
|
-
],
|
|
661
|
+
"prefer-const": "error",
|
|
565
662
|
"prefer-exponentiation-operator": "error",
|
|
566
663
|
"prefer-named-capture-group": "error",
|
|
664
|
+
"prefer-numeric-literals": "error",
|
|
567
665
|
"prefer-object-has-own": "error",
|
|
568
666
|
"prefer-object-spread": "error",
|
|
569
667
|
"prefer-regex-literals": "error",
|
|
@@ -572,19 +670,6 @@ export default [
|
|
|
572
670
|
"prefer-template": "error",
|
|
573
671
|
"preserve-caught-error": "error",
|
|
574
672
|
"radix": "error",
|
|
575
|
-
"react-dom/no-dangerously-set-innerhtml": "warn",
|
|
576
|
-
"react-dom/no-dangerously-set-innerhtml-with-children": "error",
|
|
577
|
-
"react-dom/no-missing-button-type": "error",
|
|
578
|
-
"react-dom/no-missing-iframe-sandbox": "error",
|
|
579
|
-
"react-dom/no-string-style-prop": "error",
|
|
580
|
-
"react-dom/no-unknown-property": "error",
|
|
581
|
-
"react-dom/no-unsafe-target-blank": "error",
|
|
582
|
-
"react-dom/no-void-elements-with-children": "error",
|
|
583
|
-
"react-hooks/rules-of-hooks": "error",
|
|
584
|
-
"react-web-api/no-leaked-event-listener": "error",
|
|
585
|
-
"react-web-api/no-leaked-interval": "error",
|
|
586
|
-
"react-web-api/no-leaked-resize-observer": "error",
|
|
587
|
-
"react-web-api/no-leaked-timeout": "error",
|
|
588
673
|
"react-you-might-not-need-an-effect/no-adjust-state-on-prop-change": "warn",
|
|
589
674
|
"react-you-might-not-need-an-effect/no-chain-state-updates": "error",
|
|
590
675
|
"react-you-might-not-need-an-effect/no-derived-state": "error",
|
|
@@ -594,19 +679,62 @@ export default [
|
|
|
594
679
|
"react-you-might-not-need-an-effect/no-pass-data-to-parent": "error",
|
|
595
680
|
"react-you-might-not-need-an-effect/no-pass-live-state-to-parent": "error",
|
|
596
681
|
"react-you-might-not-need-an-effect/no-reset-all-state-on-prop-change": "error",
|
|
597
|
-
"react/
|
|
682
|
+
"react/component-hook-factories": "error",
|
|
683
|
+
"react/context-name": "warn",
|
|
684
|
+
"react/destructuring-assignment": "warn",
|
|
685
|
+
"react/error-boundaries": "error",
|
|
686
|
+
"react/exhaustive-deps": "warn",
|
|
687
|
+
"react/function-definition": "error",
|
|
688
|
+
"react/id-name": "warn",
|
|
689
|
+
"react/jsx-key-before-spread": "error",
|
|
690
|
+
"react/jsx-no-children-prop-with-children": "error",
|
|
691
|
+
"react/jsx-no-leaked-render": "error",
|
|
692
|
+
"react/jsx-no-leaked-semicolon": "warn",
|
|
598
693
|
"react/no-access-state-in-setstate": "error",
|
|
694
|
+
"react/no-children-count": "warn",
|
|
695
|
+
"react/no-children-for-each": "warn",
|
|
696
|
+
"react/no-children-map": "warn",
|
|
697
|
+
"react/no-children-only": "warn",
|
|
698
|
+
"react/no-children-to-array": "warn",
|
|
699
|
+
"react/no-class-component": "error",
|
|
700
|
+
"react/no-component-will-mount": "error",
|
|
701
|
+
"react/no-component-will-receive-props": "error",
|
|
702
|
+
"react/no-component-will-update": "error",
|
|
599
703
|
"react/no-context-provider": "error",
|
|
704
|
+
"react/no-create-ref": "error",
|
|
705
|
+
"react/no-did-update-set-state": "warn",
|
|
600
706
|
"react/no-duplicate-key": "error",
|
|
601
|
-
"react/no-
|
|
602
|
-
"react/no-
|
|
603
|
-
"react/no-
|
|
604
|
-
"react/no-
|
|
605
|
-
"react/no-
|
|
606
|
-
"react/no-
|
|
707
|
+
"react/no-flush-sync": "error",
|
|
708
|
+
"react/no-hydrate": "error",
|
|
709
|
+
"react/no-implicit-key": "error",
|
|
710
|
+
"react/no-leaked-event-listener": "error",
|
|
711
|
+
"react/no-leaked-interval": "error",
|
|
712
|
+
"react/no-leaked-resize-observer": "error",
|
|
713
|
+
"react/no-leaked-timeout": "error",
|
|
714
|
+
"react/no-misused-capture-owner-stack": "error",
|
|
715
|
+
"react/no-nested-lazy-component-declarations": "error",
|
|
716
|
+
"react/no-object-type-as-default-prop": "error",
|
|
717
|
+
"react/no-render": "error",
|
|
718
|
+
"react/no-unnecessary-use-callback": "warn",
|
|
719
|
+
"react/no-unnecessary-use-memo": "warn",
|
|
720
|
+
"react/no-unnecessary-use-prefix": "warn",
|
|
721
|
+
"react/no-unsafe-component-will-mount": "warn",
|
|
722
|
+
"react/no-unsafe-component-will-receive-props": "warn",
|
|
723
|
+
"react/no-unsafe-component-will-update": "warn",
|
|
724
|
+
"react/no-unsafe-iframe-sandbox": "warn",
|
|
725
|
+
"react/no-unstable-nested-components": "error",
|
|
726
|
+
"react/no-unused-class-component-members": "warn",
|
|
727
|
+
"react/no-unused-props": "warn",
|
|
607
728
|
"react/no-unused-state": "error",
|
|
608
729
|
"react/no-use-context": "error",
|
|
609
|
-
"react/no-
|
|
730
|
+
"react/no-use-form-state": "error",
|
|
731
|
+
"react/purity": "warn",
|
|
732
|
+
"react/ref-name": "warn",
|
|
733
|
+
"react/rules-of-hooks": "error",
|
|
734
|
+
"react/set-state-in-effect": "warn",
|
|
735
|
+
"react/set-state-in-render": "error",
|
|
736
|
+
"react/unsupported-syntax": "error",
|
|
737
|
+
"react/use-memo": "error",
|
|
610
738
|
"regexp/confusing-quantifier": "warn",
|
|
611
739
|
"regexp/control-character-escape": "error",
|
|
612
740
|
"regexp/match-any": "error",
|
|
@@ -734,7 +862,6 @@ export default [
|
|
|
734
862
|
"sonarjs/public-static-readonly": "error",
|
|
735
863
|
"sonarjs/reduce-initial-value": "error",
|
|
736
864
|
"symbol-description": "error",
|
|
737
|
-
"unicorn/custom-error-definition": "error",
|
|
738
865
|
"unicorn/no-array-push-push": "error",
|
|
739
866
|
"unicorn/no-for-loop": "error",
|
|
740
867
|
"unicorn/prefer-export-from": [
|
|
@@ -743,7 +870,6 @@ export default [
|
|
|
743
870
|
"ignoreUsedVariables": true
|
|
744
871
|
}
|
|
745
872
|
],
|
|
746
|
-
"unicorn/prefer-import-meta-properties": "error",
|
|
747
873
|
"unicorn/prefer-switch": [
|
|
748
874
|
"error",
|
|
749
875
|
{
|
|
@@ -763,12 +889,17 @@ export default [
|
|
|
763
889
|
rules: {
|
|
764
890
|
"@typescript-eslint/await-thenable": "off",
|
|
765
891
|
"@typescript-eslint/consistent-return": "off",
|
|
892
|
+
"@typescript-eslint/consistent-type-exports": "off",
|
|
766
893
|
"@typescript-eslint/dot-notation": "off",
|
|
894
|
+
"@typescript-eslint/member-ordering": "off",
|
|
895
|
+
"@typescript-eslint/method-signature-style": "off",
|
|
896
|
+
"@typescript-eslint/naming-convention": "off",
|
|
767
897
|
"@typescript-eslint/no-array-delete": "off",
|
|
768
898
|
"@typescript-eslint/no-base-to-string": "off",
|
|
769
899
|
"@typescript-eslint/no-confusing-void-expression": "off",
|
|
770
900
|
"@typescript-eslint/no-deprecated": "off",
|
|
771
901
|
"@typescript-eslint/no-duplicate-type-constituents": "off",
|
|
902
|
+
"@typescript-eslint/no-floating-promises": "off",
|
|
772
903
|
"@typescript-eslint/no-for-in-array": "off",
|
|
773
904
|
"@typescript-eslint/no-implied-eval": "off",
|
|
774
905
|
"@typescript-eslint/no-meaningless-void-operator": "off",
|
|
@@ -790,6 +921,7 @@ export default [
|
|
|
790
921
|
"@typescript-eslint/no-unsafe-enum-comparison": "off",
|
|
791
922
|
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
792
923
|
"@typescript-eslint/no-unsafe-return": "off",
|
|
924
|
+
"@typescript-eslint/no-unsafe-type-assertion": "off",
|
|
793
925
|
"@typescript-eslint/no-unsafe-unary-minus": "off",
|
|
794
926
|
"@typescript-eslint/no-useless-default-assignment": "off",
|
|
795
927
|
"@typescript-eslint/non-nullable-type-assertion-style": "off",
|
|
@@ -800,26 +932,46 @@ export default [
|
|
|
800
932
|
"@typescript-eslint/prefer-nullish-coalescing": "off",
|
|
801
933
|
"@typescript-eslint/prefer-optional-chain": "off",
|
|
802
934
|
"@typescript-eslint/prefer-promise-reject-errors": "off",
|
|
935
|
+
"@typescript-eslint/prefer-readonly": "off",
|
|
803
936
|
"@typescript-eslint/prefer-readonly-parameter-types": "off",
|
|
804
937
|
"@typescript-eslint/prefer-reduce-type-parameter": "off",
|
|
805
938
|
"@typescript-eslint/prefer-regexp-exec": "off",
|
|
806
939
|
"@typescript-eslint/prefer-return-this-type": "off",
|
|
807
940
|
"@typescript-eslint/prefer-string-starts-ends-with": "off",
|
|
941
|
+
"@typescript-eslint/promise-function-async": "off",
|
|
808
942
|
"@typescript-eslint/related-getter-setter-pairs": "off",
|
|
943
|
+
"@typescript-eslint/require-array-sort-compare": "off",
|
|
809
944
|
"@typescript-eslint/require-await": "off",
|
|
810
945
|
"@typescript-eslint/restrict-plus-operands": "off",
|
|
811
946
|
"@typescript-eslint/restrict-template-expressions": "off",
|
|
812
947
|
"@typescript-eslint/return-await": "off",
|
|
813
948
|
"@typescript-eslint/strict-boolean-expressions": "off",
|
|
814
949
|
"@typescript-eslint/strict-void-return": "off",
|
|
950
|
+
"@typescript-eslint/switch-exhaustiveness-check": "off",
|
|
815
951
|
"@typescript-eslint/unbound-method": "off",
|
|
816
952
|
"@typescript-eslint/use-unknown-in-catch-callback-variable": "off",
|
|
953
|
+
"dot-notation": "off",
|
|
817
954
|
"getter-return": "error",
|
|
955
|
+
"no-array-constructor": "off",
|
|
818
956
|
"no-dupe-args": "error",
|
|
957
|
+
"no-empty-function": "off",
|
|
958
|
+
"no-implied-eval": "off",
|
|
819
959
|
"no-new-symbol": "off",
|
|
820
960
|
"no-redeclare": "error",
|
|
961
|
+
"no-return-await": "off",
|
|
962
|
+
"no-shadow": "off",
|
|
963
|
+
"no-throw-literal": "off",
|
|
821
964
|
"no-undef": "error",
|
|
822
|
-
"no-unreachable": "error"
|
|
965
|
+
"no-unreachable": "error",
|
|
966
|
+
"no-useless-constructor": "off",
|
|
967
|
+
"prefer-const": [
|
|
968
|
+
"error",
|
|
969
|
+
{
|
|
970
|
+
"destructuring": "all"
|
|
971
|
+
}
|
|
972
|
+
],
|
|
973
|
+
"prefer-promise-reject-errors": "off",
|
|
974
|
+
"require-await": "off"
|
|
823
975
|
},
|
|
824
976
|
},
|
|
825
977
|
|
|
@@ -866,8 +1018,7 @@ export default [
|
|
|
866
1018
|
"vitest/prefer-strict-equal": "error",
|
|
867
1019
|
"vitest/prefer-to-be": "error",
|
|
868
1020
|
"vitest/prefer-to-have-length": "error",
|
|
869
|
-
"vitest/require-top-level-describe": "error"
|
|
870
|
-
"vitest/valid-title": "error"
|
|
1021
|
+
"vitest/require-top-level-describe": "error"
|
|
871
1022
|
},
|
|
872
1023
|
},
|
|
873
1024
|
|
|
@@ -1048,7 +1199,87 @@ export default [
|
|
|
1048
1199
|
// Markdown/MDX code block linting
|
|
1049
1200
|
{
|
|
1050
1201
|
...mdxPlugin.flatCodeBlocks,
|
|
1202
|
+
languageOptions: {
|
|
1203
|
+
...mdxPlugin.flatCodeBlocks.languageOptions,
|
|
1204
|
+
parserOptions: {
|
|
1205
|
+
...mdxPlugin.flatCodeBlocks.languageOptions?.parserOptions,
|
|
1206
|
+
projectService: false,
|
|
1207
|
+
},
|
|
1208
|
+
},
|
|
1051
1209
|
rules: {
|
|
1210
|
+
...{
|
|
1211
|
+
"@typescript-eslint/await-thenable": "off",
|
|
1212
|
+
"@typescript-eslint/consistent-type-exports": "off",
|
|
1213
|
+
"@typescript-eslint/dot-notation": "off",
|
|
1214
|
+
"@typescript-eslint/member-ordering": "off",
|
|
1215
|
+
"@typescript-eslint/method-signature-style": "off",
|
|
1216
|
+
"@typescript-eslint/naming-convention": "off",
|
|
1217
|
+
"@typescript-eslint/no-array-delete": "off",
|
|
1218
|
+
"@typescript-eslint/no-base-to-string": "off",
|
|
1219
|
+
"@typescript-eslint/no-confusing-void-expression": "off",
|
|
1220
|
+
"@typescript-eslint/no-deprecated": "off",
|
|
1221
|
+
"@typescript-eslint/no-duplicate-type-constituents": "off",
|
|
1222
|
+
"@typescript-eslint/no-floating-promises": "off",
|
|
1223
|
+
"@typescript-eslint/no-for-in-array": "off",
|
|
1224
|
+
"@typescript-eslint/no-implied-eval": "off",
|
|
1225
|
+
"@typescript-eslint/no-meaningless-void-operator": "off",
|
|
1226
|
+
"@typescript-eslint/no-misused-spread": "off",
|
|
1227
|
+
"@typescript-eslint/no-mixed-enums": "off",
|
|
1228
|
+
"@typescript-eslint/no-redundant-type-constituents": "off",
|
|
1229
|
+
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "off",
|
|
1230
|
+
"@typescript-eslint/no-unnecessary-condition": "off",
|
|
1231
|
+
"@typescript-eslint/no-unnecessary-qualifier": "off",
|
|
1232
|
+
"@typescript-eslint/no-unnecessary-template-expression": "off",
|
|
1233
|
+
"@typescript-eslint/no-unnecessary-type-arguments": "off",
|
|
1234
|
+
"@typescript-eslint/no-unnecessary-type-assertion": "off",
|
|
1235
|
+
"@typescript-eslint/no-unnecessary-type-conversion": "off",
|
|
1236
|
+
"@typescript-eslint/no-unnecessary-type-parameters": "off",
|
|
1237
|
+
"@typescript-eslint/no-unsafe-argument": "off",
|
|
1238
|
+
"@typescript-eslint/no-unsafe-assignment": "off",
|
|
1239
|
+
"@typescript-eslint/no-unsafe-call": "off",
|
|
1240
|
+
"@typescript-eslint/no-unsafe-enum-comparison": "off",
|
|
1241
|
+
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
1242
|
+
"@typescript-eslint/no-unsafe-return": "off",
|
|
1243
|
+
"@typescript-eslint/no-unsafe-type-assertion": "off",
|
|
1244
|
+
"@typescript-eslint/no-unsafe-unary-minus": "off",
|
|
1245
|
+
"@typescript-eslint/no-useless-default-assignment": "off",
|
|
1246
|
+
"@typescript-eslint/non-nullable-type-assertion-style": "off",
|
|
1247
|
+
"@typescript-eslint/only-throw-error": "off",
|
|
1248
|
+
"@typescript-eslint/prefer-find": "off",
|
|
1249
|
+
"@typescript-eslint/prefer-includes": "off",
|
|
1250
|
+
"@typescript-eslint/prefer-nullish-coalescing": "off",
|
|
1251
|
+
"@typescript-eslint/prefer-optional-chain": "off",
|
|
1252
|
+
"@typescript-eslint/prefer-promise-reject-errors": "off",
|
|
1253
|
+
"@typescript-eslint/prefer-readonly": "off",
|
|
1254
|
+
"@typescript-eslint/prefer-reduce-type-parameter": "off",
|
|
1255
|
+
"@typescript-eslint/prefer-regexp-exec": "off",
|
|
1256
|
+
"@typescript-eslint/prefer-return-this-type": "off",
|
|
1257
|
+
"@typescript-eslint/prefer-string-starts-ends-with": "off",
|
|
1258
|
+
"@typescript-eslint/promise-function-async": "off",
|
|
1259
|
+
"@typescript-eslint/related-getter-setter-pairs": "off",
|
|
1260
|
+
"@typescript-eslint/require-array-sort-compare": "off",
|
|
1261
|
+
"@typescript-eslint/require-await": "off",
|
|
1262
|
+
"@typescript-eslint/restrict-plus-operands": "off",
|
|
1263
|
+
"@typescript-eslint/restrict-template-expressions": "off",
|
|
1264
|
+
"@typescript-eslint/return-await": "off",
|
|
1265
|
+
"@typescript-eslint/strict-boolean-expressions": "off",
|
|
1266
|
+
"@typescript-eslint/strict-void-return": "off",
|
|
1267
|
+
"@typescript-eslint/switch-exhaustiveness-check": "off",
|
|
1268
|
+
"@typescript-eslint/unbound-method": "off",
|
|
1269
|
+
"@typescript-eslint/use-unknown-in-catch-callback-variable": "off",
|
|
1270
|
+
"dot-notation": "off",
|
|
1271
|
+
"no-array-constructor": "off",
|
|
1272
|
+
"no-empty-function": "off",
|
|
1273
|
+
"no-implied-eval": "off",
|
|
1274
|
+
"no-return-await": "off",
|
|
1275
|
+
"no-shadow": "off",
|
|
1276
|
+
"no-throw-literal": "off",
|
|
1277
|
+
"no-useless-constructor": "off",
|
|
1278
|
+
"prefer-promise-reject-errors": "off",
|
|
1279
|
+
"require-await": "off",
|
|
1280
|
+
"strict": "off",
|
|
1281
|
+
"unicode-bom": "off"
|
|
1282
|
+
},
|
|
1052
1283
|
...mdxPlugin.flatCodeBlocks.rules,
|
|
1053
1284
|
"eol-last": "off",
|
|
1054
1285
|
"no-undef": "off",
|