eslint-config-setup 0.3.2 → 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 +138 -24
- package/dist/configs/12c62446.js +155 -9
- package/dist/configs/196d687e.js +281 -47
- package/dist/configs/1c3f743c.js +157 -9
- package/dist/configs/2f6f3a82.js +303 -39
- package/dist/configs/4eb62e57.js +140 -21
- package/dist/configs/52762a42.js +278 -34
- package/dist/configs/532f50a4.js +476 -49
- package/dist/configs/5a302873.js +301 -39
- package/dist/configs/6bc0d588.js +442 -57
- package/dist/configs/91e82988.js +478 -49
- package/dist/configs/c2fecd3d.js +280 -31
- package/dist/configs/cde010b4.js +309 -16
- package/dist/configs/d537b683.js +444 -54
- package/dist/configs/db69ebb6.js +283 -44
- 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 -1105
- 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/db69ebb6.js
CHANGED
|
@@ -15,7 +15,6 @@ import packageJsonPlugin from "eslint-plugin-package-json"
|
|
|
15
15
|
import perfectionistPlugin from "eslint-plugin-perfectionist"
|
|
16
16
|
import playwrightPlugin from "eslint-plugin-playwright"
|
|
17
17
|
import reactEffectPlugin from "eslint-plugin-react-you-might-not-need-an-effect"
|
|
18
|
-
import reactHooksPlugin from "eslint-plugin-react-hooks"
|
|
19
18
|
import regexpPlugin from "eslint-plugin-regexp"
|
|
20
19
|
import securityPlugin from "eslint-plugin-security"
|
|
21
20
|
import sonarjsPlugin from "eslint-plugin-sonarjs"
|
|
@@ -27,13 +26,100 @@ import unicornPlugin from "eslint-plugin-unicorn"
|
|
|
27
26
|
import unusedImportsPlugin from "eslint-plugin-unused-imports"
|
|
28
27
|
import vitestPlugin from "@vitest/eslint-plugin"
|
|
29
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
|
+
|
|
30
115
|
export default [
|
|
31
116
|
// TypeScript parser setup
|
|
32
117
|
...tseslint.configs.strictTypeChecked.slice(0, 2),
|
|
33
118
|
|
|
34
|
-
// Base rules — all effective rules for
|
|
119
|
+
// Base rules — all effective rules for TS plus shared JS/TS rules
|
|
35
120
|
{
|
|
36
121
|
name: "eslint-config-setup/base",
|
|
122
|
+
ignores: ["**/*.{md,mdx}"],
|
|
37
123
|
plugins: {
|
|
38
124
|
"@cspell": cspellPlugin,
|
|
39
125
|
"@stylistic": stylisticPlugin,
|
|
@@ -44,10 +130,7 @@ export default [
|
|
|
44
130
|
"jsx-a11y": jsxA11yPlugin,
|
|
45
131
|
"node": nodePlugin,
|
|
46
132
|
"perfectionist": perfectionistPlugin,
|
|
47
|
-
"react":
|
|
48
|
-
"react-dom": eslintReactPlugin.configs.dom.plugins["@eslint-react/dom"],
|
|
49
|
-
"react-hooks": reactHooksPlugin,
|
|
50
|
-
"react-web-api": eslintReactPlugin.configs["web-api"].plugins["@eslint-react/web-api"],
|
|
133
|
+
"react": reactCompatPlugin,
|
|
51
134
|
"react-you-might-not-need-an-effect": reactEffectPlugin,
|
|
52
135
|
"regexp": regexpPlugin,
|
|
53
136
|
"security": securityPlugin,
|
|
@@ -92,7 +175,6 @@ export default [
|
|
|
92
175
|
}
|
|
93
176
|
],
|
|
94
177
|
"@typescript-eslint/dot-notation": "error",
|
|
95
|
-
"@typescript-eslint/explicit-member-accessibility": "error",
|
|
96
178
|
"@typescript-eslint/member-ordering": [
|
|
97
179
|
"warn",
|
|
98
180
|
{
|
|
@@ -289,7 +371,12 @@ export default [
|
|
|
289
371
|
"@typescript-eslint/no-for-in-array": "error",
|
|
290
372
|
"@typescript-eslint/no-implied-eval": "error",
|
|
291
373
|
"@typescript-eslint/no-meaningless-void-operator": "error",
|
|
292
|
-
"@typescript-eslint/no-misused-promises":
|
|
374
|
+
"@typescript-eslint/no-misused-promises": [
|
|
375
|
+
"error",
|
|
376
|
+
{
|
|
377
|
+
"checksVoidReturn": false
|
|
378
|
+
}
|
|
379
|
+
],
|
|
293
380
|
"@typescript-eslint/no-misused-spread": "error",
|
|
294
381
|
"@typescript-eslint/no-mixed-enums": "error",
|
|
295
382
|
"@typescript-eslint/no-redundant-type-constituents": "error",
|
|
@@ -388,13 +475,22 @@ export default [
|
|
|
388
475
|
"de-morgan/no-negated-conjunction": "error",
|
|
389
476
|
"de-morgan/no-negated-disjunction": "error",
|
|
390
477
|
"default-case-last": "error",
|
|
391
|
-
"eqeqeq":
|
|
478
|
+
"eqeqeq": [
|
|
479
|
+
"error",
|
|
480
|
+
"smart"
|
|
481
|
+
],
|
|
392
482
|
"grouped-accessor-pairs": [
|
|
393
483
|
"error",
|
|
394
484
|
"getBeforeSet"
|
|
395
485
|
],
|
|
396
486
|
"guard-for-in": "error",
|
|
397
487
|
"import/newline-after-import": "error",
|
|
488
|
+
"import/no-extraneous-dependencies": [
|
|
489
|
+
"error",
|
|
490
|
+
{
|
|
491
|
+
"includeTypes": true
|
|
492
|
+
}
|
|
493
|
+
],
|
|
398
494
|
"import/no-useless-path-segments": "error",
|
|
399
495
|
"jsdoc/check-alignment": "error",
|
|
400
496
|
"jsdoc/check-param-names": "error",
|
|
@@ -439,7 +535,7 @@ export default [
|
|
|
439
535
|
"max-lines-per-function": [
|
|
440
536
|
"error",
|
|
441
537
|
{
|
|
442
|
-
"max":
|
|
538
|
+
"max": 100,
|
|
443
539
|
"skipBlankLines": true,
|
|
444
540
|
"skipComments": true
|
|
445
541
|
}
|
|
@@ -471,6 +567,7 @@ export default [
|
|
|
471
567
|
"no-extra-bind": "error",
|
|
472
568
|
"no-fallthrough": "error",
|
|
473
569
|
"no-implicit-coercion": "error",
|
|
570
|
+
"no-implicit-globals": "error",
|
|
474
571
|
"no-labels": "error",
|
|
475
572
|
"no-lone-blocks": "error",
|
|
476
573
|
"no-lonely-if": "error",
|
|
@@ -500,18 +597,29 @@ export default [
|
|
|
500
597
|
],
|
|
501
598
|
"no-script-url": "error",
|
|
502
599
|
"no-self-compare": "error",
|
|
503
|
-
"no-sequences":
|
|
600
|
+
"no-sequences": [
|
|
601
|
+
"error",
|
|
602
|
+
{
|
|
603
|
+
"allowInParentheses": false
|
|
604
|
+
}
|
|
605
|
+
],
|
|
504
606
|
"no-template-curly-in-string": "error",
|
|
505
607
|
"no-unmodified-loop-condition": "error",
|
|
506
608
|
"no-unneeded-ternary": "error",
|
|
507
609
|
"no-unreachable-loop": "error",
|
|
508
610
|
"no-useless-assignment": "error",
|
|
509
611
|
"no-useless-call": "error",
|
|
510
|
-
"no-useless-computed-key":
|
|
612
|
+
"no-useless-computed-key": [
|
|
613
|
+
"error",
|
|
614
|
+
{
|
|
615
|
+
"enforceForClassMembers": true
|
|
616
|
+
}
|
|
617
|
+
],
|
|
511
618
|
"no-useless-concat": "error",
|
|
512
619
|
"no-useless-return": "error",
|
|
513
620
|
"no-var": "error",
|
|
514
621
|
"no-warning-comments": "warn",
|
|
622
|
+
"node/handle-callback-err": "error",
|
|
515
623
|
"node/hashbang": "error",
|
|
516
624
|
"node/no-deprecated-api": "error",
|
|
517
625
|
"node/no-exports-assign": "error",
|
|
@@ -540,10 +648,12 @@ export default [
|
|
|
540
648
|
],
|
|
541
649
|
"node/prefer-promises/dns": "error",
|
|
542
650
|
"node/prefer-promises/fs": "error",
|
|
651
|
+
"node/process-exit-as-throw": "error",
|
|
543
652
|
"object-shorthand": [
|
|
544
653
|
"error",
|
|
545
654
|
"always",
|
|
546
655
|
{
|
|
656
|
+
"avoidExplicitReturnArrows": true,
|
|
547
657
|
"avoidQuotes": true
|
|
548
658
|
}
|
|
549
659
|
],
|
|
@@ -578,14 +688,10 @@ export default [
|
|
|
578
688
|
"allowNamedFunctions": true
|
|
579
689
|
}
|
|
580
690
|
],
|
|
581
|
-
"prefer-const":
|
|
582
|
-
"error",
|
|
583
|
-
{
|
|
584
|
-
"destructuring": "all"
|
|
585
|
-
}
|
|
586
|
-
],
|
|
691
|
+
"prefer-const": "error",
|
|
587
692
|
"prefer-exponentiation-operator": "error",
|
|
588
693
|
"prefer-named-capture-group": "error",
|
|
694
|
+
"prefer-numeric-literals": "error",
|
|
589
695
|
"prefer-object-has-own": "error",
|
|
590
696
|
"prefer-object-spread": "error",
|
|
591
697
|
"prefer-regex-literals": "error",
|
|
@@ -594,19 +700,6 @@ export default [
|
|
|
594
700
|
"prefer-template": "error",
|
|
595
701
|
"preserve-caught-error": "error",
|
|
596
702
|
"radix": "error",
|
|
597
|
-
"react-dom/no-dangerously-set-innerhtml": "warn",
|
|
598
|
-
"react-dom/no-dangerously-set-innerhtml-with-children": "error",
|
|
599
|
-
"react-dom/no-missing-button-type": "error",
|
|
600
|
-
"react-dom/no-missing-iframe-sandbox": "error",
|
|
601
|
-
"react-dom/no-string-style-prop": "error",
|
|
602
|
-
"react-dom/no-unknown-property": "error",
|
|
603
|
-
"react-dom/no-unsafe-target-blank": "error",
|
|
604
|
-
"react-dom/no-void-elements-with-children": "error",
|
|
605
|
-
"react-hooks/rules-of-hooks": "error",
|
|
606
|
-
"react-web-api/no-leaked-event-listener": "error",
|
|
607
|
-
"react-web-api/no-leaked-interval": "error",
|
|
608
|
-
"react-web-api/no-leaked-resize-observer": "error",
|
|
609
|
-
"react-web-api/no-leaked-timeout": "error",
|
|
610
703
|
"react-you-might-not-need-an-effect/no-adjust-state-on-prop-change": "warn",
|
|
611
704
|
"react-you-might-not-need-an-effect/no-chain-state-updates": "error",
|
|
612
705
|
"react-you-might-not-need-an-effect/no-derived-state": "error",
|
|
@@ -616,19 +709,62 @@ export default [
|
|
|
616
709
|
"react-you-might-not-need-an-effect/no-pass-data-to-parent": "error",
|
|
617
710
|
"react-you-might-not-need-an-effect/no-pass-live-state-to-parent": "error",
|
|
618
711
|
"react-you-might-not-need-an-effect/no-reset-all-state-on-prop-change": "error",
|
|
619
|
-
"react/
|
|
712
|
+
"react/component-hook-factories": "error",
|
|
713
|
+
"react/context-name": "warn",
|
|
714
|
+
"react/destructuring-assignment": "warn",
|
|
715
|
+
"react/error-boundaries": "error",
|
|
716
|
+
"react/exhaustive-deps": "warn",
|
|
717
|
+
"react/function-definition": "error",
|
|
718
|
+
"react/id-name": "warn",
|
|
719
|
+
"react/jsx-key-before-spread": "error",
|
|
720
|
+
"react/jsx-no-children-prop-with-children": "error",
|
|
721
|
+
"react/jsx-no-leaked-render": "error",
|
|
722
|
+
"react/jsx-no-leaked-semicolon": "warn",
|
|
620
723
|
"react/no-access-state-in-setstate": "error",
|
|
724
|
+
"react/no-children-count": "warn",
|
|
725
|
+
"react/no-children-for-each": "warn",
|
|
726
|
+
"react/no-children-map": "warn",
|
|
727
|
+
"react/no-children-only": "warn",
|
|
728
|
+
"react/no-children-to-array": "warn",
|
|
729
|
+
"react/no-class-component": "error",
|
|
730
|
+
"react/no-component-will-mount": "error",
|
|
731
|
+
"react/no-component-will-receive-props": "error",
|
|
732
|
+
"react/no-component-will-update": "error",
|
|
621
733
|
"react/no-context-provider": "error",
|
|
734
|
+
"react/no-create-ref": "error",
|
|
735
|
+
"react/no-did-update-set-state": "warn",
|
|
622
736
|
"react/no-duplicate-key": "error",
|
|
623
|
-
"react/no-
|
|
624
|
-
"react/no-
|
|
625
|
-
"react/no-
|
|
626
|
-
"react/no-
|
|
627
|
-
"react/no-
|
|
628
|
-
"react/no-
|
|
737
|
+
"react/no-flush-sync": "error",
|
|
738
|
+
"react/no-hydrate": "error",
|
|
739
|
+
"react/no-implicit-key": "error",
|
|
740
|
+
"react/no-leaked-event-listener": "error",
|
|
741
|
+
"react/no-leaked-interval": "error",
|
|
742
|
+
"react/no-leaked-resize-observer": "error",
|
|
743
|
+
"react/no-leaked-timeout": "error",
|
|
744
|
+
"react/no-misused-capture-owner-stack": "error",
|
|
745
|
+
"react/no-nested-lazy-component-declarations": "error",
|
|
746
|
+
"react/no-object-type-as-default-prop": "error",
|
|
747
|
+
"react/no-render": "error",
|
|
748
|
+
"react/no-unnecessary-use-callback": "warn",
|
|
749
|
+
"react/no-unnecessary-use-memo": "warn",
|
|
750
|
+
"react/no-unnecessary-use-prefix": "warn",
|
|
751
|
+
"react/no-unsafe-component-will-mount": "warn",
|
|
752
|
+
"react/no-unsafe-component-will-receive-props": "warn",
|
|
753
|
+
"react/no-unsafe-component-will-update": "warn",
|
|
754
|
+
"react/no-unsafe-iframe-sandbox": "warn",
|
|
755
|
+
"react/no-unstable-nested-components": "error",
|
|
756
|
+
"react/no-unused-class-component-members": "warn",
|
|
757
|
+
"react/no-unused-props": "warn",
|
|
629
758
|
"react/no-unused-state": "error",
|
|
630
759
|
"react/no-use-context": "error",
|
|
631
|
-
"react/no-
|
|
760
|
+
"react/no-use-form-state": "error",
|
|
761
|
+
"react/purity": "warn",
|
|
762
|
+
"react/ref-name": "warn",
|
|
763
|
+
"react/rules-of-hooks": "error",
|
|
764
|
+
"react/set-state-in-effect": "warn",
|
|
765
|
+
"react/set-state-in-render": "error",
|
|
766
|
+
"react/unsupported-syntax": "error",
|
|
767
|
+
"react/use-memo": "error",
|
|
632
768
|
"regexp/confusing-quantifier": "warn",
|
|
633
769
|
"regexp/control-character-escape": "error",
|
|
634
770
|
"regexp/match-any": "error",
|
|
@@ -756,7 +892,6 @@ export default [
|
|
|
756
892
|
"sonarjs/public-static-readonly": "error",
|
|
757
893
|
"sonarjs/reduce-initial-value": "error",
|
|
758
894
|
"symbol-description": "error",
|
|
759
|
-
"unicorn/custom-error-definition": "error",
|
|
760
895
|
"unicorn/no-array-push-push": "error",
|
|
761
896
|
"unicorn/no-for-loop": "error",
|
|
762
897
|
"unicorn/prefer-export-from": [
|
|
@@ -765,7 +900,6 @@ export default [
|
|
|
765
900
|
"ignoreUsedVariables": true
|
|
766
901
|
}
|
|
767
902
|
],
|
|
768
|
-
"unicorn/prefer-import-meta-properties": "error",
|
|
769
903
|
"unicorn/prefer-switch": [
|
|
770
904
|
"error",
|
|
771
905
|
{
|
|
@@ -785,12 +919,17 @@ export default [
|
|
|
785
919
|
rules: {
|
|
786
920
|
"@typescript-eslint/await-thenable": "off",
|
|
787
921
|
"@typescript-eslint/consistent-return": "off",
|
|
922
|
+
"@typescript-eslint/consistent-type-exports": "off",
|
|
788
923
|
"@typescript-eslint/dot-notation": "off",
|
|
924
|
+
"@typescript-eslint/member-ordering": "off",
|
|
925
|
+
"@typescript-eslint/method-signature-style": "off",
|
|
926
|
+
"@typescript-eslint/naming-convention": "off",
|
|
789
927
|
"@typescript-eslint/no-array-delete": "off",
|
|
790
928
|
"@typescript-eslint/no-base-to-string": "off",
|
|
791
929
|
"@typescript-eslint/no-confusing-void-expression": "off",
|
|
792
930
|
"@typescript-eslint/no-deprecated": "off",
|
|
793
931
|
"@typescript-eslint/no-duplicate-type-constituents": "off",
|
|
932
|
+
"@typescript-eslint/no-floating-promises": "off",
|
|
794
933
|
"@typescript-eslint/no-for-in-array": "off",
|
|
795
934
|
"@typescript-eslint/no-implied-eval": "off",
|
|
796
935
|
"@typescript-eslint/no-meaningless-void-operator": "off",
|
|
@@ -812,6 +951,7 @@ export default [
|
|
|
812
951
|
"@typescript-eslint/no-unsafe-enum-comparison": "off",
|
|
813
952
|
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
814
953
|
"@typescript-eslint/no-unsafe-return": "off",
|
|
954
|
+
"@typescript-eslint/no-unsafe-type-assertion": "off",
|
|
815
955
|
"@typescript-eslint/no-unsafe-unary-minus": "off",
|
|
816
956
|
"@typescript-eslint/no-useless-default-assignment": "off",
|
|
817
957
|
"@typescript-eslint/non-nullable-type-assertion-style": "off",
|
|
@@ -822,26 +962,46 @@ export default [
|
|
|
822
962
|
"@typescript-eslint/prefer-nullish-coalescing": "off",
|
|
823
963
|
"@typescript-eslint/prefer-optional-chain": "off",
|
|
824
964
|
"@typescript-eslint/prefer-promise-reject-errors": "off",
|
|
965
|
+
"@typescript-eslint/prefer-readonly": "off",
|
|
825
966
|
"@typescript-eslint/prefer-readonly-parameter-types": "off",
|
|
826
967
|
"@typescript-eslint/prefer-reduce-type-parameter": "off",
|
|
827
968
|
"@typescript-eslint/prefer-regexp-exec": "off",
|
|
828
969
|
"@typescript-eslint/prefer-return-this-type": "off",
|
|
829
970
|
"@typescript-eslint/prefer-string-starts-ends-with": "off",
|
|
971
|
+
"@typescript-eslint/promise-function-async": "off",
|
|
830
972
|
"@typescript-eslint/related-getter-setter-pairs": "off",
|
|
973
|
+
"@typescript-eslint/require-array-sort-compare": "off",
|
|
831
974
|
"@typescript-eslint/require-await": "off",
|
|
832
975
|
"@typescript-eslint/restrict-plus-operands": "off",
|
|
833
976
|
"@typescript-eslint/restrict-template-expressions": "off",
|
|
834
977
|
"@typescript-eslint/return-await": "off",
|
|
835
978
|
"@typescript-eslint/strict-boolean-expressions": "off",
|
|
836
979
|
"@typescript-eslint/strict-void-return": "off",
|
|
980
|
+
"@typescript-eslint/switch-exhaustiveness-check": "off",
|
|
837
981
|
"@typescript-eslint/unbound-method": "off",
|
|
838
982
|
"@typescript-eslint/use-unknown-in-catch-callback-variable": "off",
|
|
983
|
+
"dot-notation": "off",
|
|
839
984
|
"getter-return": "error",
|
|
985
|
+
"no-array-constructor": "off",
|
|
840
986
|
"no-dupe-args": "error",
|
|
987
|
+
"no-empty-function": "off",
|
|
988
|
+
"no-implied-eval": "off",
|
|
841
989
|
"no-new-symbol": "off",
|
|
842
990
|
"no-redeclare": "error",
|
|
991
|
+
"no-return-await": "off",
|
|
992
|
+
"no-shadow": "off",
|
|
993
|
+
"no-throw-literal": "off",
|
|
843
994
|
"no-undef": "error",
|
|
844
|
-
"no-unreachable": "error"
|
|
995
|
+
"no-unreachable": "error",
|
|
996
|
+
"no-useless-constructor": "off",
|
|
997
|
+
"prefer-const": [
|
|
998
|
+
"error",
|
|
999
|
+
{
|
|
1000
|
+
"destructuring": "all"
|
|
1001
|
+
}
|
|
1002
|
+
],
|
|
1003
|
+
"prefer-promise-reject-errors": "off",
|
|
1004
|
+
"require-await": "off"
|
|
845
1005
|
},
|
|
846
1006
|
},
|
|
847
1007
|
|
|
@@ -888,8 +1048,7 @@ export default [
|
|
|
888
1048
|
"vitest/prefer-strict-equal": "error",
|
|
889
1049
|
"vitest/prefer-to-be": "error",
|
|
890
1050
|
"vitest/prefer-to-have-length": "error",
|
|
891
|
-
"vitest/require-top-level-describe": "error"
|
|
892
|
-
"vitest/valid-title": "error"
|
|
1051
|
+
"vitest/require-top-level-describe": "error"
|
|
893
1052
|
},
|
|
894
1053
|
},
|
|
895
1054
|
|
|
@@ -1070,7 +1229,87 @@ export default [
|
|
|
1070
1229
|
// Markdown/MDX code block linting
|
|
1071
1230
|
{
|
|
1072
1231
|
...mdxPlugin.flatCodeBlocks,
|
|
1232
|
+
languageOptions: {
|
|
1233
|
+
...mdxPlugin.flatCodeBlocks.languageOptions,
|
|
1234
|
+
parserOptions: {
|
|
1235
|
+
...mdxPlugin.flatCodeBlocks.languageOptions?.parserOptions,
|
|
1236
|
+
projectService: false,
|
|
1237
|
+
},
|
|
1238
|
+
},
|
|
1073
1239
|
rules: {
|
|
1240
|
+
...{
|
|
1241
|
+
"@typescript-eslint/await-thenable": "off",
|
|
1242
|
+
"@typescript-eslint/consistent-type-exports": "off",
|
|
1243
|
+
"@typescript-eslint/dot-notation": "off",
|
|
1244
|
+
"@typescript-eslint/member-ordering": "off",
|
|
1245
|
+
"@typescript-eslint/method-signature-style": "off",
|
|
1246
|
+
"@typescript-eslint/naming-convention": "off",
|
|
1247
|
+
"@typescript-eslint/no-array-delete": "off",
|
|
1248
|
+
"@typescript-eslint/no-base-to-string": "off",
|
|
1249
|
+
"@typescript-eslint/no-confusing-void-expression": "off",
|
|
1250
|
+
"@typescript-eslint/no-deprecated": "off",
|
|
1251
|
+
"@typescript-eslint/no-duplicate-type-constituents": "off",
|
|
1252
|
+
"@typescript-eslint/no-floating-promises": "off",
|
|
1253
|
+
"@typescript-eslint/no-for-in-array": "off",
|
|
1254
|
+
"@typescript-eslint/no-implied-eval": "off",
|
|
1255
|
+
"@typescript-eslint/no-meaningless-void-operator": "off",
|
|
1256
|
+
"@typescript-eslint/no-misused-spread": "off",
|
|
1257
|
+
"@typescript-eslint/no-mixed-enums": "off",
|
|
1258
|
+
"@typescript-eslint/no-redundant-type-constituents": "off",
|
|
1259
|
+
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "off",
|
|
1260
|
+
"@typescript-eslint/no-unnecessary-condition": "off",
|
|
1261
|
+
"@typescript-eslint/no-unnecessary-qualifier": "off",
|
|
1262
|
+
"@typescript-eslint/no-unnecessary-template-expression": "off",
|
|
1263
|
+
"@typescript-eslint/no-unnecessary-type-arguments": "off",
|
|
1264
|
+
"@typescript-eslint/no-unnecessary-type-assertion": "off",
|
|
1265
|
+
"@typescript-eslint/no-unnecessary-type-conversion": "off",
|
|
1266
|
+
"@typescript-eslint/no-unnecessary-type-parameters": "off",
|
|
1267
|
+
"@typescript-eslint/no-unsafe-argument": "off",
|
|
1268
|
+
"@typescript-eslint/no-unsafe-assignment": "off",
|
|
1269
|
+
"@typescript-eslint/no-unsafe-call": "off",
|
|
1270
|
+
"@typescript-eslint/no-unsafe-enum-comparison": "off",
|
|
1271
|
+
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
1272
|
+
"@typescript-eslint/no-unsafe-return": "off",
|
|
1273
|
+
"@typescript-eslint/no-unsafe-type-assertion": "off",
|
|
1274
|
+
"@typescript-eslint/no-unsafe-unary-minus": "off",
|
|
1275
|
+
"@typescript-eslint/no-useless-default-assignment": "off",
|
|
1276
|
+
"@typescript-eslint/non-nullable-type-assertion-style": "off",
|
|
1277
|
+
"@typescript-eslint/only-throw-error": "off",
|
|
1278
|
+
"@typescript-eslint/prefer-find": "off",
|
|
1279
|
+
"@typescript-eslint/prefer-includes": "off",
|
|
1280
|
+
"@typescript-eslint/prefer-nullish-coalescing": "off",
|
|
1281
|
+
"@typescript-eslint/prefer-optional-chain": "off",
|
|
1282
|
+
"@typescript-eslint/prefer-promise-reject-errors": "off",
|
|
1283
|
+
"@typescript-eslint/prefer-readonly": "off",
|
|
1284
|
+
"@typescript-eslint/prefer-reduce-type-parameter": "off",
|
|
1285
|
+
"@typescript-eslint/prefer-regexp-exec": "off",
|
|
1286
|
+
"@typescript-eslint/prefer-return-this-type": "off",
|
|
1287
|
+
"@typescript-eslint/prefer-string-starts-ends-with": "off",
|
|
1288
|
+
"@typescript-eslint/promise-function-async": "off",
|
|
1289
|
+
"@typescript-eslint/related-getter-setter-pairs": "off",
|
|
1290
|
+
"@typescript-eslint/require-array-sort-compare": "off",
|
|
1291
|
+
"@typescript-eslint/require-await": "off",
|
|
1292
|
+
"@typescript-eslint/restrict-plus-operands": "off",
|
|
1293
|
+
"@typescript-eslint/restrict-template-expressions": "off",
|
|
1294
|
+
"@typescript-eslint/return-await": "off",
|
|
1295
|
+
"@typescript-eslint/strict-boolean-expressions": "off",
|
|
1296
|
+
"@typescript-eslint/strict-void-return": "off",
|
|
1297
|
+
"@typescript-eslint/switch-exhaustiveness-check": "off",
|
|
1298
|
+
"@typescript-eslint/unbound-method": "off",
|
|
1299
|
+
"@typescript-eslint/use-unknown-in-catch-callback-variable": "off",
|
|
1300
|
+
"dot-notation": "off",
|
|
1301
|
+
"no-array-constructor": "off",
|
|
1302
|
+
"no-empty-function": "off",
|
|
1303
|
+
"no-implied-eval": "off",
|
|
1304
|
+
"no-return-await": "off",
|
|
1305
|
+
"no-shadow": "off",
|
|
1306
|
+
"no-throw-literal": "off",
|
|
1307
|
+
"no-useless-constructor": "off",
|
|
1308
|
+
"prefer-promise-reject-errors": "off",
|
|
1309
|
+
"require-await": "off",
|
|
1310
|
+
"strict": "off",
|
|
1311
|
+
"unicode-bom": "off"
|
|
1312
|
+
},
|
|
1074
1313
|
...mdxPlugin.flatCodeBlocks.rules,
|
|
1075
1314
|
"eol-last": "off",
|
|
1076
1315
|
"no-undef": "off",
|